@linzumi/cli 1.0.209 → 1.0.210

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 xb=Object.create;var Zi=Object.defineProperty;var Sb=Object.getOwnPropertyDescriptor;var $b=Object.getOwnPropertyNames;var zb=Object.getPrototypeOf,Pb=Object.prototype.hasOwnProperty;var P=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ui=(e,t)=>{for(var r in t)Zi(e,r,{get:t[r],enumerable:!0})},Tb=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of $b(t))!Pb.call(e,o)&&o!==r&&Zi(e,o,{get:()=>t[o],enumerable:!(n=Sb(t,o))||n.enumerable});return e};var Yl=(e,t,r)=>(r=e!=null?xb(zb(e)):{},Tb(t||!e||!e.__esModule?Zi(r,"default",{value:e,enumerable:!0}):r,e));var io=P(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 oo=class{};X._CodeOrName=oo;X.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Rr=class extends oo{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=Rr;var nt=class extends oo{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof Rr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};X._Code=nt;X.nil=new nt("");function Kf(e,...t){let r=[e[0]],n=0;for(;n<t.length;)xd(r,t[n]),r.push(e[++n]);return new nt(r)}X._=Kf;var kd=new nt("+");function Gf(e,...t){let r=[so(e[0])],n=0;for(;n<t.length;)r.push(kd),xd(r,t[n]),r.push(kd,so(e[++n]));return zS(r),new nt(r)}X.str=Gf;function xd(e,t){t instanceof nt?e.push(...t._items):t instanceof Rr?e.push(t):e.push(RS(t))}X.addCodeArg=xd;function zS(e){let t=1;for(;t<e.length-1;){if(e[t]===kd){let r=PS(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function PS(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Rr||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 Rr))return`"${e}${t.slice(1)}`}function TS(e,t){return t.emptyStr()?e:e.emptyStr()?t:Gf`${e}${t}`}X.strConcat=TS;function RS(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:so(Array.isArray(e)?e.join(","):e)}function jS(e){return new nt(so(e))}X.stringify=jS;function so(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}X.safeStringify=so;function OS(e){return typeof e=="string"&&X.IDENTIFIER.test(e)?new nt(`.${e}`):Kf`[${e}]`}X.getProperty=OS;function ES(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=ES;function IS(e){return new nt(e.toString())}X.regexpCode=IS});var zd=P(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.ValueScope=Je.ValueScopeName=Je.Scope=Je.varKinds=Je.UsedValueState=void 0;var qe=io(),Sd=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Js;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Js||(Je.UsedValueState=Js={}));Je.varKinds={const:new qe.Name("const"),let:new qe.Name("let"),var:new qe.Name("var")};var Fs=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof qe.Name?t:this.name(t)}name(t){return new qe.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Je.Scope=Fs;var Vs=class extends qe.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,qe._)`.${new qe.Name(r)}[${n}]`}};Je.ValueScopeName=Vs;var CS=(0,qe._)`\n`,$d=class extends Fs{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?CS:qe.nil}}get(){return this._scope}name(t){return new Vs(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let u=a.get(i);if(u)return u}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),d=c.length;return c[d]=r.ref,o.setValue(r,{property:s,itemIndex:d}),o}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,qe._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let s=qe.nil;for(let i in t){let a=t[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(d=>{if(c.has(d))return;c.set(d,Js.Started);let u=r(d);if(u){let l=this.opts.es5?Je.varKinds.var:Je.varKinds.const;s=(0,qe._)`${s}${l} ${d} = ${u};${this.opts._n}`}else if(u=o?.(d))s=(0,qe._)`${s}${u}${this.opts._n}`;else throw new Sd(d);c.set(d,Js.Completed)})}return s}};Je.ValueScope=$d});var F=P(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=io(),lt=zd(),Gt=io();Object.defineProperty(V,"_",{enumerable:!0,get:function(){return Gt._}});Object.defineProperty(V,"str",{enumerable:!0,get:function(){return Gt.str}});Object.defineProperty(V,"strConcat",{enumerable:!0,get:function(){return Gt.strConcat}});Object.defineProperty(V,"nil",{enumerable:!0,get:function(){return Gt.nil}});Object.defineProperty(V,"getProperty",{enumerable:!0,get:function(){return Gt.getProperty}});Object.defineProperty(V,"stringify",{enumerable:!0,get:function(){return Gt.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:!0,get:function(){return Gt.regexpCode}});Object.defineProperty(V,"Name",{enumerable:!0,get:function(){return Gt.Name}});var Ks=zd();Object.defineProperty(V,"Scope",{enumerable:!0,get:function(){return Ks.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:!0,get:function(){return Ks.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:!0,get:function(){return Ks.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:!0,get:function(){return Ks.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 It=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Pd=class extends It{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?lt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=pn(this.rhs,t,r)),this}get names(){return this.rhs instanceof Q._CodeOrName?this.rhs.names:{}}},Bs=class extends It{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof Q.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=pn(this.rhs,t,r),this}get names(){let t=this.lhs instanceof Q.Name?{}:{...this.lhs.names};return Hs(t,this.rhs)}},Td=class extends Bs{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Rd=class extends It{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},jd=class extends It{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Od=class extends It{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Ed=class extends It{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=pn(this.code,t,r),this}get names(){return this.code instanceof Q._CodeOrName?this.code.names:{}}},ao=class extends It{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(t,r)||(AS(t,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Er(t,r.names),{})}},Ct=class extends ao{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Id=class extends ao{},ln=class extends Ct{};ln.kind="else";var jr=class e extends Ct{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ln(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Qf(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=pn(this.condition,t,r),this}get names(){let t=super.names;return Hs(t,this.condition),this.else&&Er(t,this.else.names),t}};jr.kind="if";var Or=class extends Ct{};Or.kind="for";var Cd=class extends Or{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=pn(this.iteration,t,r),this}get names(){return Er(super.names,this.iteration.names)}},Ad=class extends Or{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?lt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(t)}get names(){let t=Hs(super.names,this.from);return Hs(t,this.to)}},Ws=class extends Or{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=pn(this.iterable,t,r),this}get names(){return Er(super.names,this.iterable.names)}},co=class extends Ct{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};co.kind="func";var uo=class extends ao{render(t){return"return "+super.render(t)}};uo.kind="return";var Md=class extends Ct{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Er(t,this.catch.names),this.finally&&Er(t,this.finally.names),t}},lo=class extends Ct{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};lo.kind="catch";var po=class extends Ct{render(t){return"finally"+super.render(t)}};po.kind="finally";var Nd=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
- `:""},this._extScope=t,this._scope=new lt.Scope({parent:t}),this._nodes=[new Id]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new Pd(t,s,n)),s}const(t,r,n){return this._def(lt.varKinds.const,t,r,n)}let(t,r,n){return this._def(lt.varKinds.let,t,r,n)}var(t,r,n){return this._def(lt.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Bs(t,r,n))}add(t,r){return this._leafNode(new Td(t,V.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==Q.nil&&this._leafNode(new Ed(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,Q.addCodeArg)(r,o));return r.push("}"),new Q._Code(r)}if(t,r,n){if(this._blockNode(new jr(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new jr(t))}else(){return this._elseNode(new ln)}endIf(){return this._endBlockNode(jr,ln)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Cd(t),r)}forRange(t,r,n,o,s=this.opts.es5?lt.varKinds.var:lt.varKinds.let){let i=this._scope.toName(t);return this._for(new Ad(s,i,r,n),()=>o(i))}forOf(t,r,n,o=lt.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=r instanceof Q.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Q._)`${i}.length`,a=>{this.var(s,(0,Q._)`${i}[${a}]`),n(s)})}return this._for(new Ws("of",o,s,r),()=>n(s))}forIn(t,r,n,o=this.opts.es5?lt.varKinds.var:lt.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,Q._)`Object.keys(${r})`,n);let s=this._scope.toName(t);return this._for(new Ws("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Or)}label(t){return this._leafNode(new Rd(t))}break(t){return this._leafNode(new jd(t))}return(t){let r=new uo;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(uo)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Md;if(this._blockNode(o),this.code(t),r){let s=this.name("e");this._currNode=o.catch=new lo(s),r(s)}return n&&(this._currNode=o.finally=new po,this.code(n)),this._endBlockNode(lo,po)}throw(t){return this._leafNode(new Od(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=Q.nil,n,o){return this._blockNode(new co(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(co)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof jr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};V.CodeGen=Nd;function Er(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Hs(e,t){return t instanceof Q._CodeOrName?Er(e,t.names):e}function pn(e,t,r){if(e instanceof Q.Name)return n(e);if(!o(e))return e;return new Q._Code(e._items.reduce((s,i)=>(i instanceof Q.Name&&(i=n(i)),i instanceof Q._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof Q._Code&&s._items.some(i=>i instanceof Q.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function AS(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Qf(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Q._)`!${Dd(e)}`}V.not=Qf;var MS=Yf(V.operators.AND);function NS(...e){return e.reduce(MS)}V.and=NS;var DS=Yf(V.operators.OR);function LS(...e){return e.reduce(DS)}V.or=LS;function Yf(e){return(t,r)=>t===Q.nil?r:r===Q.nil?t:(0,Q._)`${Dd(t)} ${e} ${Dd(r)}`}function Dd(e){return e instanceof Q.Name?e:(0,Q._)`(${e})`}});var ee=P(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(),ZS=io();function US(e){let t={};for(let r of e)t[r]=!0;return t}B.toHash=US;function qS(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(th(e,t),!rh(t,e.self.RULES.all))}B.alwaysValidSchema=qS;function th(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let s in t)o[s]||sh(e,`unknown keyword: "${s}"`)}B.checkUnknownRules=th;function rh(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}B.schemaHasRules=rh;function JS(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}B.schemaHasRulesButRef=JS;function FS({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,se._)`${r}`}return(0,se._)`${e}${t}${(0,se.getProperty)(n)}`}B.schemaRefOrVal=FS;function VS(e){return nh(decodeURIComponent(e))}B.unescapeFragment=VS;function BS(e){return encodeURIComponent(Zd(e))}B.escapeFragment=BS;function Zd(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}B.escapeJsonPointer=Zd;function nh(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}B.unescapeJsonPointer=nh;function WS(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}B.eachItem=WS;function Xf({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?e(o,s,i):t(o,s,i),i):s instanceof se.Name?(t(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}B.mergeEvaluated={props:Xf({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,se._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,se._)`${r} || {}`),Ud(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:oh}),items:Xf({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,se._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,se._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function oh(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,se._)`{}`);return t!==void 0&&Ud(e,r,t),r}B.evaluatedPropsToName=oh;function Ud(e,t,r){Object.keys(r).forEach(n=>e.assign((0,se._)`${t}${(0,se.getProperty)(n)}`,!0))}B.setEvaluated=Ud;var eh={};function HS(e,t){return e.scopeValue("func",{ref:t,code:eh[t.code]||(eh[t.code]=new ZS._Code(t.code))})}B.useFunc=HS;var Ld;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Ld||(B.Type=Ld={}));function KS(e,t,r){if(e instanceof se.Name){let n=t===Ld.Num;return r?n?(0,se._)`"[" + ${e} + "]"`:(0,se._)`"['" + ${e} + "']"`:n?(0,se._)`"/" + ${e}`:(0,se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(e).toString():"/"+Zd(e)}B.getErrorPath=KS;function sh(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}B.checkStrictMode=sh});var At=P(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var je=F(),GS={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")};qd.default=GS});var mo=P(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(),Gs=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 QS(e,t=Oe.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=ch(e,t,r);n??(i||a)?ih(s,c):ah(o,(0,Y._)`[${c}]`)}Oe.reportError=QS;function YS(e,t=Oe.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=ch(e,t,r);ih(o,a),s||i||ah(n,Me.default.vErrors)}Oe.reportExtraError=YS;function XS(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=XS;function e0({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,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`,r),e.assign((0,Y._)`${i}.data`,n))})}Oe.extendErrors=e0;function ih(e,t){let r=e.const("err",t);e.if((0,Y._)`${Me.default.vErrors} === null`,()=>e.assign(Me.default.vErrors,(0,Y._)`[${r}]`),(0,Y._)`${Me.default.vErrors}.push(${r})`),e.code((0,Y._)`${Me.default.errors}++`)}function ah(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,Y._)`new ${e.ValidationError}(${t})`):(r.assign((0,Y._)`${n}.errors`,t),r.return(!1))}var Ir={keyword:new Y.Name("keyword"),schemaPath:new Y.Name("schemaPath"),params:new Y.Name("params"),propertyName:new Y.Name("propertyName"),message:new Y.Name("message"),schema:new Y.Name("schema"),parentSchema:new Y.Name("parentSchema")};function ch(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,Y._)`{}`:t0(e,t,r)}function t0(e,t,r={}){let{gen:n,it:o}=e,s=[r0(o,r),n0(e,r)];return o0(e,t,s),n.object(...s)}function r0({errorPath:e},{instancePath:t}){let r=t?(0,Y.str)`${e}${(0,Gs.getErrorPath)(t,Gs.Type.Str)}`:e;return[Me.default.instancePath,(0,Y.strConcat)(Me.default.instancePath,r)]}function n0({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,Y.str)`${t}/${e}`;return r&&(o=(0,Y.str)`${o}${(0,Gs.getErrorPath)(r,Gs.Type.Str)}`),[Ir.schemaPath,o]}function o0(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:d,topSchemaRef:u,schemaPath:l}=a;n.push([Ir.keyword,o],[Ir.params,typeof t=="function"?t(e):t||(0,Y._)`{}`]),c.messages&&n.push([Ir.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Ir.schema,i],[Ir.parentSchema,(0,Y._)`${u}${l}`],[Me.default.data,s]),d&&n.push([Ir.propertyName,d])}});var uh=P(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.boolOrEmptySchema=mn.topBoolOrEmptySchema=void 0;var s0=mo(),i0=F(),a0=At(),c0={message:"boolean schema is false"};function d0(e){let{gen:t,schema:r,validateName:n}=e;r===!1?dh(e,!1):typeof r=="object"&&r.$async===!0?t.return(a0.default.data):(t.assign((0,i0._)`${n}.errors`,null),t.return(!0))}mn.topBoolOrEmptySchema=d0;function u0(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),dh(e)):r.var(t,!0)}mn.boolOrEmptySchema=u0;function dh(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,s0.reportError)(o,c0,void 0,t)}});var Jd=P(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.getRules=fn.isJSONType=void 0;var l0=["string","number","integer","boolean","null","object","array"],p0=new Set(l0);function m0(e){return typeof e=="string"&&p0.has(e)}fn.isJSONType=m0;function f0(){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:{}}}fn.getRules=f0});var Fd=P(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.shouldUseRule=Qt.shouldUseGroup=Qt.schemaHasRulesForType=void 0;function h0({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&lh(e,n)}Qt.schemaHasRulesForType=h0;function lh(e,t){return t.rules.some(r=>ph(e,r))}Qt.shouldUseGroup=lh;function ph(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Qt.shouldUseRule=ph});var fo=P(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.reportTypeError=Ee.checkDataTypes=Ee.checkDataType=Ee.coerceAndCheckDataType=Ee.getJSONTypes=Ee.getSchemaTypes=Ee.DataType=void 0;var g0=Jd(),y0=Fd(),_0=mo(),q=F(),mh=ee(),hn;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(hn||(Ee.DataType=hn={}));function b0(e){let t=fh(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Ee.getSchemaTypes=b0;function fh(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(g0.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Ee.getJSONTypes=fh;function v0(e,t){let{gen:r,data:n,opts:o}=e,s=w0(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,y0.schemaHasRulesForType)(e,t[0]));if(i){let a=Bd(t,n,o.strictNumbers,hn.Wrong);r.if(a,()=>{s.length?k0(e,t,s):Wd(e)})}return i}Ee.coerceAndCheckDataType=v0;var hh=new Set(["string","number","integer","boolean","null"]);function w0(e,t){return t?e.filter(r=>hh.has(r)||t==="array"&&r==="array"):[]}function k0(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",(0,q._)`typeof ${o}`),a=n.let("coerced",(0,q._)`undefined`);s.coerceTypes==="array"&&n.if((0,q._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,q._)`${o}[0]`).assign(i,(0,q._)`typeof ${o}`).if(Bd(t,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,q._)`${a} !== undefined`);for(let d of r)(hh.has(d)||d==="array"&&s.coerceTypes==="array")&&c(d);n.else(),Wd(e),n.endIf(),n.if((0,q._)`${a} !== undefined`,()=>{n.assign(o,a),x0(e,a)});function c(d){switch(d){case"string":n.elseIf((0,q._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,q._)`"" + ${o}`).elseIf((0,q._)`${o} === null`).assign(a,(0,q._)`""`);return;case"number":n.elseIf((0,q._)`${i} == "boolean" || ${o} === null
3
+ var $b=Object.create;var Zi=Object.defineProperty;var zb=Object.getOwnPropertyDescriptor;var Pb=Object.getOwnPropertyNames;var Tb=Object.getPrototypeOf,Rb=Object.prototype.hasOwnProperty;var P=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ui=(e,t)=>{for(var r in t)Zi(e,r,{get:t[r],enumerable:!0})},jb=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Pb(t))!Rb.call(e,o)&&o!==r&&Zi(e,o,{get:()=>t[o],enumerable:!(n=zb(t,o))||n.enumerable});return e};var Yl=(e,t,r)=>(r=e!=null?$b(Tb(e)):{},jb(t||!e||!e.__esModule?Zi(r,"default",{value:e,enumerable:!0}):r,e));var io=P(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 oo=class{};X._CodeOrName=oo;X.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Rr=class extends oo{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=Rr;var nt=class extends oo{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof Rr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};X._Code=nt;X.nil=new nt("");function Kf(e,...t){let r=[e[0]],n=0;for(;n<t.length;)xd(r,t[n]),r.push(e[++n]);return new nt(r)}X._=Kf;var kd=new nt("+");function Gf(e,...t){let r=[so(e[0])],n=0;for(;n<t.length;)r.push(kd),xd(r,t[n]),r.push(kd,so(e[++n]));return TS(r),new nt(r)}X.str=Gf;function xd(e,t){t instanceof nt?e.push(...t._items):t instanceof Rr?e.push(t):e.push(OS(t))}X.addCodeArg=xd;function TS(e){let t=1;for(;t<e.length-1;){if(e[t]===kd){let r=RS(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function RS(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Rr||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 Rr))return`"${e}${t.slice(1)}`}function jS(e,t){return t.emptyStr()?e:e.emptyStr()?t:Gf`${e}${t}`}X.strConcat=jS;function OS(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:so(Array.isArray(e)?e.join(","):e)}function ES(e){return new nt(so(e))}X.stringify=ES;function so(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}X.safeStringify=so;function IS(e){return typeof e=="string"&&X.IDENTIFIER.test(e)?new nt(`.${e}`):Kf`[${e}]`}X.getProperty=IS;function CS(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=CS;function AS(e){return new nt(e.toString())}X.regexpCode=AS});var zd=P(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.ValueScope=Je.ValueScopeName=Je.Scope=Je.varKinds=Je.UsedValueState=void 0;var qe=io(),Sd=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Js;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Js||(Je.UsedValueState=Js={}));Je.varKinds={const:new qe.Name("const"),let:new qe.Name("let"),var:new qe.Name("var")};var Fs=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof qe.Name?t:this.name(t)}name(t){return new qe.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Je.Scope=Fs;var Vs=class extends qe.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,qe._)`.${new qe.Name(r)}[${n}]`}};Je.ValueScopeName=Vs;var MS=(0,qe._)`\n`,$d=class extends Fs{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?MS:qe.nil}}get(){return this._scope}name(t){return new Vs(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let u=a.get(i);if(u)return u}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),d=c.length;return c[d]=r.ref,o.setValue(r,{property:s,itemIndex:d}),o}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,qe._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let s=qe.nil;for(let i in t){let a=t[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(d=>{if(c.has(d))return;c.set(d,Js.Started);let u=r(d);if(u){let l=this.opts.es5?Je.varKinds.var:Je.varKinds.const;s=(0,qe._)`${s}${l} ${d} = ${u};${this.opts._n}`}else if(u=o?.(d))s=(0,qe._)`${s}${u}${this.opts._n}`;else throw new Sd(d);c.set(d,Js.Completed)})}return s}};Je.ValueScope=$d});var F=P(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=io(),lt=zd(),Gt=io();Object.defineProperty(V,"_",{enumerable:!0,get:function(){return Gt._}});Object.defineProperty(V,"str",{enumerable:!0,get:function(){return Gt.str}});Object.defineProperty(V,"strConcat",{enumerable:!0,get:function(){return Gt.strConcat}});Object.defineProperty(V,"nil",{enumerable:!0,get:function(){return Gt.nil}});Object.defineProperty(V,"getProperty",{enumerable:!0,get:function(){return Gt.getProperty}});Object.defineProperty(V,"stringify",{enumerable:!0,get:function(){return Gt.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:!0,get:function(){return Gt.regexpCode}});Object.defineProperty(V,"Name",{enumerable:!0,get:function(){return Gt.Name}});var Ks=zd();Object.defineProperty(V,"Scope",{enumerable:!0,get:function(){return Ks.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:!0,get:function(){return Ks.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:!0,get:function(){return Ks.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:!0,get:function(){return Ks.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 It=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Pd=class extends It{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?lt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=pn(this.rhs,t,r)),this}get names(){return this.rhs instanceof Q._CodeOrName?this.rhs.names:{}}},Bs=class extends It{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof Q.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=pn(this.rhs,t,r),this}get names(){let t=this.lhs instanceof Q.Name?{}:{...this.lhs.names};return Hs(t,this.rhs)}},Td=class extends Bs{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Rd=class extends It{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},jd=class extends It{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Od=class extends It{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Ed=class extends It{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=pn(this.code,t,r),this}get names(){return this.code instanceof Q._CodeOrName?this.code.names:{}}},ao=class extends It{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(t,r)||(NS(t,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Er(t,r.names),{})}},Ct=class extends ao{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Id=class extends ao{},ln=class extends Ct{};ln.kind="else";var jr=class e extends Ct{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ln(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Qf(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=pn(this.condition,t,r),this}get names(){let t=super.names;return Hs(t,this.condition),this.else&&Er(t,this.else.names),t}};jr.kind="if";var Or=class extends Ct{};Or.kind="for";var Cd=class extends Or{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=pn(this.iteration,t,r),this}get names(){return Er(super.names,this.iteration.names)}},Ad=class extends Or{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?lt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(t)}get names(){let t=Hs(super.names,this.from);return Hs(t,this.to)}},Ws=class extends Or{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=pn(this.iterable,t,r),this}get names(){return Er(super.names,this.iterable.names)}},co=class extends Ct{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};co.kind="func";var uo=class extends ao{render(t){return"return "+super.render(t)}};uo.kind="return";var Md=class extends Ct{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Er(t,this.catch.names),this.finally&&Er(t,this.finally.names),t}},lo=class extends Ct{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};lo.kind="catch";var po=class extends Ct{render(t){return"finally"+super.render(t)}};po.kind="finally";var Nd=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
+ `:""},this._extScope=t,this._scope=new lt.Scope({parent:t}),this._nodes=[new Id]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new Pd(t,s,n)),s}const(t,r,n){return this._def(lt.varKinds.const,t,r,n)}let(t,r,n){return this._def(lt.varKinds.let,t,r,n)}var(t,r,n){return this._def(lt.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Bs(t,r,n))}add(t,r){return this._leafNode(new Td(t,V.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==Q.nil&&this._leafNode(new Ed(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,Q.addCodeArg)(r,o));return r.push("}"),new Q._Code(r)}if(t,r,n){if(this._blockNode(new jr(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new jr(t))}else(){return this._elseNode(new ln)}endIf(){return this._endBlockNode(jr,ln)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Cd(t),r)}forRange(t,r,n,o,s=this.opts.es5?lt.varKinds.var:lt.varKinds.let){let i=this._scope.toName(t);return this._for(new Ad(s,i,r,n),()=>o(i))}forOf(t,r,n,o=lt.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=r instanceof Q.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Q._)`${i}.length`,a=>{this.var(s,(0,Q._)`${i}[${a}]`),n(s)})}return this._for(new Ws("of",o,s,r),()=>n(s))}forIn(t,r,n,o=this.opts.es5?lt.varKinds.var:lt.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,Q._)`Object.keys(${r})`,n);let s=this._scope.toName(t);return this._for(new Ws("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Or)}label(t){return this._leafNode(new Rd(t))}break(t){return this._leafNode(new jd(t))}return(t){let r=new uo;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(uo)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Md;if(this._blockNode(o),this.code(t),r){let s=this.name("e");this._currNode=o.catch=new lo(s),r(s)}return n&&(this._currNode=o.finally=new po,this.code(n)),this._endBlockNode(lo,po)}throw(t){return this._leafNode(new Od(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=Q.nil,n,o){return this._blockNode(new co(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(co)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof jr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};V.CodeGen=Nd;function Er(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Hs(e,t){return t instanceof Q._CodeOrName?Er(e,t.names):e}function pn(e,t,r){if(e instanceof Q.Name)return n(e);if(!o(e))return e;return new Q._Code(e._items.reduce((s,i)=>(i instanceof Q.Name&&(i=n(i)),i instanceof Q._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof Q._Code&&s._items.some(i=>i instanceof Q.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function NS(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Qf(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Q._)`!${Dd(e)}`}V.not=Qf;var DS=Yf(V.operators.AND);function LS(...e){return e.reduce(DS)}V.and=LS;var ZS=Yf(V.operators.OR);function US(...e){return e.reduce(ZS)}V.or=US;function Yf(e){return(t,r)=>t===Q.nil?r:r===Q.nil?t:(0,Q._)`${Dd(t)} ${e} ${Dd(r)}`}function Dd(e){return e instanceof Q.Name?e:(0,Q._)`(${e})`}});var ee=P(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(),qS=io();function JS(e){let t={};for(let r of e)t[r]=!0;return t}B.toHash=JS;function FS(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(th(e,t),!rh(t,e.self.RULES.all))}B.alwaysValidSchema=FS;function th(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let s in t)o[s]||sh(e,`unknown keyword: "${s}"`)}B.checkUnknownRules=th;function rh(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}B.schemaHasRules=rh;function VS(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}B.schemaHasRulesButRef=VS;function BS({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,se._)`${r}`}return(0,se._)`${e}${t}${(0,se.getProperty)(n)}`}B.schemaRefOrVal=BS;function WS(e){return nh(decodeURIComponent(e))}B.unescapeFragment=WS;function HS(e){return encodeURIComponent(Zd(e))}B.escapeFragment=HS;function Zd(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}B.escapeJsonPointer=Zd;function nh(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}B.unescapeJsonPointer=nh;function KS(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}B.eachItem=KS;function Xf({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?e(o,s,i):t(o,s,i),i):s instanceof se.Name?(t(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}B.mergeEvaluated={props:Xf({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,se._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,se._)`${r} || {}`),Ud(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:oh}),items:Xf({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,se._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,se._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function oh(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,se._)`{}`);return t!==void 0&&Ud(e,r,t),r}B.evaluatedPropsToName=oh;function Ud(e,t,r){Object.keys(r).forEach(n=>e.assign((0,se._)`${t}${(0,se.getProperty)(n)}`,!0))}B.setEvaluated=Ud;var eh={};function GS(e,t){return e.scopeValue("func",{ref:t,code:eh[t.code]||(eh[t.code]=new qS._Code(t.code))})}B.useFunc=GS;var Ld;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Ld||(B.Type=Ld={}));function QS(e,t,r){if(e instanceof se.Name){let n=t===Ld.Num;return r?n?(0,se._)`"[" + ${e} + "]"`:(0,se._)`"['" + ${e} + "']"`:n?(0,se._)`"/" + ${e}`:(0,se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(e).toString():"/"+Zd(e)}B.getErrorPath=QS;function sh(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}B.checkStrictMode=sh});var At=P(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var je=F(),YS={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")};qd.default=YS});var mo=P(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(),Gs=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 XS(e,t=Oe.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=ch(e,t,r);n??(i||a)?ih(s,c):ah(o,(0,Y._)`[${c}]`)}Oe.reportError=XS;function e0(e,t=Oe.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=ch(e,t,r);ih(o,a),s||i||ah(n,Me.default.vErrors)}Oe.reportExtraError=e0;function t0(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=t0;function r0({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,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`,r),e.assign((0,Y._)`${i}.data`,n))})}Oe.extendErrors=r0;function ih(e,t){let r=e.const("err",t);e.if((0,Y._)`${Me.default.vErrors} === null`,()=>e.assign(Me.default.vErrors,(0,Y._)`[${r}]`),(0,Y._)`${Me.default.vErrors}.push(${r})`),e.code((0,Y._)`${Me.default.errors}++`)}function ah(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,Y._)`new ${e.ValidationError}(${t})`):(r.assign((0,Y._)`${n}.errors`,t),r.return(!1))}var Ir={keyword:new Y.Name("keyword"),schemaPath:new Y.Name("schemaPath"),params:new Y.Name("params"),propertyName:new Y.Name("propertyName"),message:new Y.Name("message"),schema:new Y.Name("schema"),parentSchema:new Y.Name("parentSchema")};function ch(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,Y._)`{}`:n0(e,t,r)}function n0(e,t,r={}){let{gen:n,it:o}=e,s=[o0(o,r),s0(e,r)];return i0(e,t,s),n.object(...s)}function o0({errorPath:e},{instancePath:t}){let r=t?(0,Y.str)`${e}${(0,Gs.getErrorPath)(t,Gs.Type.Str)}`:e;return[Me.default.instancePath,(0,Y.strConcat)(Me.default.instancePath,r)]}function s0({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,Y.str)`${t}/${e}`;return r&&(o=(0,Y.str)`${o}${(0,Gs.getErrorPath)(r,Gs.Type.Str)}`),[Ir.schemaPath,o]}function i0(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:d,topSchemaRef:u,schemaPath:l}=a;n.push([Ir.keyword,o],[Ir.params,typeof t=="function"?t(e):t||(0,Y._)`{}`]),c.messages&&n.push([Ir.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Ir.schema,i],[Ir.parentSchema,(0,Y._)`${u}${l}`],[Me.default.data,s]),d&&n.push([Ir.propertyName,d])}});var uh=P(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.boolOrEmptySchema=mn.topBoolOrEmptySchema=void 0;var a0=mo(),c0=F(),d0=At(),u0={message:"boolean schema is false"};function l0(e){let{gen:t,schema:r,validateName:n}=e;r===!1?dh(e,!1):typeof r=="object"&&r.$async===!0?t.return(d0.default.data):(t.assign((0,c0._)`${n}.errors`,null),t.return(!0))}mn.topBoolOrEmptySchema=l0;function p0(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),dh(e)):r.var(t,!0)}mn.boolOrEmptySchema=p0;function dh(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,a0.reportError)(o,u0,void 0,t)}});var Jd=P(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.getRules=fn.isJSONType=void 0;var m0=["string","number","integer","boolean","null","object","array"],f0=new Set(m0);function h0(e){return typeof e=="string"&&f0.has(e)}fn.isJSONType=h0;function g0(){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:{}}}fn.getRules=g0});var Fd=P(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.shouldUseRule=Qt.shouldUseGroup=Qt.schemaHasRulesForType=void 0;function y0({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&lh(e,n)}Qt.schemaHasRulesForType=y0;function lh(e,t){return t.rules.some(r=>ph(e,r))}Qt.shouldUseGroup=lh;function ph(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Qt.shouldUseRule=ph});var fo=P(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.reportTypeError=Ee.checkDataTypes=Ee.checkDataType=Ee.coerceAndCheckDataType=Ee.getJSONTypes=Ee.getSchemaTypes=Ee.DataType=void 0;var _0=Jd(),b0=Fd(),v0=mo(),q=F(),mh=ee(),hn;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(hn||(Ee.DataType=hn={}));function w0(e){let t=fh(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Ee.getSchemaTypes=w0;function fh(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(_0.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Ee.getJSONTypes=fh;function k0(e,t){let{gen:r,data:n,opts:o}=e,s=x0(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,b0.schemaHasRulesForType)(e,t[0]));if(i){let a=Bd(t,n,o.strictNumbers,hn.Wrong);r.if(a,()=>{s.length?S0(e,t,s):Wd(e)})}return i}Ee.coerceAndCheckDataType=k0;var hh=new Set(["string","number","integer","boolean","null"]);function x0(e,t){return t?e.filter(r=>hh.has(r)||t==="array"&&r==="array"):[]}function S0(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",(0,q._)`typeof ${o}`),a=n.let("coerced",(0,q._)`undefined`);s.coerceTypes==="array"&&n.if((0,q._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,q._)`${o}[0]`).assign(i,(0,q._)`typeof ${o}`).if(Bd(t,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,q._)`${a} !== undefined`);for(let d of r)(hh.has(d)||d==="array"&&s.coerceTypes==="array")&&c(d);n.else(),Wd(e),n.endIf(),n.if((0,q._)`${a} !== undefined`,()=>{n.assign(o,a),$0(e,a)});function c(d){switch(d){case"string":n.elseIf((0,q._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,q._)`"" + ${o}`).elseIf((0,q._)`${o} === null`).assign(a,(0,q._)`""`);return;case"number":n.elseIf((0,q._)`${i} == "boolean" || ${o} === null
5
5
  || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,q._)`+${o}`);return;case"integer":n.elseIf((0,q._)`${i} === "boolean" || ${o} === null
6
6
  || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,q._)`+${o}`);return;case"boolean":n.elseIf((0,q._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,q._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,q._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,q._)`${i} === "string" || ${i} === "number"
7
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,q._)`[${o}]`)}}}function x0({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,q._)`${t} !== undefined`,()=>e.assign((0,q._)`${t}[${r}]`,n))}function Vd(e,t,r,n=hn.Correct){let o=n===hn.Correct?q.operators.EQ:q.operators.NEQ,s;switch(e){case"null":return(0,q._)`${t} ${o} null`;case"array":s=(0,q._)`Array.isArray(${t})`;break;case"object":s=(0,q._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i((0,q._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return(0,q._)`typeof ${t} ${o} ${e}`}return n===hn.Correct?s:(0,q.not)(s);function i(a=q.nil){return(0,q.and)((0,q._)`typeof ${t} == "number"`,a,r?(0,q._)`isFinite(${t})`:q.nil)}}Ee.checkDataType=Vd;function Bd(e,t,r,n){if(e.length===1)return Vd(e[0],t,r,n);let o,s=(0,mh.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,Vd(i,t,r,n));return o}Ee.checkDataTypes=Bd;var S0={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,q._)`{type: ${e}}`:(0,q._)`{type: ${t}}`};function Wd(e){let t=$0(e);(0,_0.reportError)(t,S0)}Ee.reportTypeError=Wd;function $0(e){let{gen:t,data:r,schema:n}=e,o=(0,mh.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var yh=P(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.assignDefaults=void 0;var gn=F(),z0=ee();function P0(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)gh(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,s)=>gh(e,s,o.default))}Qs.assignDefaults=P0;function gh(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=(0,gn._)`${s}${(0,gn.getProperty)(t)}`;if(o){(0,z0.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,gn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,gn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,gn._)`${a} = ${(0,gn.stringify)(r)}`)}});var ot=P(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 ue=F(),Hd=ee(),Yt=At(),T0=ee();function R0(e,t){let{gen:r,data:n,it:o}=e;r.if(Gd(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,ue._)`${t}`},!0),e.error()})}oe.checkReportMissingProp=R0;function j0({gen:e,data:t,it:{opts:r}},n,o){return(0,ue.or)(...n.map(s=>(0,ue.and)(Gd(e,t,s,r.ownProperties),(0,ue._)`${o} = ${s}`)))}oe.checkMissingProp=j0;function O0(e,t){e.setParams({missingProperty:t},!0),e.error()}oe.reportMissingProp=O0;function _h(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ue._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=_h;function Kd(e,t,r){return(0,ue._)`${_h(e)}.call(${t}, ${r})`}oe.isOwnProperty=Kd;function E0(e,t,r,n){let o=(0,ue._)`${t}${(0,ue.getProperty)(r)} !== undefined`;return n?(0,ue._)`${o} && ${Kd(e,t,r)}`:o}oe.propertyInData=E0;function Gd(e,t,r,n){let o=(0,ue._)`${t}${(0,ue.getProperty)(r)} === undefined`;return n?(0,ue.or)(o,(0,ue.not)(Kd(e,t,r))):o}oe.noPropertyInData=Gd;function bh(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}oe.allSchemaProperties=bh;function I0(e,t){return bh(t).filter(r=>!(0,Hd.alwaysValidSchema)(e,t[r]))}oe.schemaProperties=I0;function C0({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,d){let u=d?(0,ue._)`${e}, ${t}, ${n}${o}`:t,l=[[Yt.default.instancePath,(0,ue.strConcat)(Yt.default.instancePath,s)],[Yt.default.parentData,i.parentData],[Yt.default.parentDataProperty,i.parentDataProperty],[Yt.default.rootData,Yt.default.rootData]];i.opts.dynamicRef&&l.push([Yt.default.dynamicAnchors,Yt.default.dynamicAnchors]);let m=(0,ue._)`${u}, ${r.object(...l)}`;return c!==ue.nil?(0,ue._)`${a}.call(${c}, ${m})`:(0,ue._)`${a}(${m})`}oe.callValidateCode=C0;var A0=(0,ue._)`new RegExp`;function M0({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,ue._)`${o.code==="new RegExp"?A0:(0,T0.useFunc)(e,o)}(${r}, ${n})`})}oe.usePattern=M0;function N0(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",(0,ue._)`${r}.length`);t.forRange("i",0,c,d=>{e.subschema({keyword:n,dataProp:d,dataPropType:Hd.Type.Num},s),t.if((0,ue.not)(s),a)})}}oe.validateArray=N0;function D0(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Hd.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,d)=>{let u=e.subschema({keyword:n,schemaProp:d,compositeRule:!0},a);t.assign(i,(0,ue._)`${i} || ${a}`),e.mergeValidEvaluated(u,a)||t.if((0,ue.not)(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}oe.validateUnion=D0});var kh=P(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.validateKeywordUsage=wt.validSchemaType=wt.funcKeywordCode=wt.macroKeywordCode=void 0;var Ne=F(),Cr=At(),L0=ot(),Z0=mo();function U0(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=wh(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let d=r.name("valid");e.subschema({schema:a,schemaPath:Ne.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},d),e.pass(d,()=>e.error(!0))}wt.macroKeywordCode=U0;function q0(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;F0(c,t);let d=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,u=wh(n,o,d),l=n.let("valid");e.block$data(l,m),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function m(){if(t.errors===!1)g(),t.modifying&&vh(e),y(()=>e.error());else{let v=t.async?f():h();t.modifying&&vh(e),y(()=>J0(e,v))}}function f(){let v=n.let("ruleErrs",null);return n.try(()=>g((0,Ne._)`await `),w=>n.assign(l,!1).if((0,Ne._)`${w} instanceof ${c.ValidationError}`,()=>n.assign(v,(0,Ne._)`${w}.errors`),()=>n.throw(w))),v}function h(){let v=(0,Ne._)`${u}.errors`;return n.assign(v,null),g(Ne.nil),v}function g(v=t.async?(0,Ne._)`await `:Ne.nil){let w=c.opts.passContext?Cr.default.this:Cr.default.self,k=!("compile"in t&&!a||t.schema===!1);n.assign(l,(0,Ne._)`${v}${(0,L0.callValidateCode)(e,u,w,k)}`,t.modifying)}function y(v){var w;n.if((0,Ne.not)((w=t.valid)!==null&&w!==void 0?w:l),v)}}wt.funcKeywordCode=q0;function vh(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Ne._)`${n.parentData}[${n.parentDataProperty}]`))}function J0(e,t){let{gen:r}=e;r.if((0,Ne._)`Array.isArray(${t})`,()=>{r.assign(Cr.default.vErrors,(0,Ne._)`${Cr.default.vErrors} === null ? ${t} : ${Cr.default.vErrors}.concat(${t})`).assign(Cr.default.errors,(0,Ne._)`${Cr.default.vErrors}.length`),(0,Z0.extendErrors)(e)},()=>e.error())}function F0({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function wh(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ne.stringify)(r)})}function V0(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}wt.validSchemaType=V0;function B0({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}wt.validateKeywordUsage=B0});var Sh=P(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.extendSubschemaMode=Xt.extendSubschemaData=Xt.getSubschema=void 0;var kt=F(),xh=ee();function W0(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,kt._)`${e.schemaPath}${(0,kt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,kt._)`${e.schemaPath}${(0,kt.getProperty)(t)}${(0,kt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,xh.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Xt.getSubschema=W0;function H0(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:d,dataPathArr:u,opts:l}=t,m=a.let("data",(0,kt._)`${t.data}${(0,kt.getProperty)(r)}`,!0);c(m),e.errorPath=(0,kt.str)`${d}${(0,xh.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0,kt._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(o!==void 0){let d=o instanceof kt.Name?o:a.let("data",o,!0);c(d),i!==void 0&&(e.propertyName=i)}s&&(e.dataTypes=s);function c(d){e.data=d,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,d]}}Xt.extendSubschemaData=H0;function K0(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}Xt.extendSubschemaMode=K0});var Qd=P((y2,$h)=>{"use strict";$h.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var Ph=P((_2,zh)=>{"use strict";var er=zh.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Ys(t,n,o,e,"",e)};er.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};er.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};er.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};er.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 Ys(e,t,r,n,o,s,i,a,c,d){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,d);for(var u in n){var l=n[u];if(Array.isArray(l)){if(u in er.arrayKeywords)for(var m=0;m<l.length;m++)Ys(e,t,r,l[m],o+"/"+u+"/"+m,s,o,u,n,m)}else if(u in er.propsKeywords){if(l&&typeof l=="object")for(var f in l)Ys(e,t,r,l[f],o+"/"+u+"/"+G0(f),s,o,u,n,f)}else(u in er.keywords||e.allKeys&&!(u in er.skipKeywords))&&Ys(e,t,r,l,o+"/"+u,s,o,u,n)}r(n,o,s,i,a,c,d)}}function G0(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var ho=P(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.getSchemaRefs=Fe.resolveUrl=Fe.normalizeId=Fe._getFullPath=Fe.getFullPath=Fe.inlineRef=void 0;var Q0=ee(),Y0=Qd(),X0=Ph(),e$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function t$(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Yd(e):t?Th(e)<=t:!1}Fe.inlineRef=t$;var r$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Yd(e){for(let t in e){if(r$.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Yd)||typeof r=="object"&&Yd(r))return!0}return!1}function Th(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!e$.has(r)&&(typeof e[r]=="object"&&(0,Q0.eachItem)(e[r],n=>t+=Th(n)),t===1/0))return 1/0}return t}function Rh(e,t="",r){r!==!1&&(t=yn(t));let n=e.parse(t);return jh(e,n)}Fe.getFullPath=Rh;function jh(e,t){return e.serialize(t).split("#")[0]+"#"}Fe._getFullPath=jh;var n$=/#\/?$/;function yn(e){return e?e.replace(n$,""):""}Fe.normalizeId=yn;function o$(e,t,r){return r=yn(r),e.resolve(t,r)}Fe.resolveUrl=o$;var s$=/^[a-z_][-a-z0-9._]*$/i;function i$(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=yn(e[r]||t),s={"":o},i=Rh(n,o,!1),a={},c=new Set;return X0(e,{allKeys:!0},(l,m,f,h)=>{if(h===void 0)return;let g=i+m,y=s[h];typeof l[r]=="string"&&(y=v.call(this,l[r])),w.call(this,l.$anchor),w.call(this,l.$dynamicAnchor),s[m]=y;function v(k){let j=this.opts.uriResolver.resolve;if(k=yn(y?j(y,k):k),c.has(k))throw u(k);c.add(k);let M=this.refs[k];return typeof M=="string"&&(M=this.refs[M]),typeof M=="object"?d(l,M.schema,k):k!==yn(g)&&(k[0]==="#"?(d(l,a[k],k),a[k]=l):this.refs[k]=g),k}function w(k){if(typeof k=="string"){if(!s$.test(k))throw new Error(`invalid anchor "${k}"`);v.call(this,`#${k}`)}}}),a;function d(l,m,f){if(m!==void 0&&!Y0(l,m))throw u(f)}function u(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Fe.getSchemaRefs=i$});var _o=P(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.getData=tr.KeywordCxt=tr.validateFunctionCode=void 0;var Ah=uh(),Oh=fo(),eu=Fd(),Xs=fo(),a$=yh(),yo=kh(),Xd=Sh(),C=F(),Z=At(),c$=ho(),Mt=ee(),go=mo();function d$(e){if(Dh(e)&&(Lh(e),Nh(e))){p$(e);return}Mh(e,()=>(0,Ah.topBoolOrEmptySchema)(e))}tr.validateFunctionCode=d$;function Mh({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,(0,C._)`${Z.default.data}, ${Z.default.valCxt}`,n.$async,()=>{e.code((0,C._)`"use strict"; ${Eh(r,o)}`),l$(e,o),e.code(s)}):e.func(t,(0,C._)`${Z.default.data}, ${u$(o)}`,n.$async,()=>e.code(Eh(r,o)).code(s))}function u$(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 l$(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 p$(e){let{schema:t,opts:r,gen:n}=e;Mh(e,()=>{r.$comment&&t.$comment&&Uh(e),y$(e),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&m$(e),Zh(e),v$(e)})}function m$(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,C._)`${r}.evaluated`),t.if((0,C._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,C._)`${e.evaluated}.props`,(0,C._)`undefined`)),t.if((0,C._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,C._)`${e.evaluated}.items`,(0,C._)`undefined`))}function Eh(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,C._)`/*# sourceURL=${r} */`:C.nil}function f$(e,t){if(Dh(e)&&(Lh(e),Nh(e))){h$(e,t);return}(0,Ah.boolOrEmptySchema)(e,t)}function Nh({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Dh(e){return typeof e.schema!="boolean"}function h$(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&Uh(e),_$(e),b$(e);let s=n.const("_errs",Z.default.errors);Zh(e,s),n.var(t,(0,C._)`${s} === ${Z.default.errors}`)}function Lh(e){(0,Mt.checkUnknownRules)(e),g$(e)}function Zh(e,t){if(e.opts.jtd)return Ih(e,[],!1,t);let r=(0,Oh.getSchemaTypes)(e.schema),n=(0,Oh.coerceAndCheckDataType)(e,r);Ih(e,r,!n,t)}function g$(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Mt.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function y$(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Mt.checkStrictMode)(e,"default is ignored in the schema root")}function _$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,c$.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function b$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Uh({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code((0,C._)`${Z.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,C.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,C._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function v$(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if((0,C._)`${Z.default.errors} === 0`,()=>t.return(Z.default.data),()=>t.throw((0,C._)`new ${o}(${Z.default.vErrors})`)):(t.assign((0,C._)`${n}.errors`,Z.default.vErrors),s.unevaluated&&w$(e),t.return((0,C._)`${Z.default.errors} === 0`))}function w$({gen:e,evaluated:t,props:r,items:n}){r instanceof C.Name&&e.assign((0,C._)`${t}.props`,r),n instanceof C.Name&&e.assign((0,C._)`${t}.items`,n)}function Ih(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:d}=e,{RULES:u}=d;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Mt.schemaHasRulesButRef)(s,u))){o.block(()=>Jh(e,"$ref",u.all.$ref.definition));return}c.jtd||k$(e,t),o.block(()=>{for(let m of u.rules)l(m);l(u.post)});function l(m){(0,eu.shouldUseGroup)(s,m)&&(m.type?(o.if((0,Xs.checkDataType)(m.type,i,c.strictNumbers)),Ch(e,m),t.length===1&&t[0]===m.type&&r&&(o.else(),(0,Xs.reportTypeError)(e)),o.endIf()):Ch(e,m),a||o.if((0,C._)`${Z.default.errors} === ${n||0}`))}}function Ch(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,a$.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,eu.shouldUseRule)(n,s)&&Jh(e,s.keyword,s.definition,t.type)})}function k$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(x$(e,t),e.opts.allowUnionTypes||S$(e,t),$$(e,e.dataTypes))}function x$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{qh(e.dataTypes,r)||tu(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),P$(e,t)}}function S$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&tu(e,"use allowUnionTypes to allow union type keyword")}function $$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,eu.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>z$(t,i))&&tu(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function z$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function qh(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function P$(e,t){let r=[];for(let n of e.dataTypes)qh(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function tu(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Mt.checkStrictMode)(e,t,e.opts.strictTypes)}var ei=class{constructor(t,r,n){if((0,yo.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Mt.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Fh(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,yo.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Z.default.errors))}result(t,r,n){this.failResult((0,C.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,C.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,C._)`${r} !== undefined && (${(0,C.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?go.reportExtraError:go.reportError)(this,this.def.error,r)}$dataError(){(0,go.reportError)(this,this.def.$dataError||go.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,go.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=C.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=C.nil,r=C.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,C.or)((0,C._)`${o} === undefined`,r)),t!==C.nil&&n.assign(t,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==C.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(n.length){if(!(r instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,C._)`${(0,Xs.checkDataTypes)(c,r,s.opts.strictNumbers,Xs.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${r})`}return C.nil}}subschema(t,r){let n=(0,Xd.getSubschema)(this.it,t);(0,Xd.extendSubschemaData)(n,this.it,t),(0,Xd.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return f$(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Mt.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Mt.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,C.Name)),!0}};tr.KeywordCxt=ei;function Jh(e,t,r,n){let o=new ei(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,yo.funcKeywordCode)(o,r):"macro"in r?(0,yo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,yo.funcKeywordCode)(o,r)}var T$=/^\/(?:[^~]|~0|~1)*$/,R$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Fh(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return Z.default.rootData;if(e[0]==="/"){if(!T$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=Z.default.rootData}else{let d=R$.exec(e);if(!d)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+d[1];if(o=d[2],o==="#"){if(u>=t)throw new Error(c("property/index",u));return n[t-u]}if(u>t)throw new Error(c("data",u));if(s=r[t-u],!o)return s}let i=s,a=o.split("/");for(let d of a)d&&(s=(0,C._)`${s}${(0,C.getProperty)((0,Mt.unescapeJsonPointer)(d))}`,i=(0,C._)`${i} && ${s}`);return i;function c(d,u){return`Cannot access ${d} ${u} levels up, current level is ${t}`}}tr.getData=Fh});var ti=P(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});var ru=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};nu.default=ru});var bo=P(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});var ou=ho(),su=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,ou.resolveUrl)(t,r,n),this.missingSchema=(0,ou.normalizeId)((0,ou.getFullPath)(t,this.missingRef))}};iu.default=su});var ni=P(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.resolveSchema=st.getCompilingSchema=st.resolveRef=st.compileSchema=st.SchemaEnv=void 0;var pt=F(),j$=ti(),Ar=At(),mt=ho(),Vh=ee(),O$=_o(),_n=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,mt.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};st.SchemaEnv=_n;function cu(e){let t=Bh.call(this,e);if(t)return t;let r=(0,mt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new pt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:j$.default,code:(0,pt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let d={gen:i,allErrors:this.opts.allErrors,data:Ar.default.data,parentData:Ar.default.parentData,parentDataProperty:Ar.default.parentDataProperty,dataNames:[Ar.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:r,baseId:e.baseId||r,schemaPath:pt.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,pt._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,O$.validateFunctionCode)(d),i.optimize(this.opts.code.optimize);let l=i.toString();u=`${i.scopeRefs(Ar.default.scope)}return ${l}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let f=new Function(`${Ar.default.self}`,`${Ar.default.scope}`,u)(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}=d;f.evaluated={props:h instanceof pt.Name?void 0:h,items:g instanceof pt.Name?void 0:g,dynamicProps:h instanceof pt.Name,dynamicItems:g instanceof pt.Name},f.source&&(f.source.evaluated=(0,pt.stringify)(f.evaluated))}return e.validate=f,e}catch(l){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),l}finally{this._compilations.delete(e)}}st.compileSchema=cu;function E$(e,t,r){var n;r=(0,mt.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=A$.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new _n({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=I$.call(this,s)}st.resolveRef=E$;function I$(e){return(0,mt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:cu.call(this,e)}function Bh(e){for(let t of this._compilations)if(C$(t,e))return t}st.getCompilingSchema=Bh;function C$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function A$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||ri.call(this,e,t)}function ri(e,t){let r=this.opts.uriResolver.parse(t),n=(0,mt._getFullPath)(this.opts.uriResolver,r),o=(0,mt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return au.call(this,r,e);let s=(0,mt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=ri.call(this,e,i);return typeof a?.schema!="object"?void 0:au.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||cu.call(this,i),s===(0,mt.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,d=a[c];return d&&(o=(0,mt.resolveUrl)(this.opts.uriResolver,o,d)),new _n({schema:a,schemaId:c,root:e,baseId:o})}return au.call(this,r,i)}}st.resolveSchema=ri;var M$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function au(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Vh.unescapeFragment)(a)];if(c===void 0)return;r=c;let d=typeof r=="object"&&r[this.opts.schemaId];!M$.has(a)&&d&&(t=(0,mt.resolveUrl)(this.opts.uriResolver,t,d))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Vh.schemaHasRulesButRef)(r,this.RULES)){let a=(0,mt.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=ri.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new _n({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s}});var Wh=P((S2,N$)=>{N$.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 uu=P(($2,Qh)=>{"use strict";var D$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Kh=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 du(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var L$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Hh(e){return e.length=0,!0}function Z$(e,t,r){if(e.length){let n=du(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function U$(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=Z$;for(let c=0;c<e.length;c++){let d=e[c];if(!(d==="["||d==="]"))if(d===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),n.push(":");continue}else if(d==="%"){if(!a(o,n,r))break;a=Hh}else{o.push(d);continue}}return o.length&&(a===Hh?r.zone=o.join(""):i?n.push(o.join("")):n.push(du(o))),r.address=n.join(""),r}function Gh(e){if(q$(e,":")<2)return{host:e,isIPV6:!1};let t=U$(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function q$(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function J$(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function F$(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function V$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Kh(r)){let n=Gh(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Qh.exports={nonSimpleDomain:L$,recomposeAuthority:V$,normalizeComponentEncoding:F$,removeDotSegments:J$,isIPv4:Kh,isUUID:D$,normalizeIPv6:Gh,stringArrayToHexStripped:du}});var rg=P((z2,tg)=>{"use strict";var{isUUID:B$}=uu(),W$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,H$=["http","https","ws","wss","urn","urn:uuid"];function K$(e){return H$.indexOf(e)!==-1}function lu(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 Yh(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Xh(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 G$(e){return e.secure=lu(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Q$(e){if((e.port===(lu(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function Y$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(W$);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,s=pu(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function X$(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,s=pu(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function ez(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!B$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function tz(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var eg={scheme:"http",domainHost:!0,parse:Yh,serialize:Xh},rz={scheme:"https",domainHost:eg.domainHost,parse:Yh,serialize:Xh},oi={scheme:"ws",domainHost:!0,parse:G$,serialize:Q$},nz={scheme:"wss",domainHost:oi.domainHost,parse:oi.parse,serialize:oi.serialize},oz={scheme:"urn",parse:Y$,serialize:X$,skipNormalize:!0},sz={scheme:"urn:uuid",parse:ez,serialize:tz,skipNormalize:!0},si={http:eg,https:rz,ws:oi,wss:nz,urn:oz,"urn:uuid":sz};Object.setPrototypeOf(si,null);function pu(e){return e&&(si[e]||si[e.toLowerCase()])||void 0}tg.exports={wsIsSecure:lu,SCHEMES:si,isValidSchemeName:K$,getSchemeHandler:pu}});var sg=P((P2,ai)=>{"use strict";var{normalizeIPv6:iz,removeDotSegments:vo,recomposeAuthority:az,normalizeComponentEncoding:ii,isIPv4:cz,nonSimpleDomain:dz}=uu(),{SCHEMES:uz,getSchemeHandler:ng}=rg();function lz(e,t){return typeof e=="string"?e=xt(Nt(e,t),t):typeof e=="object"&&(e=Nt(xt(e,t),t)),e}function pz(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=og(Nt(e,n),Nt(t,n),n,!0);return n.skipEscape=!0,xt(o,n)}function og(e,t,r,n){let o={};return n||(e=Nt(xt(e,r),r),t=Nt(xt(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=vo(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=vo(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=vo(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=vo(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 mz(e,t,r){return typeof e=="string"?(e=unescape(e),e=xt(ii(Nt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=xt(ii(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=xt(ii(Nt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=xt(ii(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function xt(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],s=ng(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=az(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=vo(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var fz=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Nt(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let s=e.match(fz);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(cz(n.host)===!1){let c=iz(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let i=ng(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&dz(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var mu={SCHEMES:uz,normalize:lz,resolve:pz,resolveComponent:og,equal:mz,serialize:xt,parse:Nt};ai.exports=mu;ai.exports.default=mu;ai.exports.fastUri=mu});var ag=P(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});var ig=sg();ig.code='require("ajv/dist/runtime/uri").default';fu.default=ig});var hg=P(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 hz=_o();Object.defineProperty(ze,"KeywordCxt",{enumerable:!0,get:function(){return hz.KeywordCxt}});var bn=F();Object.defineProperty(ze,"_",{enumerable:!0,get:function(){return bn._}});Object.defineProperty(ze,"str",{enumerable:!0,get:function(){return bn.str}});Object.defineProperty(ze,"stringify",{enumerable:!0,get:function(){return bn.stringify}});Object.defineProperty(ze,"nil",{enumerable:!0,get:function(){return bn.nil}});Object.defineProperty(ze,"Name",{enumerable:!0,get:function(){return bn.Name}});Object.defineProperty(ze,"CodeGen",{enumerable:!0,get:function(){return bn.CodeGen}});var gz=ti(),pg=bo(),yz=Jd(),wo=ni(),_z=F(),ko=ho(),ci=fo(),gu=ee(),cg=Wh(),bz=ag(),mg=(e,t)=>new RegExp(e,t);mg.code="new RegExp";var vz=["removeAdditional","useDefaults","coerceTypes"],wz=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),kz={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."},xz={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},dg=200;function Sz(e){var t,r,n,o,s,i,a,c,d,u,l,m,f,h,g,y,v,w,k,j,M,Ie,Qe,Fr,Di;let Rn=e.strict,Li=(t=e.code)===null||t===void 0?void 0:t.optimize,Gl=Li===!0||Li===void 0?1:Li||0,Ql=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:mg,kb=(o=e.uriResolver)!==null&&o!==void 0?o:bz.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:Rn)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:Rn)!==null&&c!==void 0?c:!0,strictTypes:(u=(d=e.strictTypes)!==null&&d!==void 0?d:Rn)!==null&&u!==void 0?u:"log",strictTuples:(m=(l=e.strictTuples)!==null&&l!==void 0?l:Rn)!==null&&m!==void 0?m:"log",strictRequired:(h=(f=e.strictRequired)!==null&&f!==void 0?f:Rn)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:Gl,regExp:Ql}:{optimize:Gl,regExp:Ql},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:dg,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:dg,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:(Ie=e.validateSchema)!==null&&Ie!==void 0?Ie:!0,validateFormats:(Qe=e.validateFormats)!==null&&Qe!==void 0?Qe:!0,unicodeRegExp:(Fr=e.unicodeRegExp)!==null&&Fr!==void 0?Fr:!0,int32range:(Di=e.int32range)!==null&&Di!==void 0?Di:!0,uriResolver:kb}}var xo=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Sz(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new _z.ValueScope({scope:{},prefixes:wz,es5:r,lines:n}),this.logger=jz(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,yz.getRules)(),ug.call(this,kz,t,"NOT SUPPORTED"),ug.call(this,xz,t,"DEPRECATED","warn"),this._metaOpts=Tz.call(this),t.formats&&zz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Pz.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),$z.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=cg;n==="id"&&(o={...cg},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,t,r);async function o(u,l){await s.call(this,u.$schema);let m=this._addSchema(u,l);return m.validate||i.call(this,m)}async function s(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function i(u){try{return this._compileSchemaEnv(u)}catch(l){if(!(l instanceof pg.default))throw l;return a.call(this,l),await c.call(this,l.missingSchema),i.call(this,u)}}function a({missingSchema:u,missingRef:l}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${l} cannot be resolved`)}async function c(u){let l=await d.call(this,u);this.refs[u]||await s.call(this,l.$schema),this.refs[u]||this.addSchema(l,u,r)}async function d(u){let l=this._loading[u];if(l)return l;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let i of t)this.addSchema(i,void 0,n,o);return this}let s;if(typeof t=="object"){let{schemaId:i}=this.opts;if(s=t[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,ko.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,t);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(t){let r;for(;typeof(r=lg.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new wo.SchemaEnv({schema:{},schemaId:n});if(r=wo.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=lg.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,ko.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Ez.call(this,n,r),!r)return(0,gu.eachItem)(n,s=>hu.call(this,s)),this;Cz.call(this,r);let o={...r,type:(0,ci.getJSONTypes)(r.type),schemaType:(0,ci.getJSONTypes)(r.schemaType)};return(0,gu.eachItem)(n,o.type.length===0?s=>hu.call(this,s,o):s=>o.type.forEach(i=>hu.call(this,s,o,i))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let s=o.split("/").slice(1),i=t;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:d}=c.definition,u=i[a];d&&u&&(i[a]=fg(u))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof t=="object")i=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,ko.normalizeId)(i||n);let d=ko.getSchemaRefs.call(this,t,n);return c=new wo.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:d}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):wo.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{wo.compileSchema.call(this,t)}finally{this.opts=r}}};xo.ValidationError=gz.default;xo.MissingRefError=pg.default;ze.default=xo;function ug(e,t,r,n="error"){for(let o in e){let s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function lg(e){return e=(0,ko.normalizeId)(e),this.schemas[e]||this.refs[e]}function $z(){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 zz(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function Pz(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function Tz(){let e={...this.opts};for(let t of vz)delete e[t];return e}var Rz={log(){},warn(){},error(){}};function jz(e){if(e===!1)return Rz;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 Oz=/^[a-z_$][a-z0-9_$:-]*$/i;function Ez(e,t){let{RULES:r}=this;if((0,gu.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Oz.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function hu(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,ci.getJSONTypes)(t.type),schemaType:(0,ci.getJSONTypes)(t.schemaType)}};t.before?Iz.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function Iz(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function Cz(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=fg(t)),e.validateSchema=this.compile(t,!0))}var Az={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function fg(e){return{anyOf:[e,Az]}}});var gg=P(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});var Mz={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};yu.default=Mz});var vg=P(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.callRef=Mr.getValidate=void 0;var Nz=bo(),yg=ot(),Ve=F(),vn=At(),_g=ni(),di=ee(),Dz={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:d}=s;if((r==="#"||r==="#/")&&o===d.baseId)return l();let u=_g.resolveRef.call(c,d,o,r);if(u===void 0)throw new Nz.default(n.opts.uriResolver,o,r);if(u instanceof _g.SchemaEnv)return m(u);return f(u);function l(){if(s===d)return ui(e,i,s,s.$async);let h=t.scopeValue("root",{ref:d});return ui(e,(0,Ve._)`${h}.validate`,d,d.$async)}function m(h){let g=bg(e,h);ui(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:r},y);e.mergeEvaluated(v),e.ok(y)}}};function bg(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Ve._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Mr.getValidate=bg;function ui(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,d=c.passContext?vn.default.this:Ve.nil;n?u():l();function u(){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,yg.callValidateCode)(e,t,d)}`),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,yg.callValidateCode)(e,t,d),()=>f(t),()=>m(t))}function m(h){let g=(0,Ve._)`${h}.errors`;o.assign(vn.default.vErrors,(0,Ve._)`${vn.default.vErrors} === null ? ${g} : ${vn.default.vErrors}.concat(${g})`),o.assign(vn.default.errors,(0,Ve._)`${vn.default.vErrors}.length`)}function f(h){var g;if(!s.opts.unevaluated)return;let y=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=di.mergeEvaluated.props(o,y.props,s.props));else{let v=o.var("props",(0,Ve._)`${h}.evaluated.props`);s.props=di.mergeEvaluated.props(o,v,s.props,Ve.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=di.mergeEvaluated.items(o,y.items,s.items));else{let v=o.var("items",(0,Ve._)`${h}.evaluated.items`);s.items=di.mergeEvaluated.items(o,v,s.items,Ve.Name)}}}Mr.callRef=ui;Mr.default=Dz});var wg=P(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});var Lz=gg(),Zz=vg(),Uz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Lz.default,Zz.default];_u.default=Uz});var kg=P(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});var li=F(),rr=li.operators,pi={maximum:{okStr:"<=",ok:rr.LTE,fail:rr.GT},minimum:{okStr:">=",ok:rr.GTE,fail:rr.LT},exclusiveMaximum:{okStr:"<",ok:rr.LT,fail:rr.GTE},exclusiveMinimum:{okStr:">",ok:rr.GT,fail:rr.LTE}},qz={message:({keyword:e,schemaCode:t})=>(0,li.str)`must be ${pi[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,li._)`{comparison: ${pi[e].okStr}, limit: ${t}}`},Jz={keyword:Object.keys(pi),type:"number",schemaType:"number",$data:!0,error:qz,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,li._)`${r} ${pi[t].fail} ${n} || isNaN(${r})`)}};bu.default=Jz});var xg=P(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});var So=F(),Fz={message:({schemaCode:e})=>(0,So.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,So._)`{multipleOf: ${e}}`},Vz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Fz,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,So._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,So._)`${i} !== parseInt(${i})`;e.fail$data((0,So._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};vu.default=Vz});var $g=P(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});function Sg(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}wu.default=Sg;Sg.code='require("ajv/dist/runtime/ucs2length").default'});var zg=P(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var Nr=F(),Bz=ee(),Wz=$g(),Hz={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Nr.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Nr._)`{limit: ${e}}`},Kz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Hz,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?Nr.operators.GT:Nr.operators.LT,i=o.opts.unicode===!1?(0,Nr._)`${r}.length`:(0,Nr._)`${(0,Bz.useFunc)(e.gen,Wz.default)}(${r})`;e.fail$data((0,Nr._)`${i} ${s} ${n}`)}};ku.default=Kz});var Pg=P(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var Gz=ot(),mi=F(),Qz={message:({schemaCode:e})=>(0,mi.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,mi._)`{pattern: ${e}}`},Yz={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Qz,code(e){let{data:t,$data:r,schema:n,schemaCode:o,it:s}=e,i=s.opts.unicodeRegExp?"u":"",a=r?(0,mi._)`(new RegExp(${o}, ${i}))`:(0,Gz.usePattern)(e,n);e.fail$data((0,mi._)`!${a}.test(${t})`)}};xu.default=Yz});var Tg=P(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});var $o=F(),Xz={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,$o.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,$o._)`{limit: ${e}}`},e1={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Xz,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?$o.operators.GT:$o.operators.LT;e.fail$data((0,$o._)`Object.keys(${r}).length ${o} ${n}`)}};Su.default=e1});var Rg=P($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});var zo=ot(),Po=F(),t1=ee(),r1={message:({params:{missingProperty:e}})=>(0,Po.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Po._)`{missingProperty: ${e}}`},n1={keyword:"required",type:"object",schemaType:"array",$data:!0,error:r1,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?d():u(),a.strictRequired){let f=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)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,t1.checkStrictMode)(i,v,i.opts.strictRequired)}}function d(){if(c||s)e.block$data(Po.nil,l);else for(let f of r)(0,zo.checkReportMissingProp)(e,f)}function u(){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,zo.checkMissingProp)(e,r,f)),(0,zo.reportMissingProp)(e,f),t.else()}function l(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,zo.noPropertyInData)(t,o,f,a.ownProperties),()=>e.error())})}function m(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,zo.propertyInData)(t,o,f,a.ownProperties)),t.if((0,Po.not)(h),()=>{e.error(),t.break()})},Po.nil)}}};$u.default=n1});var jg=P(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});var To=F(),o1={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,To.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,To._)`{limit: ${e}}`},s1={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:o1,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?To.operators.GT:To.operators.LT;e.fail$data((0,To._)`${r}.length ${o} ${n}`)}};zu.default=s1});var fi=P(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var Og=Qd();Og.code='require("ajv/dist/runtime/equal").default';Pu.default=Og});var Eg=P(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});var Tu=fo(),Pe=F(),i1=ee(),a1=fi(),c1={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}}`},d1={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:c1,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),d=s.items?(0,Tu.getSchemaTypes)(s.items):[];e.block$data(c,u,(0,Pe._)`${i} === false`),e.ok(c);function u(){let h=t.let("i",(0,Pe._)`${r}.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 d.length>0&&!d.some(h=>h==="object"||h==="array")}function m(h,g){let y=t.name("item"),v=(0,Tu.checkDataTypes)(d,y,a.opts.strictNumbers,Tu.DataType.Wrong),w=t.const("indices",(0,Pe._)`{}`);t.for((0,Pe._)`;${h}--;`,()=>{t.let(y,(0,Pe._)`${r}[${h}]`),t.if(v,(0,Pe._)`continue`),d.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,i1.useFunc)(t,a1.default),v=t.name("outer");t.label(v).for((0,Pe._)`;${h}--;`,()=>t.for((0,Pe._)`${g} = ${h}; ${g}--;`,()=>t.if((0,Pe._)`${y}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(v)})))}}};Ru.default=d1});var Ig=P(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var ju=F(),u1=ee(),l1=fi(),p1={message:"must be equal to constant",params:({schemaCode:e})=>(0,ju._)`{allowedValue: ${e}}`},m1={keyword:"const",$data:!0,error:p1,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,ju._)`!${(0,u1.useFunc)(t,l1.default)}(${r}, ${o})`):e.fail((0,ju._)`${s} !== ${r}`)}};Ou.default=m1});var Cg=P(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});var Ro=F(),f1=ee(),h1=fi(),g1={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,Ro._)`{allowedValues: ${e}}`},y1={keyword:"enum",schemaType:"array",$data:!0,error:g1,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,d=()=>c??(c=(0,f1.useFunc)(t,h1.default)),u;if(a||n)u=t.let("valid"),e.block$data(u,l);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=t.const("vSchema",s);u=(0,Ro.or)(...o.map((h,g)=>m(f,g)))}e.pass(u);function l(){t.assign(u,!1),t.forOf("v",s,f=>t.if((0,Ro._)`${d()}(${r}, ${f})`,()=>t.assign(u,!0).break()))}function m(f,h){let g=o[h];return typeof g=="object"&&g!==null?(0,Ro._)`${d()}(${r}, ${f}[${h}])`:(0,Ro._)`${r} === ${g}`}}};Eu.default=y1});var Ag=P(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});var _1=kg(),b1=xg(),v1=zg(),w1=Pg(),k1=Tg(),x1=Rg(),S1=jg(),$1=Eg(),z1=Ig(),P1=Cg(),T1=[_1.default,b1.default,v1.default,w1.default,k1.default,x1.default,S1.default,$1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},z1.default,P1.default];Iu.default=T1});var Au=P(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.validateAdditionalItems=void 0;var Dr=F(),Cu=ee(),R1={message:({params:{len:e}})=>(0,Dr.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Dr._)`{limit: ${e}}`},j1={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:R1,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Cu.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Mg(e,n)}};function Mg(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",(0,Dr._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Dr._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Cu.alwaysValidSchema)(i,n)){let d=r.var("valid",(0,Dr._)`${a} <= ${t.length}`);r.if((0,Dr.not)(d),()=>c(d)),e.ok(d)}function c(d){r.forRange("i",t.length,a,u=>{e.subschema({keyword:s,dataProp:u,dataPropType:Cu.Type.Num},d),i.allErrors||r.if((0,Dr.not)(d),()=>r.break())})}}jo.validateAdditionalItems=Mg;jo.default=j1});var Mu=P(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.validateTuple=void 0;var Ng=F(),hi=ee(),O1=ot(),E1={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Dg(e,"additionalItems",t);r.items=!0,!(0,hi.alwaysValidSchema)(r,t)&&e.ok((0,O1.validateArray)(e))}};function Dg(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=hi.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),d=n.const("len",(0,Ng._)`${s}.length`);r.forEach((l,m)=>{(0,hi.alwaysValidSchema)(a,l)||(n.if((0,Ng._)`${d} > ${m}`,()=>e.subschema({keyword:i,schemaProp:m,dataProp:m},c)),e.ok(c))});function u(l){let{opts:m,errSchemaPath:f}=a,h=r.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,hi.checkStrictMode)(a,y,m.strictTuples)}}}Oo.validateTuple=Dg;Oo.default=E1});var Lg=P(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});var I1=Mu(),C1={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,I1.validateTuple)(e,"items")};Nu.default=C1});var Ug=P(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var Zg=F(),A1=ee(),M1=ot(),N1=Au(),D1={message:({params:{len:e}})=>(0,Zg.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Zg._)`{limit: ${e}}`},L1={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:D1,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,A1.alwaysValidSchema)(n,t)&&(o?(0,N1.validateAdditionalItems)(e,o):e.ok((0,M1.validateArray)(e)))}};Du.default=L1});var qg=P(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});var it=F(),gi=ee(),Z1={message:({params:{min:e,max:t}})=>t===void 0?(0,it.str)`must contain at least ${e} valid item(s)`:(0,it.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,it._)`{minContains: ${e}}`:(0,it._)`{minContains: ${e}, maxContains: ${t}}`},U1={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Z1,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:d}=n;s.opts.next?(i=c===void 0?1:c,a=d):i=1;let u=t.const("len",(0,it._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,gi.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,gi.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,gi.alwaysValidSchema)(s,r)){let g=(0,it._)`${u} >= ${i}`;a!==void 0&&(g=(0,it._)`${g} && ${u} <= ${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,it._)`${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,u,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:gi.Type.Num,compositeRule:!0},g),y()})}function h(g){t.code((0,it._)`${g}++`),a===void 0?t.if((0,it._)`${g} >= ${i}`,()=>t.assign(l,!0).break()):(t.if((0,it._)`${g} > ${a}`,()=>t.assign(l,!1).break()),i===1?t.assign(l,!0):t.if((0,it._)`${g} >= ${i}`,()=>t.assign(l,!0)))}}};Lu.default=U1});var Vg=P(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.validateSchemaDeps=St.validatePropertyDeps=St.error=void 0;var Zu=F(),q1=ee(),Eo=ot();St.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Zu.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Zu._)`{property: ${e},
7
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,q._)`[${o}]`)}}}function $0({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,q._)`${t} !== undefined`,()=>e.assign((0,q._)`${t}[${r}]`,n))}function Vd(e,t,r,n=hn.Correct){let o=n===hn.Correct?q.operators.EQ:q.operators.NEQ,s;switch(e){case"null":return(0,q._)`${t} ${o} null`;case"array":s=(0,q._)`Array.isArray(${t})`;break;case"object":s=(0,q._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i((0,q._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return(0,q._)`typeof ${t} ${o} ${e}`}return n===hn.Correct?s:(0,q.not)(s);function i(a=q.nil){return(0,q.and)((0,q._)`typeof ${t} == "number"`,a,r?(0,q._)`isFinite(${t})`:q.nil)}}Ee.checkDataType=Vd;function Bd(e,t,r,n){if(e.length===1)return Vd(e[0],t,r,n);let o,s=(0,mh.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,Vd(i,t,r,n));return o}Ee.checkDataTypes=Bd;var z0={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,q._)`{type: ${e}}`:(0,q._)`{type: ${t}}`};function Wd(e){let t=P0(e);(0,v0.reportError)(t,z0)}Ee.reportTypeError=Wd;function P0(e){let{gen:t,data:r,schema:n}=e,o=(0,mh.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var yh=P(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.assignDefaults=void 0;var gn=F(),T0=ee();function R0(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)gh(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,s)=>gh(e,s,o.default))}Qs.assignDefaults=R0;function gh(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=(0,gn._)`${s}${(0,gn.getProperty)(t)}`;if(o){(0,T0.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,gn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,gn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,gn._)`${a} = ${(0,gn.stringify)(r)}`)}});var ot=P(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 ue=F(),Hd=ee(),Yt=At(),j0=ee();function O0(e,t){let{gen:r,data:n,it:o}=e;r.if(Gd(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,ue._)`${t}`},!0),e.error()})}oe.checkReportMissingProp=O0;function E0({gen:e,data:t,it:{opts:r}},n,o){return(0,ue.or)(...n.map(s=>(0,ue.and)(Gd(e,t,s,r.ownProperties),(0,ue._)`${o} = ${s}`)))}oe.checkMissingProp=E0;function I0(e,t){e.setParams({missingProperty:t},!0),e.error()}oe.reportMissingProp=I0;function _h(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ue._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=_h;function Kd(e,t,r){return(0,ue._)`${_h(e)}.call(${t}, ${r})`}oe.isOwnProperty=Kd;function C0(e,t,r,n){let o=(0,ue._)`${t}${(0,ue.getProperty)(r)} !== undefined`;return n?(0,ue._)`${o} && ${Kd(e,t,r)}`:o}oe.propertyInData=C0;function Gd(e,t,r,n){let o=(0,ue._)`${t}${(0,ue.getProperty)(r)} === undefined`;return n?(0,ue.or)(o,(0,ue.not)(Kd(e,t,r))):o}oe.noPropertyInData=Gd;function bh(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}oe.allSchemaProperties=bh;function A0(e,t){return bh(t).filter(r=>!(0,Hd.alwaysValidSchema)(e,t[r]))}oe.schemaProperties=A0;function M0({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,d){let u=d?(0,ue._)`${e}, ${t}, ${n}${o}`:t,l=[[Yt.default.instancePath,(0,ue.strConcat)(Yt.default.instancePath,s)],[Yt.default.parentData,i.parentData],[Yt.default.parentDataProperty,i.parentDataProperty],[Yt.default.rootData,Yt.default.rootData]];i.opts.dynamicRef&&l.push([Yt.default.dynamicAnchors,Yt.default.dynamicAnchors]);let m=(0,ue._)`${u}, ${r.object(...l)}`;return c!==ue.nil?(0,ue._)`${a}.call(${c}, ${m})`:(0,ue._)`${a}(${m})`}oe.callValidateCode=M0;var N0=(0,ue._)`new RegExp`;function D0({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,ue._)`${o.code==="new RegExp"?N0:(0,j0.useFunc)(e,o)}(${r}, ${n})`})}oe.usePattern=D0;function L0(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",(0,ue._)`${r}.length`);t.forRange("i",0,c,d=>{e.subschema({keyword:n,dataProp:d,dataPropType:Hd.Type.Num},s),t.if((0,ue.not)(s),a)})}}oe.validateArray=L0;function Z0(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Hd.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,d)=>{let u=e.subschema({keyword:n,schemaProp:d,compositeRule:!0},a);t.assign(i,(0,ue._)`${i} || ${a}`),e.mergeValidEvaluated(u,a)||t.if((0,ue.not)(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}oe.validateUnion=Z0});var kh=P(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.validateKeywordUsage=wt.validSchemaType=wt.funcKeywordCode=wt.macroKeywordCode=void 0;var Ne=F(),Cr=At(),U0=ot(),q0=mo();function J0(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=wh(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let d=r.name("valid");e.subschema({schema:a,schemaPath:Ne.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},d),e.pass(d,()=>e.error(!0))}wt.macroKeywordCode=J0;function F0(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;B0(c,t);let d=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,u=wh(n,o,d),l=n.let("valid");e.block$data(l,m),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function m(){if(t.errors===!1)g(),t.modifying&&vh(e),y(()=>e.error());else{let v=t.async?f():h();t.modifying&&vh(e),y(()=>V0(e,v))}}function f(){let v=n.let("ruleErrs",null);return n.try(()=>g((0,Ne._)`await `),w=>n.assign(l,!1).if((0,Ne._)`${w} instanceof ${c.ValidationError}`,()=>n.assign(v,(0,Ne._)`${w}.errors`),()=>n.throw(w))),v}function h(){let v=(0,Ne._)`${u}.errors`;return n.assign(v,null),g(Ne.nil),v}function g(v=t.async?(0,Ne._)`await `:Ne.nil){let w=c.opts.passContext?Cr.default.this:Cr.default.self,k=!("compile"in t&&!a||t.schema===!1);n.assign(l,(0,Ne._)`${v}${(0,U0.callValidateCode)(e,u,w,k)}`,t.modifying)}function y(v){var w;n.if((0,Ne.not)((w=t.valid)!==null&&w!==void 0?w:l),v)}}wt.funcKeywordCode=F0;function vh(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Ne._)`${n.parentData}[${n.parentDataProperty}]`))}function V0(e,t){let{gen:r}=e;r.if((0,Ne._)`Array.isArray(${t})`,()=>{r.assign(Cr.default.vErrors,(0,Ne._)`${Cr.default.vErrors} === null ? ${t} : ${Cr.default.vErrors}.concat(${t})`).assign(Cr.default.errors,(0,Ne._)`${Cr.default.vErrors}.length`),(0,q0.extendErrors)(e)},()=>e.error())}function B0({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function wh(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ne.stringify)(r)})}function W0(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}wt.validSchemaType=W0;function H0({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}wt.validateKeywordUsage=H0});var Sh=P(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.extendSubschemaMode=Xt.extendSubschemaData=Xt.getSubschema=void 0;var kt=F(),xh=ee();function K0(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,kt._)`${e.schemaPath}${(0,kt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,kt._)`${e.schemaPath}${(0,kt.getProperty)(t)}${(0,kt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,xh.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Xt.getSubschema=K0;function G0(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:d,dataPathArr:u,opts:l}=t,m=a.let("data",(0,kt._)`${t.data}${(0,kt.getProperty)(r)}`,!0);c(m),e.errorPath=(0,kt.str)`${d}${(0,xh.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0,kt._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(o!==void 0){let d=o instanceof kt.Name?o:a.let("data",o,!0);c(d),i!==void 0&&(e.propertyName=i)}s&&(e.dataTypes=s);function c(d){e.data=d,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,d]}}Xt.extendSubschemaData=G0;function Q0(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}Xt.extendSubschemaMode=Q0});var Qd=P((v2,$h)=>{"use strict";$h.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var Ph=P((w2,zh)=>{"use strict";var er=zh.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Ys(t,n,o,e,"",e)};er.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};er.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};er.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};er.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 Ys(e,t,r,n,o,s,i,a,c,d){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,d);for(var u in n){var l=n[u];if(Array.isArray(l)){if(u in er.arrayKeywords)for(var m=0;m<l.length;m++)Ys(e,t,r,l[m],o+"/"+u+"/"+m,s,o,u,n,m)}else if(u in er.propsKeywords){if(l&&typeof l=="object")for(var f in l)Ys(e,t,r,l[f],o+"/"+u+"/"+Y0(f),s,o,u,n,f)}else(u in er.keywords||e.allKeys&&!(u in er.skipKeywords))&&Ys(e,t,r,l,o+"/"+u,s,o,u,n)}r(n,o,s,i,a,c,d)}}function Y0(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var ho=P(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.getSchemaRefs=Fe.resolveUrl=Fe.normalizeId=Fe._getFullPath=Fe.getFullPath=Fe.inlineRef=void 0;var X0=ee(),e$=Qd(),t$=Ph(),r$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function n$(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Yd(e):t?Th(e)<=t:!1}Fe.inlineRef=n$;var o$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Yd(e){for(let t in e){if(o$.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Yd)||typeof r=="object"&&Yd(r))return!0}return!1}function Th(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!r$.has(r)&&(typeof e[r]=="object"&&(0,X0.eachItem)(e[r],n=>t+=Th(n)),t===1/0))return 1/0}return t}function Rh(e,t="",r){r!==!1&&(t=yn(t));let n=e.parse(t);return jh(e,n)}Fe.getFullPath=Rh;function jh(e,t){return e.serialize(t).split("#")[0]+"#"}Fe._getFullPath=jh;var s$=/#\/?$/;function yn(e){return e?e.replace(s$,""):""}Fe.normalizeId=yn;function i$(e,t,r){return r=yn(r),e.resolve(t,r)}Fe.resolveUrl=i$;var a$=/^[a-z_][-a-z0-9._]*$/i;function c$(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=yn(e[r]||t),s={"":o},i=Rh(n,o,!1),a={},c=new Set;return t$(e,{allKeys:!0},(l,m,f,h)=>{if(h===void 0)return;let g=i+m,y=s[h];typeof l[r]=="string"&&(y=v.call(this,l[r])),w.call(this,l.$anchor),w.call(this,l.$dynamicAnchor),s[m]=y;function v(k){let j=this.opts.uriResolver.resolve;if(k=yn(y?j(y,k):k),c.has(k))throw u(k);c.add(k);let M=this.refs[k];return typeof M=="string"&&(M=this.refs[M]),typeof M=="object"?d(l,M.schema,k):k!==yn(g)&&(k[0]==="#"?(d(l,a[k],k),a[k]=l):this.refs[k]=g),k}function w(k){if(typeof k=="string"){if(!a$.test(k))throw new Error(`invalid anchor "${k}"`);v.call(this,`#${k}`)}}}),a;function d(l,m,f){if(m!==void 0&&!e$(l,m))throw u(f)}function u(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Fe.getSchemaRefs=c$});var _o=P(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.getData=tr.KeywordCxt=tr.validateFunctionCode=void 0;var Ah=uh(),Oh=fo(),eu=Fd(),Xs=fo(),d$=yh(),yo=kh(),Xd=Sh(),C=F(),Z=At(),u$=ho(),Mt=ee(),go=mo();function l$(e){if(Dh(e)&&(Lh(e),Nh(e))){f$(e);return}Mh(e,()=>(0,Ah.topBoolOrEmptySchema)(e))}tr.validateFunctionCode=l$;function Mh({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,(0,C._)`${Z.default.data}, ${Z.default.valCxt}`,n.$async,()=>{e.code((0,C._)`"use strict"; ${Eh(r,o)}`),m$(e,o),e.code(s)}):e.func(t,(0,C._)`${Z.default.data}, ${p$(o)}`,n.$async,()=>e.code(Eh(r,o)).code(s))}function p$(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 m$(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 f$(e){let{schema:t,opts:r,gen:n}=e;Mh(e,()=>{r.$comment&&t.$comment&&Uh(e),b$(e),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&h$(e),Zh(e),k$(e)})}function h$(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,C._)`${r}.evaluated`),t.if((0,C._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,C._)`${e.evaluated}.props`,(0,C._)`undefined`)),t.if((0,C._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,C._)`${e.evaluated}.items`,(0,C._)`undefined`))}function Eh(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,C._)`/*# sourceURL=${r} */`:C.nil}function g$(e,t){if(Dh(e)&&(Lh(e),Nh(e))){y$(e,t);return}(0,Ah.boolOrEmptySchema)(e,t)}function Nh({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Dh(e){return typeof e.schema!="boolean"}function y$(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&Uh(e),v$(e),w$(e);let s=n.const("_errs",Z.default.errors);Zh(e,s),n.var(t,(0,C._)`${s} === ${Z.default.errors}`)}function Lh(e){(0,Mt.checkUnknownRules)(e),_$(e)}function Zh(e,t){if(e.opts.jtd)return Ih(e,[],!1,t);let r=(0,Oh.getSchemaTypes)(e.schema),n=(0,Oh.coerceAndCheckDataType)(e,r);Ih(e,r,!n,t)}function _$(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Mt.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function b$(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Mt.checkStrictMode)(e,"default is ignored in the schema root")}function v$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,u$.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function w$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Uh({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code((0,C._)`${Z.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,C.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,C._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function k$(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if((0,C._)`${Z.default.errors} === 0`,()=>t.return(Z.default.data),()=>t.throw((0,C._)`new ${o}(${Z.default.vErrors})`)):(t.assign((0,C._)`${n}.errors`,Z.default.vErrors),s.unevaluated&&x$(e),t.return((0,C._)`${Z.default.errors} === 0`))}function x$({gen:e,evaluated:t,props:r,items:n}){r instanceof C.Name&&e.assign((0,C._)`${t}.props`,r),n instanceof C.Name&&e.assign((0,C._)`${t}.items`,n)}function Ih(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:d}=e,{RULES:u}=d;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Mt.schemaHasRulesButRef)(s,u))){o.block(()=>Jh(e,"$ref",u.all.$ref.definition));return}c.jtd||S$(e,t),o.block(()=>{for(let m of u.rules)l(m);l(u.post)});function l(m){(0,eu.shouldUseGroup)(s,m)&&(m.type?(o.if((0,Xs.checkDataType)(m.type,i,c.strictNumbers)),Ch(e,m),t.length===1&&t[0]===m.type&&r&&(o.else(),(0,Xs.reportTypeError)(e)),o.endIf()):Ch(e,m),a||o.if((0,C._)`${Z.default.errors} === ${n||0}`))}}function Ch(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,d$.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,eu.shouldUseRule)(n,s)&&Jh(e,s.keyword,s.definition,t.type)})}function S$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||($$(e,t),e.opts.allowUnionTypes||z$(e,t),P$(e,e.dataTypes))}function $$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{qh(e.dataTypes,r)||tu(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),R$(e,t)}}function z$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&tu(e,"use allowUnionTypes to allow union type keyword")}function P$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,eu.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>T$(t,i))&&tu(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function T$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function qh(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function R$(e,t){let r=[];for(let n of e.dataTypes)qh(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function tu(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Mt.checkStrictMode)(e,t,e.opts.strictTypes)}var ei=class{constructor(t,r,n){if((0,yo.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Mt.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Fh(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,yo.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Z.default.errors))}result(t,r,n){this.failResult((0,C.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,C.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,C._)`${r} !== undefined && (${(0,C.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?go.reportExtraError:go.reportError)(this,this.def.error,r)}$dataError(){(0,go.reportError)(this,this.def.$dataError||go.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,go.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=C.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=C.nil,r=C.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,C.or)((0,C._)`${o} === undefined`,r)),t!==C.nil&&n.assign(t,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==C.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(n.length){if(!(r instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,C._)`${(0,Xs.checkDataTypes)(c,r,s.opts.strictNumbers,Xs.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${r})`}return C.nil}}subschema(t,r){let n=(0,Xd.getSubschema)(this.it,t);(0,Xd.extendSubschemaData)(n,this.it,t),(0,Xd.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return g$(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Mt.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Mt.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,C.Name)),!0}};tr.KeywordCxt=ei;function Jh(e,t,r,n){let o=new ei(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,yo.funcKeywordCode)(o,r):"macro"in r?(0,yo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,yo.funcKeywordCode)(o,r)}var j$=/^\/(?:[^~]|~0|~1)*$/,O$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Fh(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return Z.default.rootData;if(e[0]==="/"){if(!j$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=Z.default.rootData}else{let d=O$.exec(e);if(!d)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+d[1];if(o=d[2],o==="#"){if(u>=t)throw new Error(c("property/index",u));return n[t-u]}if(u>t)throw new Error(c("data",u));if(s=r[t-u],!o)return s}let i=s,a=o.split("/");for(let d of a)d&&(s=(0,C._)`${s}${(0,C.getProperty)((0,Mt.unescapeJsonPointer)(d))}`,i=(0,C._)`${i} && ${s}`);return i;function c(d,u){return`Cannot access ${d} ${u} levels up, current level is ${t}`}}tr.getData=Fh});var ti=P(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});var ru=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};nu.default=ru});var bo=P(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});var ou=ho(),su=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,ou.resolveUrl)(t,r,n),this.missingSchema=(0,ou.normalizeId)((0,ou.getFullPath)(t,this.missingRef))}};iu.default=su});var ni=P(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.resolveSchema=st.getCompilingSchema=st.resolveRef=st.compileSchema=st.SchemaEnv=void 0;var pt=F(),E$=ti(),Ar=At(),mt=ho(),Vh=ee(),I$=_o(),_n=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,mt.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};st.SchemaEnv=_n;function cu(e){let t=Bh.call(this,e);if(t)return t;let r=(0,mt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new pt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:E$.default,code:(0,pt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let d={gen:i,allErrors:this.opts.allErrors,data:Ar.default.data,parentData:Ar.default.parentData,parentDataProperty:Ar.default.parentDataProperty,dataNames:[Ar.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:r,baseId:e.baseId||r,schemaPath:pt.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,pt._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,I$.validateFunctionCode)(d),i.optimize(this.opts.code.optimize);let l=i.toString();u=`${i.scopeRefs(Ar.default.scope)}return ${l}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let f=new Function(`${Ar.default.self}`,`${Ar.default.scope}`,u)(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}=d;f.evaluated={props:h instanceof pt.Name?void 0:h,items:g instanceof pt.Name?void 0:g,dynamicProps:h instanceof pt.Name,dynamicItems:g instanceof pt.Name},f.source&&(f.source.evaluated=(0,pt.stringify)(f.evaluated))}return e.validate=f,e}catch(l){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),l}finally{this._compilations.delete(e)}}st.compileSchema=cu;function C$(e,t,r){var n;r=(0,mt.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=N$.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new _n({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=A$.call(this,s)}st.resolveRef=C$;function A$(e){return(0,mt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:cu.call(this,e)}function Bh(e){for(let t of this._compilations)if(M$(t,e))return t}st.getCompilingSchema=Bh;function M$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function N$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||ri.call(this,e,t)}function ri(e,t){let r=this.opts.uriResolver.parse(t),n=(0,mt._getFullPath)(this.opts.uriResolver,r),o=(0,mt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return au.call(this,r,e);let s=(0,mt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=ri.call(this,e,i);return typeof a?.schema!="object"?void 0:au.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||cu.call(this,i),s===(0,mt.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,d=a[c];return d&&(o=(0,mt.resolveUrl)(this.opts.uriResolver,o,d)),new _n({schema:a,schemaId:c,root:e,baseId:o})}return au.call(this,r,i)}}st.resolveSchema=ri;var D$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function au(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Vh.unescapeFragment)(a)];if(c===void 0)return;r=c;let d=typeof r=="object"&&r[this.opts.schemaId];!D$.has(a)&&d&&(t=(0,mt.resolveUrl)(this.opts.uriResolver,t,d))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Vh.schemaHasRulesButRef)(r,this.RULES)){let a=(0,mt.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=ri.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new _n({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s}});var Wh=P((P2,L$)=>{L$.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 uu=P((T2,Qh)=>{"use strict";var Z$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Kh=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 du(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var U$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Hh(e){return e.length=0,!0}function q$(e,t,r){if(e.length){let n=du(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function J$(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=q$;for(let c=0;c<e.length;c++){let d=e[c];if(!(d==="["||d==="]"))if(d===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),n.push(":");continue}else if(d==="%"){if(!a(o,n,r))break;a=Hh}else{o.push(d);continue}}return o.length&&(a===Hh?r.zone=o.join(""):i?n.push(o.join("")):n.push(du(o))),r.address=n.join(""),r}function Gh(e){if(F$(e,":")<2)return{host:e,isIPV6:!1};let t=J$(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function F$(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function V$(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function B$(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function W$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Kh(r)){let n=Gh(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Qh.exports={nonSimpleDomain:U$,recomposeAuthority:W$,normalizeComponentEncoding:B$,removeDotSegments:V$,isIPv4:Kh,isUUID:Z$,normalizeIPv6:Gh,stringArrayToHexStripped:du}});var rg=P((R2,tg)=>{"use strict";var{isUUID:H$}=uu(),K$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,G$=["http","https","ws","wss","urn","urn:uuid"];function Q$(e){return G$.indexOf(e)!==-1}function lu(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 Yh(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Xh(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 Y$(e){return e.secure=lu(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function X$(e){if((e.port===(lu(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function ez(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(K$);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,s=pu(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function tz(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,s=pu(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function rz(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!H$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function nz(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var eg={scheme:"http",domainHost:!0,parse:Yh,serialize:Xh},oz={scheme:"https",domainHost:eg.domainHost,parse:Yh,serialize:Xh},oi={scheme:"ws",domainHost:!0,parse:Y$,serialize:X$},sz={scheme:"wss",domainHost:oi.domainHost,parse:oi.parse,serialize:oi.serialize},iz={scheme:"urn",parse:ez,serialize:tz,skipNormalize:!0},az={scheme:"urn:uuid",parse:rz,serialize:nz,skipNormalize:!0},si={http:eg,https:oz,ws:oi,wss:sz,urn:iz,"urn:uuid":az};Object.setPrototypeOf(si,null);function pu(e){return e&&(si[e]||si[e.toLowerCase()])||void 0}tg.exports={wsIsSecure:lu,SCHEMES:si,isValidSchemeName:Q$,getSchemeHandler:pu}});var sg=P((j2,ai)=>{"use strict";var{normalizeIPv6:cz,removeDotSegments:vo,recomposeAuthority:dz,normalizeComponentEncoding:ii,isIPv4:uz,nonSimpleDomain:lz}=uu(),{SCHEMES:pz,getSchemeHandler:ng}=rg();function mz(e,t){return typeof e=="string"?e=xt(Nt(e,t),t):typeof e=="object"&&(e=Nt(xt(e,t),t)),e}function fz(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=og(Nt(e,n),Nt(t,n),n,!0);return n.skipEscape=!0,xt(o,n)}function og(e,t,r,n){let o={};return n||(e=Nt(xt(e,r),r),t=Nt(xt(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=vo(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=vo(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=vo(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=vo(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 hz(e,t,r){return typeof e=="string"?(e=unescape(e),e=xt(ii(Nt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=xt(ii(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=xt(ii(Nt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=xt(ii(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function xt(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],s=ng(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=dz(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=vo(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var gz=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Nt(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let s=e.match(gz);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(uz(n.host)===!1){let c=cz(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let i=ng(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&lz(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var mu={SCHEMES:pz,normalize:mz,resolve:fz,resolveComponent:og,equal:hz,serialize:xt,parse:Nt};ai.exports=mu;ai.exports.default=mu;ai.exports.fastUri=mu});var ag=P(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});var ig=sg();ig.code='require("ajv/dist/runtime/uri").default';fu.default=ig});var hg=P(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 yz=_o();Object.defineProperty(ze,"KeywordCxt",{enumerable:!0,get:function(){return yz.KeywordCxt}});var bn=F();Object.defineProperty(ze,"_",{enumerable:!0,get:function(){return bn._}});Object.defineProperty(ze,"str",{enumerable:!0,get:function(){return bn.str}});Object.defineProperty(ze,"stringify",{enumerable:!0,get:function(){return bn.stringify}});Object.defineProperty(ze,"nil",{enumerable:!0,get:function(){return bn.nil}});Object.defineProperty(ze,"Name",{enumerable:!0,get:function(){return bn.Name}});Object.defineProperty(ze,"CodeGen",{enumerable:!0,get:function(){return bn.CodeGen}});var _z=ti(),pg=bo(),bz=Jd(),wo=ni(),vz=F(),ko=ho(),ci=fo(),gu=ee(),cg=Wh(),wz=ag(),mg=(e,t)=>new RegExp(e,t);mg.code="new RegExp";var kz=["removeAdditional","useDefaults","coerceTypes"],xz=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Sz={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."},$z={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},dg=200;function zz(e){var t,r,n,o,s,i,a,c,d,u,l,m,f,h,g,y,v,w,k,j,M,Ie,Qe,Fr,Di;let Rn=e.strict,Li=(t=e.code)===null||t===void 0?void 0:t.optimize,Gl=Li===!0||Li===void 0?1:Li||0,Ql=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:mg,Sb=(o=e.uriResolver)!==null&&o!==void 0?o:wz.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:Rn)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:Rn)!==null&&c!==void 0?c:!0,strictTypes:(u=(d=e.strictTypes)!==null&&d!==void 0?d:Rn)!==null&&u!==void 0?u:"log",strictTuples:(m=(l=e.strictTuples)!==null&&l!==void 0?l:Rn)!==null&&m!==void 0?m:"log",strictRequired:(h=(f=e.strictRequired)!==null&&f!==void 0?f:Rn)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:Gl,regExp:Ql}:{optimize:Gl,regExp:Ql},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:dg,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:dg,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:(Ie=e.validateSchema)!==null&&Ie!==void 0?Ie:!0,validateFormats:(Qe=e.validateFormats)!==null&&Qe!==void 0?Qe:!0,unicodeRegExp:(Fr=e.unicodeRegExp)!==null&&Fr!==void 0?Fr:!0,int32range:(Di=e.int32range)!==null&&Di!==void 0?Di:!0,uriResolver:Sb}}var xo=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...zz(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new vz.ValueScope({scope:{},prefixes:xz,es5:r,lines:n}),this.logger=Ez(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,bz.getRules)(),ug.call(this,Sz,t,"NOT SUPPORTED"),ug.call(this,$z,t,"DEPRECATED","warn"),this._metaOpts=jz.call(this),t.formats&&Tz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Rz.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Pz.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=cg;n==="id"&&(o={...cg},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,t,r);async function o(u,l){await s.call(this,u.$schema);let m=this._addSchema(u,l);return m.validate||i.call(this,m)}async function s(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function i(u){try{return this._compileSchemaEnv(u)}catch(l){if(!(l instanceof pg.default))throw l;return a.call(this,l),await c.call(this,l.missingSchema),i.call(this,u)}}function a({missingSchema:u,missingRef:l}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${l} cannot be resolved`)}async function c(u){let l=await d.call(this,u);this.refs[u]||await s.call(this,l.$schema),this.refs[u]||this.addSchema(l,u,r)}async function d(u){let l=this._loading[u];if(l)return l;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let i of t)this.addSchema(i,void 0,n,o);return this}let s;if(typeof t=="object"){let{schemaId:i}=this.opts;if(s=t[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,ko.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,t);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(t){let r;for(;typeof(r=lg.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new wo.SchemaEnv({schema:{},schemaId:n});if(r=wo.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=lg.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,ko.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Cz.call(this,n,r),!r)return(0,gu.eachItem)(n,s=>hu.call(this,s)),this;Mz.call(this,r);let o={...r,type:(0,ci.getJSONTypes)(r.type),schemaType:(0,ci.getJSONTypes)(r.schemaType)};return(0,gu.eachItem)(n,o.type.length===0?s=>hu.call(this,s,o):s=>o.type.forEach(i=>hu.call(this,s,o,i))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let s=o.split("/").slice(1),i=t;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:d}=c.definition,u=i[a];d&&u&&(i[a]=fg(u))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof t=="object")i=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,ko.normalizeId)(i||n);let d=ko.getSchemaRefs.call(this,t,n);return c=new wo.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:d}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):wo.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{wo.compileSchema.call(this,t)}finally{this.opts=r}}};xo.ValidationError=_z.default;xo.MissingRefError=pg.default;ze.default=xo;function ug(e,t,r,n="error"){for(let o in e){let s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function lg(e){return e=(0,ko.normalizeId)(e),this.schemas[e]||this.refs[e]}function Pz(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function Tz(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function Rz(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function jz(){let e={...this.opts};for(let t of kz)delete e[t];return e}var Oz={log(){},warn(){},error(){}};function Ez(e){if(e===!1)return Oz;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var Iz=/^[a-z_$][a-z0-9_$:-]*$/i;function Cz(e,t){let{RULES:r}=this;if((0,gu.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Iz.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function hu(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,ci.getJSONTypes)(t.type),schemaType:(0,ci.getJSONTypes)(t.schemaType)}};t.before?Az.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function Az(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function Mz(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=fg(t)),e.validateSchema=this.compile(t,!0))}var Nz={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function fg(e){return{anyOf:[e,Nz]}}});var gg=P(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});var Dz={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};yu.default=Dz});var vg=P(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.callRef=Mr.getValidate=void 0;var Lz=bo(),yg=ot(),Ve=F(),vn=At(),_g=ni(),di=ee(),Zz={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:d}=s;if((r==="#"||r==="#/")&&o===d.baseId)return l();let u=_g.resolveRef.call(c,d,o,r);if(u===void 0)throw new Lz.default(n.opts.uriResolver,o,r);if(u instanceof _g.SchemaEnv)return m(u);return f(u);function l(){if(s===d)return ui(e,i,s,s.$async);let h=t.scopeValue("root",{ref:d});return ui(e,(0,Ve._)`${h}.validate`,d,d.$async)}function m(h){let g=bg(e,h);ui(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:r},y);e.mergeEvaluated(v),e.ok(y)}}};function bg(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Ve._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Mr.getValidate=bg;function ui(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,d=c.passContext?vn.default.this:Ve.nil;n?u():l();function u(){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,yg.callValidateCode)(e,t,d)}`),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,yg.callValidateCode)(e,t,d),()=>f(t),()=>m(t))}function m(h){let g=(0,Ve._)`${h}.errors`;o.assign(vn.default.vErrors,(0,Ve._)`${vn.default.vErrors} === null ? ${g} : ${vn.default.vErrors}.concat(${g})`),o.assign(vn.default.errors,(0,Ve._)`${vn.default.vErrors}.length`)}function f(h){var g;if(!s.opts.unevaluated)return;let y=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=di.mergeEvaluated.props(o,y.props,s.props));else{let v=o.var("props",(0,Ve._)`${h}.evaluated.props`);s.props=di.mergeEvaluated.props(o,v,s.props,Ve.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=di.mergeEvaluated.items(o,y.items,s.items));else{let v=o.var("items",(0,Ve._)`${h}.evaluated.items`);s.items=di.mergeEvaluated.items(o,v,s.items,Ve.Name)}}}Mr.callRef=ui;Mr.default=Zz});var wg=P(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});var Uz=gg(),qz=vg(),Jz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Uz.default,qz.default];_u.default=Jz});var kg=P(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});var li=F(),rr=li.operators,pi={maximum:{okStr:"<=",ok:rr.LTE,fail:rr.GT},minimum:{okStr:">=",ok:rr.GTE,fail:rr.LT},exclusiveMaximum:{okStr:"<",ok:rr.LT,fail:rr.GTE},exclusiveMinimum:{okStr:">",ok:rr.GT,fail:rr.LTE}},Fz={message:({keyword:e,schemaCode:t})=>(0,li.str)`must be ${pi[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,li._)`{comparison: ${pi[e].okStr}, limit: ${t}}`},Vz={keyword:Object.keys(pi),type:"number",schemaType:"number",$data:!0,error:Fz,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,li._)`${r} ${pi[t].fail} ${n} || isNaN(${r})`)}};bu.default=Vz});var xg=P(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});var So=F(),Bz={message:({schemaCode:e})=>(0,So.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,So._)`{multipleOf: ${e}}`},Wz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Bz,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,So._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,So._)`${i} !== parseInt(${i})`;e.fail$data((0,So._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};vu.default=Wz});var $g=P(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});function Sg(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}wu.default=Sg;Sg.code='require("ajv/dist/runtime/ucs2length").default'});var zg=P(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var Nr=F(),Hz=ee(),Kz=$g(),Gz={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Nr.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Nr._)`{limit: ${e}}`},Qz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Gz,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?Nr.operators.GT:Nr.operators.LT,i=o.opts.unicode===!1?(0,Nr._)`${r}.length`:(0,Nr._)`${(0,Hz.useFunc)(e.gen,Kz.default)}(${r})`;e.fail$data((0,Nr._)`${i} ${s} ${n}`)}};ku.default=Qz});var Pg=P(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var Yz=ot(),mi=F(),Xz={message:({schemaCode:e})=>(0,mi.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,mi._)`{pattern: ${e}}`},e1={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Xz,code(e){let{data:t,$data:r,schema:n,schemaCode:o,it:s}=e,i=s.opts.unicodeRegExp?"u":"",a=r?(0,mi._)`(new RegExp(${o}, ${i}))`:(0,Yz.usePattern)(e,n);e.fail$data((0,mi._)`!${a}.test(${t})`)}};xu.default=e1});var Tg=P(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});var $o=F(),t1={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,$o.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,$o._)`{limit: ${e}}`},r1={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:t1,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?$o.operators.GT:$o.operators.LT;e.fail$data((0,$o._)`Object.keys(${r}).length ${o} ${n}`)}};Su.default=r1});var Rg=P($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});var zo=ot(),Po=F(),n1=ee(),o1={message:({params:{missingProperty:e}})=>(0,Po.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Po._)`{missingProperty: ${e}}`},s1={keyword:"required",type:"object",schemaType:"array",$data:!0,error:o1,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?d():u(),a.strictRequired){let f=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)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,n1.checkStrictMode)(i,v,i.opts.strictRequired)}}function d(){if(c||s)e.block$data(Po.nil,l);else for(let f of r)(0,zo.checkReportMissingProp)(e,f)}function u(){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,zo.checkMissingProp)(e,r,f)),(0,zo.reportMissingProp)(e,f),t.else()}function l(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,zo.noPropertyInData)(t,o,f,a.ownProperties),()=>e.error())})}function m(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,zo.propertyInData)(t,o,f,a.ownProperties)),t.if((0,Po.not)(h),()=>{e.error(),t.break()})},Po.nil)}}};$u.default=s1});var jg=P(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});var To=F(),i1={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,To.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,To._)`{limit: ${e}}`},a1={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:i1,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?To.operators.GT:To.operators.LT;e.fail$data((0,To._)`${r}.length ${o} ${n}`)}};zu.default=a1});var fi=P(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var Og=Qd();Og.code='require("ajv/dist/runtime/equal").default';Pu.default=Og});var Eg=P(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});var Tu=fo(),Pe=F(),c1=ee(),d1=fi(),u1={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}}`},l1={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:u1,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),d=s.items?(0,Tu.getSchemaTypes)(s.items):[];e.block$data(c,u,(0,Pe._)`${i} === false`),e.ok(c);function u(){let h=t.let("i",(0,Pe._)`${r}.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 d.length>0&&!d.some(h=>h==="object"||h==="array")}function m(h,g){let y=t.name("item"),v=(0,Tu.checkDataTypes)(d,y,a.opts.strictNumbers,Tu.DataType.Wrong),w=t.const("indices",(0,Pe._)`{}`);t.for((0,Pe._)`;${h}--;`,()=>{t.let(y,(0,Pe._)`${r}[${h}]`),t.if(v,(0,Pe._)`continue`),d.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,c1.useFunc)(t,d1.default),v=t.name("outer");t.label(v).for((0,Pe._)`;${h}--;`,()=>t.for((0,Pe._)`${g} = ${h}; ${g}--;`,()=>t.if((0,Pe._)`${y}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(v)})))}}};Ru.default=l1});var Ig=P(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var ju=F(),p1=ee(),m1=fi(),f1={message:"must be equal to constant",params:({schemaCode:e})=>(0,ju._)`{allowedValue: ${e}}`},h1={keyword:"const",$data:!0,error:f1,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,ju._)`!${(0,p1.useFunc)(t,m1.default)}(${r}, ${o})`):e.fail((0,ju._)`${s} !== ${r}`)}};Ou.default=h1});var Cg=P(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});var Ro=F(),g1=ee(),y1=fi(),_1={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,Ro._)`{allowedValues: ${e}}`},b1={keyword:"enum",schemaType:"array",$data:!0,error:_1,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,d=()=>c??(c=(0,g1.useFunc)(t,y1.default)),u;if(a||n)u=t.let("valid"),e.block$data(u,l);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=t.const("vSchema",s);u=(0,Ro.or)(...o.map((h,g)=>m(f,g)))}e.pass(u);function l(){t.assign(u,!1),t.forOf("v",s,f=>t.if((0,Ro._)`${d()}(${r}, ${f})`,()=>t.assign(u,!0).break()))}function m(f,h){let g=o[h];return typeof g=="object"&&g!==null?(0,Ro._)`${d()}(${r}, ${f}[${h}])`:(0,Ro._)`${r} === ${g}`}}};Eu.default=b1});var Ag=P(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});var v1=kg(),w1=xg(),k1=zg(),x1=Pg(),S1=Tg(),$1=Rg(),z1=jg(),P1=Eg(),T1=Ig(),R1=Cg(),j1=[v1.default,w1.default,k1.default,x1.default,S1.default,$1.default,z1.default,P1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},T1.default,R1.default];Iu.default=j1});var Au=P(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.validateAdditionalItems=void 0;var Dr=F(),Cu=ee(),O1={message:({params:{len:e}})=>(0,Dr.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Dr._)`{limit: ${e}}`},E1={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:O1,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Cu.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Mg(e,n)}};function Mg(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",(0,Dr._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Dr._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Cu.alwaysValidSchema)(i,n)){let d=r.var("valid",(0,Dr._)`${a} <= ${t.length}`);r.if((0,Dr.not)(d),()=>c(d)),e.ok(d)}function c(d){r.forRange("i",t.length,a,u=>{e.subschema({keyword:s,dataProp:u,dataPropType:Cu.Type.Num},d),i.allErrors||r.if((0,Dr.not)(d),()=>r.break())})}}jo.validateAdditionalItems=Mg;jo.default=E1});var Mu=P(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.validateTuple=void 0;var Ng=F(),hi=ee(),I1=ot(),C1={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Dg(e,"additionalItems",t);r.items=!0,!(0,hi.alwaysValidSchema)(r,t)&&e.ok((0,I1.validateArray)(e))}};function Dg(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=hi.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),d=n.const("len",(0,Ng._)`${s}.length`);r.forEach((l,m)=>{(0,hi.alwaysValidSchema)(a,l)||(n.if((0,Ng._)`${d} > ${m}`,()=>e.subschema({keyword:i,schemaProp:m,dataProp:m},c)),e.ok(c))});function u(l){let{opts:m,errSchemaPath:f}=a,h=r.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,hi.checkStrictMode)(a,y,m.strictTuples)}}}Oo.validateTuple=Dg;Oo.default=C1});var Lg=P(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});var A1=Mu(),M1={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,A1.validateTuple)(e,"items")};Nu.default=M1});var Ug=P(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var Zg=F(),N1=ee(),D1=ot(),L1=Au(),Z1={message:({params:{len:e}})=>(0,Zg.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Zg._)`{limit: ${e}}`},U1={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Z1,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,N1.alwaysValidSchema)(n,t)&&(o?(0,L1.validateAdditionalItems)(e,o):e.ok((0,D1.validateArray)(e)))}};Du.default=U1});var qg=P(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});var it=F(),gi=ee(),q1={message:({params:{min:e,max:t}})=>t===void 0?(0,it.str)`must contain at least ${e} valid item(s)`:(0,it.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,it._)`{minContains: ${e}}`:(0,it._)`{minContains: ${e}, maxContains: ${t}}`},J1={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:q1,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:d}=n;s.opts.next?(i=c===void 0?1:c,a=d):i=1;let u=t.const("len",(0,it._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,gi.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,gi.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,gi.alwaysValidSchema)(s,r)){let g=(0,it._)`${u} >= ${i}`;a!==void 0&&(g=(0,it._)`${g} && ${u} <= ${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,it._)`${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,u,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:gi.Type.Num,compositeRule:!0},g),y()})}function h(g){t.code((0,it._)`${g}++`),a===void 0?t.if((0,it._)`${g} >= ${i}`,()=>t.assign(l,!0).break()):(t.if((0,it._)`${g} > ${a}`,()=>t.assign(l,!1).break()),i===1?t.assign(l,!0):t.if((0,it._)`${g} >= ${i}`,()=>t.assign(l,!0)))}}};Lu.default=J1});var Vg=P(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.validateSchemaDeps=St.validatePropertyDeps=St.error=void 0;var Zu=F(),F1=ee(),Eo=ot();St.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Zu.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Zu._)`{property: ${e},
8
8
  missingProperty: ${n},
9
9
  depsCount: ${t},
10
- deps: ${r}}`};var J1={keyword:"dependencies",type:"object",schemaType:"object",error:St.error,code(e){let[t,r]=F1(e);Jg(e,t),Fg(e,r)}};function F1({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Jg(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,Eo.propertyInData)(r,n,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let d of a)(0,Eo.checkReportMissingProp)(e,d)}):(r.if((0,Zu._)`${c} && (${(0,Eo.checkMissingProp)(e,a,s)})`),(0,Eo.reportMissingProp)(e,s),r.else())}}St.validatePropertyDeps=Jg;function Fg(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t)(0,q1.alwaysValidSchema)(s,t[a])||(r.if((0,Eo.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i))}St.validateSchemaDeps=Fg;St.default=J1});var Wg=P(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});var Bg=F(),V1=ee(),B1={message:"property name must be valid",params:({params:e})=>(0,Bg._)`{propertyName: ${e.propertyName}}`},W1={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:B1,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,V1.alwaysValidSchema)(o,r))return;let s=t.name("valid");t.forIn("key",n,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,Bg.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Uu.default=W1});var Ju=P(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});var yi=ot(),ft=F(),H1=At(),_i=ee(),K1={message:"must NOT have additional properties",params:({params:e})=>(0,ft._)`{additionalProperty: ${e.additionalProperty}}`},G1={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:K1,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,_i.alwaysValidSchema)(i,r))return;let d=(0,yi.allSchemaProperties)(n.properties),u=(0,yi.allSchemaProperties)(n.patternProperties);l(),e.ok((0,ft._)`${s} === ${H1.default.errors}`);function l(){t.forIn("key",o,y=>{!d.length&&!u.length?h(y):t.if(m(y),()=>h(y))})}function m(y){let v;if(d.length>8){let w=(0,_i.schemaRefOrVal)(i,n.properties,"properties");v=(0,yi.isOwnProperty)(t,w,y)}else d.length?v=(0,ft.or)(...d.map(w=>(0,ft._)`${y} === ${w}`)):v=ft.nil;return u.length&&(v=(0,ft.or)(v,...u.map(w=>(0,ft._)`${(0,yi.usePattern)(e,w)}.test(${y})`))),(0,ft.not)(v)}function f(y){t.code((0,ft._)`delete ${o}[${y}]`)}function h(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(y);return}if(r===!1){e.setParams({additionalProperty:y}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,_i.alwaysValidSchema)(i,r)){let v=t.name("valid");c.removeAdditional==="failing"?(g(y,v,!1),t.if((0,ft.not)(v),()=>{e.reset(),f(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:_i.Type.Str};w===!1&&Object.assign(k,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(k,v)}}};qu.default=G1});var Gg=P(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});var Q1=_o(),Hg=ot(),Fu=ee(),Kg=Ju(),Y1={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Kg.default.code(new Q1.KeywordCxt(s,Kg.default,"additionalProperties"));let i=(0,Hg.allSchemaProperties)(r);for(let l of i)s.definedProperties.add(l);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Fu.mergeEvaluated.props(t,(0,Fu.toHash)(i),s.props));let a=i.filter(l=>!(0,Fu.alwaysValidSchema)(s,r[l]));if(a.length===0)return;let c=t.name("valid");for(let l of a)d(l)?u(l):(t.if((0,Hg.propertyInData)(t,o,l,s.opts.ownProperties)),u(l),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(l),e.ok(c);function d(l){return s.opts.useDefaults&&!s.compositeRule&&r[l].default!==void 0}function u(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},c)}}};Vu.default=Y1});var ey=P(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});var Qg=ot(),bi=F(),Yg=ee(),Xg=ee(),X1={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Qg.allSchemaProperties)(r),c=a.filter(g=>(0,Yg.alwaysValidSchema)(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let d=i.strictSchema&&!i.allowMatchingProperties&&o.properties,u=t.name("valid");s.props!==!0&&!(s.props instanceof bi.Name)&&(s.props=(0,Xg.evaluatedPropsToName)(t,s.props));let{props:l}=s;m();function m(){for(let g of a)d&&f(g),s.allErrors?h(g):(t.var(u,!0),h(g),t.if(u))}function f(g){for(let y in d)new RegExp(g).test(y)&&(0,Yg.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,y=>{t.if((0,bi._)`${(0,Qg.usePattern)(e,g)}.test(${y})`,()=>{let v=c.includes(g);v||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Xg.Type.Str},u),s.opts.unevaluated&&l!==!0?t.assign((0,bi._)`${l}[${y}]`,!0):!v&&!s.allErrors&&t.if((0,bi.not)(u),()=>t.break())})})}}};Bu.default=X1});var ty=P(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});var eP=ee(),tP={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,eP.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Wu.default=tP});var ry=P(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});var rP=ot(),nP={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:rP.validateUnion,error:{message:"must match a schema in anyOf"}};Hu.default=nP});var ny=P(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});var vi=F(),oP=ee(),sP={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,vi._)`{passingSchemas: ${e.passing}}`},iP={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:sP,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(d),e.result(i,()=>e.reset(),()=>e.error(!0));function d(){s.forEach((u,l)=>{let m;(0,oP.alwaysValidSchema)(o,u)?t.var(c,!0):m=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:!0},c),l>0&&t.if((0,vi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,vi._)`[${a}, ${l}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,l),m&&e.mergeEvaluated(m,vi.Name)})})}}};Ku.default=iP});var oy=P(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});var aP=ee(),cP={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((s,i)=>{if((0,aP.alwaysValidSchema)(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};Gu.default=cP});var ay=P(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});var wi=F(),iy=ee(),dP={message:({params:e})=>(0,wi.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,wi._)`{failingKeyword: ${e.ifClause}}`},uP={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:dP,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,iy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=sy(n,"then"),s=sy(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(a,d("then",u),d("else",u))}else o?t.if(a,d("then")):t.if((0,wi.not)(a),d("else"));e.pass(i,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(u)}function d(u,l){return()=>{let m=e.subschema({keyword:u},a);t.assign(i,a),e.mergeValidEvaluated(m,i),l?t.assign(l,(0,wi._)`${u}`):e.setParams({ifClause:u})}}}};function sy(e,t){let r=e.schema[t];return r!==void 0&&!(0,iy.alwaysValidSchema)(e,r)}Qu.default=uP});var cy=P(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});var lP=ee(),pP={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,lP.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Yu.default=pP});var dy=P(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});var mP=Au(),fP=Lg(),hP=Mu(),gP=Ug(),yP=qg(),_P=Vg(),bP=Wg(),vP=Ju(),wP=Gg(),kP=ey(),xP=ty(),SP=ry(),$P=ny(),zP=oy(),PP=ay(),TP=cy();function RP(e=!1){let t=[xP.default,SP.default,$P.default,zP.default,PP.default,TP.default,bP.default,vP.default,_P.default,wP.default,kP.default];return e?t.push(fP.default,gP.default):t.push(mP.default,hP.default),t.push(yP.default),t}Xu.default=RP});var uy=P(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});var _e=F(),jP={message:({schemaCode:e})=>(0,_e.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,_e._)`{format: ${e}}`},OP={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:jP,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:d,schemaEnv:u,self:l}=a;if(!c.validateFormats)return;o?m():f();function m(){let h=r.scopeValue("formats",{ref:l.formats,code:c.code.formats}),g=r.const("fDef",(0,_e._)`${h}[${i}]`),y=r.let("fType"),v=r.let("format");r.if((0,_e._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,_e._)`${g}.type || "string"`).assign(v,(0,_e._)`${g}.validate`),()=>r.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=u.$async?(0,_e._)`(${g}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,_e._)`${v}(${n})`,M=(0,_e._)`(typeof ${v} == "function" ? ${j} : ${v}.test(${n}))`;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 "${d}"`}}function k(M){let Ie=M instanceof RegExp?(0,_e.regexpCode)(M):c.code.formats?(0,_e._)`${c.code.formats}${(0,_e.getProperty)(s)}`:void 0,Qe=r.scopeValue("formats",{key:s,ref:M,code:Ie});return typeof M=="object"&&!(M instanceof RegExp)?[M.type||"string",M.validate,(0,_e._)`${Qe}.validate`]:["string",M,Qe]}function j(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!u.$async)throw new Error("async format in sync schema");return(0,_e._)`await ${v}(${n})`}return typeof y=="function"?(0,_e._)`${v}(${n})`:(0,_e._)`${v}.test(${n})`}}}};el.default=OP});var ly=P(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});var EP=uy(),IP=[EP.default];tl.default=IP});var py=P(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.contentVocabulary=wn.metadataVocabulary=void 0;wn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];wn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var fy=P(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});var CP=wg(),AP=Ag(),MP=dy(),NP=ly(),my=py(),DP=[CP.default,AP.default,(0,MP.default)(),NP.default,my.metadataVocabulary,my.contentVocabulary];rl.default=DP});var gy=P(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.DiscrError=void 0;var hy;(function(e){e.Tag="tag",e.Mapping="mapping"})(hy||(ki.DiscrError=hy={}))});var _y=P(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});var kn=F(),nl=gy(),yy=ni(),LP=bo(),ZP=ee(),UP={message:({params:{discrError:e,tagName:t}})=>e===nl.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,kn._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},qP={keyword:"discriminator",type:"object",schemaType:"object",error:UP,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),d=t.const("tag",(0,kn._)`${r}${(0,kn.getProperty)(a)}`);t.if((0,kn._)`typeof ${d} == "string"`,()=>u(),()=>e.error(!1,{discrError:nl.DiscrError.Tag,tag:d,tagName:a})),e.ok(c);function u(){let f=m();t.if(!1);for(let h in f)t.elseIf((0,kn._)`${d} === ${h}`),t.assign(c,l(f[h]));t.else(),e.error(!1,{discrError:nl.DiscrError.Mapping,tag:d,tagName:a}),t.endIf()}function l(f){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(g,kn.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,ZP.schemaHasRulesButRef)(M,s.self.RULES)){let Qe=M.$ref;if(M=yy.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Qe),M instanceof yy.SchemaEnv&&(M=M.schema),M===void 0)throw new LP.default(s.opts.uriResolver,s.baseId,Qe)}let Ie=(f=M?.properties)===null||f===void 0?void 0:f[a];if(typeof Ie!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||v(M)),w(Ie,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 Ie of j.enum)k(Ie,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}}}};ol.default=qP});var by=P((hM,JP)=>{JP.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 il=P((le,sl)=>{"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 FP=hg(),VP=fy(),BP=_y(),vy=by(),WP=["/properties"],xi="http://json-schema.org/draft-07/schema",xn=class extends FP.default{_addVocabularies(){super._addVocabularies(),VP.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(BP.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(vy,WP):vy;this.addMetaSchema(t,xi,!1),this.refs["http://json-schema.org/schema"]=xi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(xi)?xi:void 0)}};le.Ajv=xn;sl.exports=le=xn;sl.exports.Ajv=xn;Object.defineProperty(le,"__esModule",{value:!0});le.default=xn;var HP=_o();Object.defineProperty(le,"KeywordCxt",{enumerable:!0,get:function(){return HP.KeywordCxt}});var Sn=F();Object.defineProperty(le,"_",{enumerable:!0,get:function(){return Sn._}});Object.defineProperty(le,"str",{enumerable:!0,get:function(){return Sn.str}});Object.defineProperty(le,"stringify",{enumerable:!0,get:function(){return Sn.stringify}});Object.defineProperty(le,"nil",{enumerable:!0,get:function(){return Sn.nil}});Object.defineProperty(le,"Name",{enumerable:!0,get:function(){return Sn.Name}});Object.defineProperty(le,"CodeGen",{enumerable:!0,get:function(){return Sn.CodeGen}});var KP=ti();Object.defineProperty(le,"ValidationError",{enumerable:!0,get:function(){return KP.default}});var GP=bo();Object.defineProperty(le,"MissingRefError",{enumerable:!0,get:function(){return GP.default}})});var Ty=P(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(Sy,ul),time:$t(cl(!0),ll),"date-time":$t(wy(!0),zy),"iso-time":$t(cl(),$y),"iso-date-time":$t(wy(),Py),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:rT,"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:dT,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:nT,int32:{type:"number",validate:iT},int64:{type:"number",validate:aT},float:{type:"number",validate:xy},double:{type:"number",validate:xy},password:!0,binary:!0};zt.fastFormats={...zt.fullFormats,date:$t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ul),time:$t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ll),"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,zy),"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,Py),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 QP(e){return e%4===0&&(e%100!==0||e%400===0)}var YP=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,XP=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Sy(e){let t=YP.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&QP(r)?29:XP[n])}function ul(e,t){if(e&&t)return e>t?1:e<t?-1:0}var al=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function cl(e){return function(r){let n=al.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,d=+(n[6]||0),u=+(n[7]||0);if(d>23||u>59||e&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let l=s-u*c,m=o-d*c-(l<0?1:0);return(m===23||m===-1)&&(l===59||l===-1)&&i<61}}function ll(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function $y(e,t){if(!(e&&t))return;let r=al.exec(e),n=al.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var dl=/t|\s/i;function wy(e){let t=cl(e);return function(n){let o=n.split(dl);return o.length===2&&Sy(o[0])&&t(o[1])}}function zy(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function Py(e,t){if(!(e&&t))return;let[r,n]=e.split(dl),[o,s]=t.split(dl),i=ul(r,o);if(i!==void 0)return i||ll(n,s)}var eT=/\/|:/,tT=/^(?:[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 rT(e){return eT.test(e)&&tT.test(e)}var ky=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function nT(e){return ky.lastIndex=0,ky.test(e)}var oT=-(2**31),sT=2**31-1;function iT(e){return Number.isInteger(e)&&e<=sT&&e>=oT}function aT(e){return Number.isInteger(e)}function xy(){return!0}var cT=/[^\\]\\Z/;function dT(e){if(cT.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var Ry=P($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.formatLimitDefinition=void 0;var uT=il(),ht=F(),nr=ht.operators,Si={formatMaximum:{okStr:"<=",ok:nr.LTE,fail:nr.GT},formatMinimum:{okStr:">=",ok:nr.GTE,fail:nr.LT},formatExclusiveMaximum:{okStr:"<",ok:nr.LT,fail:nr.GTE},formatExclusiveMinimum:{okStr:">",ok:nr.GT,fail:nr.LTE}},lT={message:({keyword:e,schemaCode:t})=>(0,ht.str)`should be ${Si[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ht._)`{comparison: ${Si[e].okStr}, limit: ${t}}`};$n.formatLimitDefinition={keyword:Object.keys(Si),type:"string",schemaType:"string",$data:!0,error:lT,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new uT.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?d():u();function d(){let m=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),f=t.const("fmt",(0,ht._)`${m}[${c.schemaCode}]`);e.fail$data((0,ht.or)((0,ht._)`typeof ${f} != "object"`,(0,ht._)`${f} instanceof RegExp`,(0,ht._)`typeof ${f}.compare != "function"`,l(f)))}function u(){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,ht._)`${i.code.formats}${(0,ht.getProperty)(m)}`:void 0});e.fail$data(l(h))}function l(m){return(0,ht._)`${m}.compare(${r}, ${n}) ${Si[o].fail} 0`}},dependencies:["format"]};var pT=e=>(e.addKeyword($n.formatLimitDefinition),e);$n.default=pT});var Iy=P((Io,Ey)=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});var zn=Ty(),mT=Ry(),pl=F(),jy=new pl.Name("fullFormats"),fT=new pl.Name("fastFormats"),ml=(e,t={keywords:!0})=>{if(Array.isArray(t))return Oy(e,t,zn.fullFormats,jy),e;let[r,n]=t.mode==="fast"?[zn.fastFormats,fT]:[zn.fullFormats,jy],o=t.formats||zn.formatNames;return Oy(e,o,r,n),t.keywords&&(0,mT.default)(e),e};ml.get=(e,t="full")=>{let n=(t==="fast"?zn.fastFormats:zn.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function Oy(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,pl._)`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}Ey.exports=Io=ml;Object.defineProperty(Io,"__esModule",{value:!0});Io.default=ml});import{pathToFileURL as Kj}from"node:url";var p={};Ui(p,{BRAND:()=>ev,DIRTY:()=>ir,EMPTY_PATH:()=>Eb,INVALID:()=>N,NEVER:()=>Nv,OK:()=>Re,ParseStatus:()=>ke,Schema:()=>J,ZodAny:()=>qt,ZodArray:()=>Ot,ZodBigInt:()=>cr,ZodBoolean:()=>dr,ZodBranded:()=>On,ZodCatch:()=>vr,ZodDate:()=>ur,ZodDefault:()=>br,ZodDiscriminatedUnion:()=>Wo,ZodEffects:()=>Xe,ZodEnum:()=>yr,ZodError:()=>De,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>Ko,ZodIntersection:()=>fr,ZodIssueCode:()=>x,ZodLazy:()=>hr,ZodLiteral:()=>gr,ZodMap:()=>Gr,ZodNaN:()=>Yr,ZodNativeEnum:()=>_r,ZodNever:()=>at,ZodNull:()=>pr,ZodNullable:()=>bt,ZodNumber:()=>ar,ZodObject:()=>Ze,ZodOptional:()=>Le,ZodParsedType:()=>T,ZodPipeline:()=>En,ZodPromise:()=>Jt,ZodReadonly:()=>wr,ZodRecord:()=>Ho,ZodSchema:()=>J,ZodSet:()=>Qr,ZodString:()=>Ut,ZodSymbol:()=>Hr,ZodTransformer:()=>Xe,ZodTuple:()=>_t,ZodType:()=>J,ZodUndefined:()=>lr,ZodUnion:()=>mr,ZodUnknown:()=>jt,ZodVoid:()=>Kr,addIssueToContext:()=>$,any:()=>dv,array:()=>mv,bigint:()=>ov,boolean:()=>dp,coerce:()=>Mv,custom:()=>ip,date:()=>sv,datetimeRegex:()=>op,defaultErrorMap:()=>Tt,discriminatedUnion:()=>gv,effect:()=>Tv,enum:()=>$v,function:()=>kv,getErrorMap:()=>Vr,getParsedType:()=>yt,instanceof:()=>rv,intersection:()=>yv,isAborted:()=>Vo,isAsync:()=>Br,isDirty:()=>Bo,isValid:()=>Zt,late:()=>tv,lazy:()=>xv,literal:()=>Sv,makeIssue:()=>jn,map:()=>vv,nan:()=>nv,nativeEnum:()=>zv,never:()=>lv,null:()=>cv,nullable:()=>jv,number:()=>cp,object:()=>Vi,objectUtil:()=>qi,oboolean:()=>Av,onumber:()=>Cv,optional:()=>Rv,ostring:()=>Iv,pipeline:()=>Ev,preprocess:()=>Ov,promise:()=>Pv,quotelessJson:()=>Rb,record:()=>bv,set:()=>wv,setErrorMap:()=>Ob,strictObject:()=>fv,string:()=>ap,symbol:()=>iv,transformer:()=>Tv,tuple:()=>_v,undefined:()=>av,union:()=>hv,unknown:()=>uv,util:()=>W,void:()=>pv});var W;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function r(o){throw new Error}e.assertNever=r,e.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},e.getValidEnumValues=o=>{let s=e.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return e.objectValues(i)},e.objectValues=o=>e.objectKeys(o).map(function(s){return o[s]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},e.find=(o,s)=>{for(let i of o)if(s(i))return i},e.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}e.joinValues=n,e.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(W||(W={}));var qi;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(qi||(qi={}));var T=W.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 T.undefined;case"string":return T.string;case"number":return Number.isNaN(e)?T.nan:T.number;case"boolean":return T.boolean;case"function":return T.function;case"bigint":return T.bigint;case"symbol":return T.symbol;case"object":return Array.isArray(e)?T.array:e===null?T.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?T.promise:typeof Map<"u"&&e instanceof Map?T.map:typeof Set<"u"&&e instanceof Set?T.set:typeof Date<"u"&&e instanceof Date?T.date:T.object;default:return T.unknown}};var x=W.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"]),Rb=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),De=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let d=i.path[c];c===i.path.length-1?(a[d]=a[d]||{_errors:[]},a[d]._errors.push(r(i))):a[d]=a[d]||{_errors:[]},a=a[d],c++}}};return o(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,W.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(t(o))}else n.push(t(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};De.create=e=>new De(e);var jb=(e,t)=>{let r;switch(e.code){case x.invalid_type:e.received===T.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case x.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,W.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:r=`Unrecognized key(s) in object: ${W.joinValues(e.keys,", ")}`;break;case x.invalid_union:r="Invalid input";break;case x.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${W.joinValues(e.options)}`;break;case x.invalid_enum_value:r=`Invalid enum value. Expected ${W.joinValues(e.options)}, received '${e.received}'`;break;case x.invalid_arguments:r="Invalid function arguments";break;case x.invalid_return_type:r="Invalid function return type";break;case x.invalid_date:r="Invalid date";break;case x.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:W.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case x.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case x.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case x.custom:r="Invalid input";break;case x.invalid_intersection_types:r="Intersection results could not be merged";break;case x.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case x.not_finite:r="Number must be finite";break;default:r=t.defaultError,W.assertNever(e)}return{message:r}},Tt=jb;var Xl=Tt;function Ob(e){Xl=e}function Vr(){return Xl}var jn=e=>{let{data:t,path:r,errorMaps:n,issueData:o}=e,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(d=>!!d).slice().reverse();for(let d of c)a=d(i,{data:t,defaultError:a}).message;return{...o,path:s,message:a}},Eb=[];function $(e,t){let r=Vr(),n=jn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Tt?void 0:Tt].filter(o=>!!o)});e.common.issues.push(n)}var ke=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let o of r){if(o.status==="aborted")return N;o.status==="dirty"&&t.dirty(),n.push(o.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return N;s.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:t.value,value:n}}},N=Object.freeze({status:"aborted"}),ir=e=>({status:"dirty",value:e}),Re=e=>({status:"valid",value:e}),Vo=e=>e.status==="aborted",Bo=e=>e.status==="dirty",Zt=e=>e.status==="valid",Br=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 Ye=class{constructor(t,r,n,o){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},ep=(e,t)=>{if(Zt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new De(e.common.issues);return this._error=r,this._error}}};function U(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:o}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(i,a)=>{let{message:c}=e;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(t){return yt(t.data)}_getOrReturnCtx(t,r){return r||{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 r=this._parse(t);if(Br(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)},o=this._parseSync({data:t,path:n.path,parent:n});return ep(n,o)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return Zt(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>Zt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)},o=this._parse({data:t,path:n.path,parent:n}),s=await(Br(o)?o:Promise.resolve(o));return ep(n,s)}refine(t,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=t(o),a=()=>s.addIssue({code:x.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,r){return this._refinement((n,o)=>t(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(t){return new Xe({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Le.create(this,this._def)}nullable(){return bt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ot.create(this)}promise(){return Jt.create(this,this._def)}or(t){return mr.create([this,t],this._def)}and(t){return fr.create(this,t,this._def)}transform(t){return new Xe({...U(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new br({...U(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new On({typeName:S.ZodBranded,type:this,...U(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new vr({...U(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return En.create(this,t)}readonly(){return wr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Ib=/^c[^\s-]{8,}$/i,Cb=/^[0-9a-z]+$/,Ab=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Mb=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Nb=/^[a-z0-9_-]{21}$/i,Db=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Lb=/^[-+]?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)?)??$/,Zb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ub="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Ji,qb=/^(?:(?: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])$/,Jb=/^(?:(?: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])$/,Fb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Vb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Bb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Wb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rp="((\\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])))",Hb=new RegExp(`^${rp}$`);function np(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function Kb(e){return new RegExp(`^${np(e)}$`)}function op(e){let t=`${rp}T${np(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function Gb(e,t){return!!((t==="v4"||!t)&&qb.test(e)||(t==="v6"||!t)&&Fb.test(e))}function Qb(e,t){if(!Db.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||t&&o.alg!==t)}catch{return!1}}function Yb(e,t){return!!((t==="v4"||!t)&&Jb.test(e)||(t==="v6"||!t)&&Vb.test(e))}var Ut=class e extends J{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==T.string){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:T.string,received:s.parsedType}),N}let n=new ke,o;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=t.data.length>s.value,a=t.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(t,o),i?$(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&$(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Zb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"email",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Ji||(Ji=new RegExp(Ub,"u")),Ji.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"emoji",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Mb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"uuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Nb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"nanoid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Ib.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Cb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid2",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")Ab.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ulid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),$(o,{validation:"url",code:x.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"regex",code:x.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?op(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Hb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Kb(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Lb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"duration",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Gb(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ip",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?Qb(t.data,s.alg)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"jwt",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Yb(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cidr",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?Bb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?Wb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64url",code:x.invalid_string,message:s.message}),n.dirty()):W.assertNever(s);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(o=>t.test(o),{validation:r,code:x.invalid_string,...O.errToObj(n)})}_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,r){return this._addCheck({kind:"regex",regex:t,...O.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...O.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...O.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...O.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...O.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...O.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...O.errToObj(r)})}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 r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Ut.create=e=>new Ut({checks:[],typeName:S.ZodString,coerce:e?.coerce??!1,...U(e)});function Xb(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}var ar=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)!==T.number){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:T.number,received:s.parsedType}),N}let n,o=new ke;for(let s of this._def.checks)s.kind==="int"?W.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),$(n,{code:x.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Xb(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_finite,message:s.message}),o.dirty()):W.assertNever(s);return{status:o.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,O.toString(r))}gt(t,r){return this.setLimit("min",t,!1,O.toString(r))}lte(t,r){return this.setLimit("max",t,!0,O.toString(r))}lt(t,r){return this.setLimit("max",t,!1,O.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,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,r){return this._addCheck({kind:"multipleOf",value:t,message:O.toString(r)})}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 r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&W.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};ar.create=e=>new ar({checks:[],typeName:S.ZodNumber,coerce:e?.coerce||!1,...U(e)});var cr=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)!==T.bigint)return this._getInvalidInput(t);let n,o=new ke;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):W.assertNever(s);return{status:o.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:T.bigint,received:r.parsedType}),N}gte(t,r){return this.setLimit("min",t,!0,O.toString(r))}gt(t,r){return this.setLimit("min",t,!1,O.toString(r))}lte(t,r){return this.setLimit("max",t,!0,O.toString(r))}lt(t,r){return this.setLimit("max",t,!1,O.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,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,r){return this._addCheck({kind:"multipleOf",value:t,message:O.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};cr.create=e=>new cr({checks:[],typeName:S.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var dr=class extends J{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==T.boolean){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.boolean,received:n.parsedType}),N}return Re(t.data)}};dr.create=e=>new dr({typeName:S.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var ur=class e extends J{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==T.date){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:T.date,received:s.parsedType}),N}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_date}),N}let n=new ke,o;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):W.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:O.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:O.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};ur.create=e=>new ur({checks:[],coerce:e?.coerce||!1,typeName:S.ZodDate,...U(e)});var Hr=class extends J{_parse(t){if(this._getType(t)!==T.symbol){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.symbol,received:n.parsedType}),N}return Re(t.data)}};Hr.create=e=>new Hr({typeName:S.ZodSymbol,...U(e)});var lr=class extends J{_parse(t){if(this._getType(t)!==T.undefined){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.undefined,received:n.parsedType}),N}return Re(t.data)}};lr.create=e=>new lr({typeName:S.ZodUndefined,...U(e)});var pr=class extends J{_parse(t){if(this._getType(t)!==T.null){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.null,received:n.parsedType}),N}return Re(t.data)}};pr.create=e=>new pr({typeName:S.ZodNull,...U(e)});var qt=class extends J{constructor(){super(...arguments),this._any=!0}_parse(t){return Re(t.data)}};qt.create=e=>new qt({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 r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:T.never,received:r.parsedType}),N}};at.create=e=>new at({typeName:S.ZodNever,...U(e)});var Kr=class extends J{_parse(t){if(this._getType(t)!==T.undefined){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.void,received:n.parsedType}),N}return Re(t.data)}};Kr.create=e=>new Kr({typeName:S.ZodVoid,...U(e)});var Ot=class e extends J{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),o=this._def;if(r.parsedType!==T.array)return $(r,{code:x.invalid_type,expected:T.array,received:r.parsedType}),N;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&($(r,{code:i?x.too_big:x.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&($(r,{code:x.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&($(r,{code:x.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new Ye(r,i,r.path,a)))).then(i=>ke.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Ye(r,i,r.path,a)));return ke.mergeArray(n,s)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:O.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:O.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:O.toString(r)}})}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 Wr(e){if(e instanceof Ze){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Le.create(Wr(n))}return new Ze({...e._def,shape:()=>t})}else return e instanceof Ot?new Ot({...e._def,type:Wr(e.element)}):e instanceof Le?Le.create(Wr(e.unwrap())):e instanceof bt?bt.create(Wr(e.unwrap())):e instanceof _t?_t.create(e.items.map(t=>Wr(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(),r=W.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==T.object){let d=this._getOrReturnCtx(t);return $(d,{code:x.invalid_type,expected:T.object,received:d.parsedType}),N}let{status:n,ctx:o}=this._processInputParams(t),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof at&&this._def.unknownKeys==="strip"))for(let d in o.data)i.includes(d)||a.push(d);let c=[];for(let d of i){let u=s[d],l=o.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Ye(o,l,o.path,d)),alwaysSet:d in o.data})}if(this._def.catchall instanceof at){let d=this._def.unknownKeys;if(d==="passthrough")for(let u of a)c.push({key:{status:"valid",value:u},value:{status:"valid",value:o.data[u]}});else if(d==="strict")a.length>0&&($(o,{code:x.unrecognized_keys,keys:a}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let u of a){let l=o.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Ye(o,l,o.path,u)),alwaysSet:u in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let d=[];for(let u of c){let l=await u.key,m=await u.value;d.push({key:l,value:m,alwaysSet:u.alwaysSet})}return d}).then(d=>ke.mergeObjectSync(n,d)):ke.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(t){return O.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message: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,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of W.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of W.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return Wr(this)}partial(t){let r={};for(let n of W.objectKeys(this.shape)){let o=this.shape[n];t&&!t[n]?r[n]=o:r[n]=o.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of W.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Le;)s=s._def.innerType;r[n]=s}return new e({...this._def,shape:()=>r})}keyof(){return sp(W.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 mr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new De(a.ctx.common.issues));return $(r,{code:x.invalid_union,unionErrors:i}),N}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let d={...r,common:{...r.common,issues:[]},parent:null},u=c._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:d}),d.common.issues.length&&i.push(d.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new De(c));return $(r,{code:x.invalid_union,unionErrors:a}),N}}get options(){return this._def.options}};mr.create=(e,t)=>new mr({options:e,typeName:S.ZodUnion,...U(t)});var Rt=e=>e instanceof hr?Rt(e.schema):e instanceof Xe?Rt(e.innerType()):e instanceof gr?[e.value]:e instanceof yr?e.options:e instanceof _r?W.objectValues(e.enum):e instanceof br?Rt(e._def.innerType):e instanceof lr?[void 0]:e instanceof pr?[null]:e instanceof Le?[void 0,...Rt(e.unwrap())]:e instanceof bt?[null,...Rt(e.unwrap())]:e instanceof On||e instanceof wr?Rt(e.unwrap()):e instanceof vr?Rt(e._def.innerType):[],Wo=class e extends J{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==T.object)return $(r,{code:x.invalid_type,expected:T.object,received:r.parsedType}),N;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):($(r,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),N)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let o=new Map;for(let s of r){let i=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:r,optionsMap:o,...U(n)})}};function Fi(e,t){let r=yt(e),n=yt(t);if(e===t)return{valid:!0,data:e};if(r===T.object&&n===T.object){let o=W.objectKeys(t),s=W.objectKeys(e).filter(a=>o.indexOf(a)!==-1),i={...e,...t};for(let a of s){let c=Fi(e[a],t[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===T.array&&n===T.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=Fi(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===T.date&&n===T.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var fr=class extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=(s,i)=>{if(Vo(s)||Vo(i))return N;let a=Fi(s.value,i.value);return a.valid?((Bo(s)||Bo(i))&&r.dirty(),{status:r.value,value:a.data}):($(n,{code:x.invalid_intersection_types}),N)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};fr.create=(e,t,r)=>new fr({left:e,right:t,typeName:S.ZodIntersection,...U(r)});var _t=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==T.array)return $(n,{code:x.invalid_type,expected:T.array,received:n.parsedType}),N;if(n.data.length<this._def.items.length)return $(n,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),N;!this._def.rest&&n.data.length>this._def.items.length&&($(n,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Ye(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>ke.mergeArray(r,i)):ke.mergeArray(r,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};_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 Ho=class e extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==T.object)return $(n,{code:x.invalid_type,expected:T.object,received:n.parsedType}),N;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Ye(n,a,n.path,a)),value:i._parse(new Ye(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?ke.mergeObjectAsync(r,o):ke.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof J?new e({keyType:t,valueType:r,typeName:S.ZodRecord,...U(n)}):new e({keyType:Ut.create(),valueType:t,typeName:S.ZodRecord,...U(r)})}},Gr=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==T.map)return $(n,{code:x.invalid_type,expected:T.map,received:n.parsedType}),N;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],d)=>({key:o._parse(new Ye(n,a,n.path,[d,"key"])),value:s._parse(new Ye(n,c,n.path,[d,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let d=await c.key,u=await c.value;if(d.status==="aborted"||u.status==="aborted")return N;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),a.set(d.value,u.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let d=c.key,u=c.value;if(d.status==="aborted"||u.status==="aborted")return N;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),a.set(d.value,u.value)}return{status:r.value,value:a}}}};Gr.create=(e,t,r)=>new Gr({valueType:t,keyType:e,typeName:S.ZodMap,...U(r)});var Qr=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==T.set)return $(n,{code:x.invalid_type,expected:T.set,received:n.parsedType}),N;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&($(n,{code:x.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&($(n,{code:x.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let d=new Set;for(let u of c){if(u.status==="aborted")return N;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}let a=[...n.data.values()].map((c,d)=>s._parse(new Ye(n,c,n.path,d)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(t,r){return new e({...this._def,minSize:{value:t,message:O.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:O.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};Qr.create=(e,t)=>new Qr({valueType:e,minSize:null,maxSize:null,typeName:S.ZodSet,...U(t)});var Ko=class e extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==T.function)return $(r,{code:x.invalid_type,expected:T.function,received:r.parsedType}),N;function n(a,c){return jn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Vr(),Tt].filter(d=>!!d),issueData:{code:x.invalid_arguments,argumentsError:c}})}function o(a,c){return jn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Vr(),Tt].filter(d=>!!d),issueData:{code:x.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Jt){let a=this;return Re(async function(...c){let d=new De([]),u=await a._def.args.parseAsync(c,s).catch(f=>{throw d.addIssue(n(c,f)),d}),l=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(l,s).catch(f=>{throw d.addIssue(o(l,f)),d})})}else{let a=this;return Re(function(...c){let d=a._def.args.safeParse(c,s);if(!d.success)throw new De([n(c,d.error)]);let u=Reflect.apply(i,this,d.data),l=a._def.returns.safeParse(u,s);if(!l.success)throw new De([o(u,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,r,n){return new e({args:t||_t.create([]).rest(jt.create()),returns:r||jt.create(),typeName:S.ZodFunction,...U(n)})}},hr=class extends J{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};hr.create=(e,t)=>new hr({getter:e,typeName:S.ZodLazy,...U(t)});var gr=class extends J{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return $(r,{received:r.data,code:x.invalid_literal,expected:this._def.value}),N}return{status:"valid",value:t.data}}get value(){return this._def.value}};gr.create=(e,t)=>new gr({value:e,typeName:S.ZodLiteral,...U(t)});function sp(e,t){return new yr({values:e,typeName:S.ZodEnum,...U(t)})}var yr=class e extends J{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return $(r,{expected:W.joinValues(n),received:r.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return $(r,{received:r.data,code:x.invalid_enum_value,options:n}),N}return Re(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};yr.create=sp;var _r=class extends J{_parse(t){let r=W.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==T.string&&n.parsedType!==T.number){let o=W.objectValues(r);return $(n,{expected:W.joinValues(o),received:n.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(W.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let o=W.objectValues(r);return $(n,{received:n.data,code:x.invalid_enum_value,options:o}),N}return Re(t.data)}get enum(){return this._def.values}};_r.create=(e,t)=>new _r({values:e,typeName:S.ZodNativeEnum,...U(t)});var Jt=class extends J{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==T.promise&&r.common.async===!1)return $(r,{code:x.invalid_type,expected:T.promise,received:r.parsedType}),N;let n=r.parsedType===T.promise?r.data:Promise.resolve(r.data);return Re(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Jt.create=(e,t)=>new Jt({type:e,typeName:S.ZodPromise,...U(t)});var Xe=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=this._def.effect||null,s={addIssue:i=>{$(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return N;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?N:c.status==="dirty"?ir(c.value):r.value==="dirty"?ir(c.value):c});{if(r.value==="aborted")return N;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?N:a.status==="dirty"?ir(a.value):r.value==="dirty"?ir(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?N:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?N:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Zt(i))return N;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Zt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):N);W.assertNever(o)}};Xe.create=(e,t,r)=>new Xe({schema:e,typeName:S.ZodEffects,effect:t,...U(r)});Xe.createWithPreprocess=(e,t,r)=>new Xe({schema:t,effect:{type:"preprocess",transform:e},typeName:S.ZodEffects,...U(r)});var Le=class extends J{_parse(t){return this._getType(t)===T.undefined?Re(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Le.create=(e,t)=>new Le({innerType:e,typeName:S.ZodOptional,...U(t)});var bt=class extends J{_parse(t){return this._getType(t)===T.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 br=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===T.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};br.create=(e,t)=>new br({innerType:e,typeName:S.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...U(t)});var vr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Br(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new De(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new De(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};vr.create=(e,t)=>new vr({innerType:e,typeName:S.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...U(t)});var Yr=class extends J{_parse(t){if(this._getType(t)!==T.nan){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.nan,received:n.parsedType}),N}return{status:"valid",value:t.data}}};Yr.create=e=>new Yr({typeName:S.ZodNaN,...U(e)});var ev=Symbol("zod_brand"),On=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},En=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?N:s.status==="dirty"?(r.dirty(),ir(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?N:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:S.ZodPipeline})}},wr=class extends J{_parse(t){let r=this._def.innerType._parse(t),n=o=>(Zt(o)&&(o.value=Object.freeze(o.value)),o);return Br(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};wr.create=(e,t)=>new wr({innerType:e,typeName:S.ZodReadonly,...U(t)});function tp(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function ip(e,t={},r){return e?qt.create().superRefine((n,o)=>{let s=e(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=tp(t,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=tp(t,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):qt.create()}var tv={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 rv=(e,t={message:`Input not instance of ${e.name}`})=>ip(r=>r instanceof e,t),ap=Ut.create,cp=ar.create,nv=Yr.create,ov=cr.create,dp=dr.create,sv=ur.create,iv=Hr.create,av=lr.create,cv=pr.create,dv=qt.create,uv=jt.create,lv=at.create,pv=Kr.create,mv=Ot.create,Vi=Ze.create,fv=Ze.strictCreate,hv=mr.create,gv=Wo.create,yv=fr.create,_v=_t.create,bv=Ho.create,vv=Gr.create,wv=Qr.create,kv=Ko.create,xv=hr.create,Sv=gr.create,$v=yr.create,zv=_r.create,Pv=Jt.create,Tv=Xe.create,Rv=Le.create,jv=bt.create,Ov=Xe.createWithPreprocess,Ev=En.create,Iv=()=>ap().optional(),Cv=()=>cp().optional(),Av=()=>dp().optional(),Mv={string:(e=>Ut.create({...e,coerce:!0})),number:(e=>ar.create({...e,coerce:!0})),boolean:(e=>dr.create({...e,coerce:!0})),bigint:(e=>cr.create({...e,coerce:!0})),date:(e=>ur.create({...e,coerce:!0}))};var Nv=N;var Lv=Object.freeze({status:"aborted"});function b(e,t,r){function n(a,c){var d;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(d=a._zod).traits??(d.traits=new Set),a._zod.traits.add(e),t(a,c);for(let u in i.prototype)u in a||Object.defineProperty(a,u,{value:i.prototype[u].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var c;let d=r?.Parent?new s:this;n(d,a),(c=d._zod).deferred??(c.deferred=[]);for(let u of d._zod.deferred)u();return d}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var Et=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Go={};function He(e){return e&&Object.assign(Go,e),Go}var H={};Ui(H,{BIGINT_FORMAT_RANGES:()=>lp,Class:()=>Wi,NUMBER_FORMAT_RANGES:()=>ea,aborted:()=>xr,allowsEval:()=>Qi,assert:()=>Fv,assertEqual:()=>Zv,assertIs:()=>qv,assertNever:()=>Jv,assertNotEqual:()=>Uv,assignProp:()=>Gi,cached:()=>An,captureStackTrace:()=>Yo,cleanEnum:()=>nw,cleanRegex:()=>Nn,clone:()=>Ke,createTransparentProxy:()=>Gv,defineLazy:()=>ie,esc:()=>kr,escapeRegex:()=>Ft,extend:()=>Xv,finalizeIssue:()=>ct,floatSafeRemainder:()=>Ki,getElementAtPath:()=>Vv,getEnumValues:()=>Cn,getLengthableOrigin:()=>Dn,getParsedType:()=>Kv,getSizableOrigin:()=>pp,isObject:()=>Xr,isPlainObject:()=>en,issue:()=>ta,joinValues:()=>Qo,jsonStringifyReplacer:()=>Hi,merge:()=>ew,normalizeParams:()=>D,nullish:()=>Mn,numKeys:()=>Hv,omit:()=>Yv,optionalKeys:()=>Xi,partial:()=>tw,pick:()=>Qv,prefixIssues:()=>vt,primitiveTypes:()=>up,promiseAllObject:()=>Bv,propertyKeyTypes:()=>Yi,randomString:()=>Wv,required:()=>rw,stringifyPrimitive:()=>Xo,unwrapMessage:()=>In});function Zv(e){return e}function Uv(e){return e}function qv(e){}function Jv(e){throw new Error}function Fv(e){}function Cn(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Qo(e,t="|"){return e.map(r=>Xo(r)).join(t)}function Hi(e,t){return typeof t=="bigint"?t.toString():t}function An(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Mn(e){return e==null}function Nn(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Ki(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function ie(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Gi(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Vv(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function Bv(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function Wv(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function kr(e){return JSON.stringify(e)}var Yo=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Xr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Qi=An(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function en(e){if(Xr(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Xr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Hv(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Kv=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}`)}},Yi=new Set(["string","number","symbol"]),up=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ft(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ke(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function D(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 Gv(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function Xo(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Xi(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var ea={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]},lp={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Qv(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return Ke(e,{...e._zod.def,shape:r,checks:[]})}function Yv(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return Ke(e,{...e._zod.def,shape:r,checks:[]})}function Xv(e,t){if(!en(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Gi(this,"shape",n),n},checks:[]};return Ke(e,r)}function ew(e,t){return Ke(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Gi(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function tw(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=e?new e({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=e?new e({type:"optional",innerType:n[s]}):n[s];return Ke(t,{...t._zod.def,shape:o,checks:[]})}function rw(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new e({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return Ke(t,{...t._zod.def,shape:o,checks:[]})}function xr(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function vt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function In(e){return typeof e=="string"?e:e?.message}function ct(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=In(e.inst?._zod.def?.error?.(e))??In(t?.error?.(e))??In(r.customError?.(e))??In(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function pp(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Dn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ta(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function nw(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var Wi=class{constructor(...t){}};var mp=(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,Hi,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},es=b("$ZodError",mp),Ln=b("$ZodError",mp,{Parent:Error});function ra(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function na(e,t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let d=i.path[c];c===i.path.length-1?(a[d]=a[d]||{_errors:[]},a[d]._errors.push(r(i))):a[d]=a[d]||{_errors:[]},a=a[d],c++}}};return o(e),n}var oa=e=>(t,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Et;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>ct(c,s,He())));throw Yo(a,o?.callee),a}return i.value},sa=oa(Ln),ia=e=>async(t,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>ct(c,s,He())));throw Yo(a,o?.callee),a}return i.value},aa=ia(Ln),ca=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Et;return s.issues.length?{success:!1,error:new(e??es)(s.issues.map(i=>ct(i,o,He())))}:{success:!0,data:s.value}},Sr=ca(Ln),da=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>ct(i,o,He())))}:{success:!0,data:s.value}},$r=da(Ln);var fp=/^[cC][^\s-]{8,}$/,hp=/^[0-9a-z]+$/,gp=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,yp=/^[0-9a-vA-V]{20}$/,_p=/^[A-Za-z0-9]{27}$/,bp=/^[a-zA-Z0-9_-]{21}$/,vp=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var wp=/^([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})$/,ua=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 kp=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var sw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function xp(){return new RegExp(sw,"u")}var Sp=/^(?:(?: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})$/,zp=/^((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])$/,Pp=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Tp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,la=/^[A-Za-z0-9_-]*$/,Rp=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var jp=/^\+(?:[0-9]){6,14}[0-9]$/,Op="(?:(?:\\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])))",Ep=new RegExp(`^${Op}$`);function Ip(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 Cp(e){return new RegExp(`^${Ip(e)}$`)}function Ap(e){let t=Ip({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Op}T(?:${n})$`)}var Mp=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Np=/^\d+$/,Dp=/^-?\d+(?:\.\d+)?/i,Lp=/true|false/i,Zp=/null/i;var Up=/^[^A-Z]*$/,qp=/^[^a-z]*$/;var xe=b("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Jp={number:"number",bigint:"bigint",object:"date"},pa=b("$ZodCheckLessThan",(e,t)=>{xe.init(e,t);let r=Jp[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ma=b("$ZodCheckGreaterThan",(e,t)=>{xe.init(e,t);let r=Jp[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Fp=b("$ZodCheckMultipleOf",(e,t)=>{xe.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Ki(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Vp=b("$ZodCheckNumberFormat",(e,t)=>{xe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=ea[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Np)}),e._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:e})}});var Bp=b("$ZodCheckMaxLength",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let i=Dn(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Wp=b("$ZodCheckMinLength",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let i=Dn(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Hp=b("$ZodCheckLengthEquals",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,s=o.length;if(s===t.length)return;let i=Dn(o),a=s>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Zn=b("$ZodCheckStringFormat",(e,t)=>{var r,n;xe.init(e,t),e._zod.onattach.push(o=>{let s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Kp=b("$ZodCheckRegex",(e,t)=>{Zn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Gp=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Up),Zn.init(e,t)}),Qp=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=qp),Zn.init(e,t)}),Yp=b("$ZodCheckIncludes",(e,t)=>{xe.init(e,t);let r=Ft(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Xp=b("$ZodCheckStartsWith",(e,t)=>{xe.init(e,t);let r=new RegExp(`^${Ft(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),em=b("$ZodCheckEndsWith",(e,t)=>{xe.init(e,t);let r=new RegExp(`.*${Ft(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var tm=b("$ZodCheckOverwrite",(e,t)=>{xe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var rs=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
10
+ deps: ${r}}`};var V1={keyword:"dependencies",type:"object",schemaType:"object",error:St.error,code(e){let[t,r]=B1(e);Jg(e,t),Fg(e,r)}};function B1({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Jg(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,Eo.propertyInData)(r,n,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let d of a)(0,Eo.checkReportMissingProp)(e,d)}):(r.if((0,Zu._)`${c} && (${(0,Eo.checkMissingProp)(e,a,s)})`),(0,Eo.reportMissingProp)(e,s),r.else())}}St.validatePropertyDeps=Jg;function Fg(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t)(0,F1.alwaysValidSchema)(s,t[a])||(r.if((0,Eo.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i))}St.validateSchemaDeps=Fg;St.default=V1});var Wg=P(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});var Bg=F(),W1=ee(),H1={message:"property name must be valid",params:({params:e})=>(0,Bg._)`{propertyName: ${e.propertyName}}`},K1={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:H1,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,W1.alwaysValidSchema)(o,r))return;let s=t.name("valid");t.forIn("key",n,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,Bg.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Uu.default=K1});var Ju=P(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});var yi=ot(),ft=F(),G1=At(),_i=ee(),Q1={message:"must NOT have additional properties",params:({params:e})=>(0,ft._)`{additionalProperty: ${e.additionalProperty}}`},Y1={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Q1,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,_i.alwaysValidSchema)(i,r))return;let d=(0,yi.allSchemaProperties)(n.properties),u=(0,yi.allSchemaProperties)(n.patternProperties);l(),e.ok((0,ft._)`${s} === ${G1.default.errors}`);function l(){t.forIn("key",o,y=>{!d.length&&!u.length?h(y):t.if(m(y),()=>h(y))})}function m(y){let v;if(d.length>8){let w=(0,_i.schemaRefOrVal)(i,n.properties,"properties");v=(0,yi.isOwnProperty)(t,w,y)}else d.length?v=(0,ft.or)(...d.map(w=>(0,ft._)`${y} === ${w}`)):v=ft.nil;return u.length&&(v=(0,ft.or)(v,...u.map(w=>(0,ft._)`${(0,yi.usePattern)(e,w)}.test(${y})`))),(0,ft.not)(v)}function f(y){t.code((0,ft._)`delete ${o}[${y}]`)}function h(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(y);return}if(r===!1){e.setParams({additionalProperty:y}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,_i.alwaysValidSchema)(i,r)){let v=t.name("valid");c.removeAdditional==="failing"?(g(y,v,!1),t.if((0,ft.not)(v),()=>{e.reset(),f(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:_i.Type.Str};w===!1&&Object.assign(k,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(k,v)}}};qu.default=Y1});var Gg=P(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});var X1=_o(),Hg=ot(),Fu=ee(),Kg=Ju(),eP={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Kg.default.code(new X1.KeywordCxt(s,Kg.default,"additionalProperties"));let i=(0,Hg.allSchemaProperties)(r);for(let l of i)s.definedProperties.add(l);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Fu.mergeEvaluated.props(t,(0,Fu.toHash)(i),s.props));let a=i.filter(l=>!(0,Fu.alwaysValidSchema)(s,r[l]));if(a.length===0)return;let c=t.name("valid");for(let l of a)d(l)?u(l):(t.if((0,Hg.propertyInData)(t,o,l,s.opts.ownProperties)),u(l),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(l),e.ok(c);function d(l){return s.opts.useDefaults&&!s.compositeRule&&r[l].default!==void 0}function u(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},c)}}};Vu.default=eP});var ey=P(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});var Qg=ot(),bi=F(),Yg=ee(),Xg=ee(),tP={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Qg.allSchemaProperties)(r),c=a.filter(g=>(0,Yg.alwaysValidSchema)(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let d=i.strictSchema&&!i.allowMatchingProperties&&o.properties,u=t.name("valid");s.props!==!0&&!(s.props instanceof bi.Name)&&(s.props=(0,Xg.evaluatedPropsToName)(t,s.props));let{props:l}=s;m();function m(){for(let g of a)d&&f(g),s.allErrors?h(g):(t.var(u,!0),h(g),t.if(u))}function f(g){for(let y in d)new RegExp(g).test(y)&&(0,Yg.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,y=>{t.if((0,bi._)`${(0,Qg.usePattern)(e,g)}.test(${y})`,()=>{let v=c.includes(g);v||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Xg.Type.Str},u),s.opts.unevaluated&&l!==!0?t.assign((0,bi._)`${l}[${y}]`,!0):!v&&!s.allErrors&&t.if((0,bi.not)(u),()=>t.break())})})}}};Bu.default=tP});var ty=P(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});var rP=ee(),nP={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,rP.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Wu.default=nP});var ry=P(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});var oP=ot(),sP={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:oP.validateUnion,error:{message:"must match a schema in anyOf"}};Hu.default=sP});var ny=P(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});var vi=F(),iP=ee(),aP={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,vi._)`{passingSchemas: ${e.passing}}`},cP={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:aP,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(d),e.result(i,()=>e.reset(),()=>e.error(!0));function d(){s.forEach((u,l)=>{let m;(0,iP.alwaysValidSchema)(o,u)?t.var(c,!0):m=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:!0},c),l>0&&t.if((0,vi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,vi._)`[${a}, ${l}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,l),m&&e.mergeEvaluated(m,vi.Name)})})}}};Ku.default=cP});var oy=P(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});var dP=ee(),uP={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((s,i)=>{if((0,dP.alwaysValidSchema)(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};Gu.default=uP});var ay=P(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});var wi=F(),iy=ee(),lP={message:({params:e})=>(0,wi.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,wi._)`{failingKeyword: ${e.ifClause}}`},pP={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:lP,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,iy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=sy(n,"then"),s=sy(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(a,d("then",u),d("else",u))}else o?t.if(a,d("then")):t.if((0,wi.not)(a),d("else"));e.pass(i,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(u)}function d(u,l){return()=>{let m=e.subschema({keyword:u},a);t.assign(i,a),e.mergeValidEvaluated(m,i),l?t.assign(l,(0,wi._)`${u}`):e.setParams({ifClause:u})}}}};function sy(e,t){let r=e.schema[t];return r!==void 0&&!(0,iy.alwaysValidSchema)(e,r)}Qu.default=pP});var cy=P(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});var mP=ee(),fP={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,mP.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Yu.default=fP});var dy=P(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});var hP=Au(),gP=Lg(),yP=Mu(),_P=Ug(),bP=qg(),vP=Vg(),wP=Wg(),kP=Ju(),xP=Gg(),SP=ey(),$P=ty(),zP=ry(),PP=ny(),TP=oy(),RP=ay(),jP=cy();function OP(e=!1){let t=[$P.default,zP.default,PP.default,TP.default,RP.default,jP.default,wP.default,kP.default,vP.default,xP.default,SP.default];return e?t.push(gP.default,_P.default):t.push(hP.default,yP.default),t.push(bP.default),t}Xu.default=OP});var uy=P(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});var _e=F(),EP={message:({schemaCode:e})=>(0,_e.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,_e._)`{format: ${e}}`},IP={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:EP,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:d,schemaEnv:u,self:l}=a;if(!c.validateFormats)return;o?m():f();function m(){let h=r.scopeValue("formats",{ref:l.formats,code:c.code.formats}),g=r.const("fDef",(0,_e._)`${h}[${i}]`),y=r.let("fType"),v=r.let("format");r.if((0,_e._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,_e._)`${g}.type || "string"`).assign(v,(0,_e._)`${g}.validate`),()=>r.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=u.$async?(0,_e._)`(${g}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,_e._)`${v}(${n})`,M=(0,_e._)`(typeof ${v} == "function" ? ${j} : ${v}.test(${n}))`;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 "${d}"`}}function k(M){let Ie=M instanceof RegExp?(0,_e.regexpCode)(M):c.code.formats?(0,_e._)`${c.code.formats}${(0,_e.getProperty)(s)}`:void 0,Qe=r.scopeValue("formats",{key:s,ref:M,code:Ie});return typeof M=="object"&&!(M instanceof RegExp)?[M.type||"string",M.validate,(0,_e._)`${Qe}.validate`]:["string",M,Qe]}function j(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!u.$async)throw new Error("async format in sync schema");return(0,_e._)`await ${v}(${n})`}return typeof y=="function"?(0,_e._)`${v}(${n})`:(0,_e._)`${v}.test(${n})`}}}};el.default=IP});var ly=P(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});var CP=uy(),AP=[CP.default];tl.default=AP});var py=P(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.contentVocabulary=wn.metadataVocabulary=void 0;wn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];wn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var fy=P(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});var MP=wg(),NP=Ag(),DP=dy(),LP=ly(),my=py(),ZP=[MP.default,NP.default,(0,DP.default)(),LP.default,my.metadataVocabulary,my.contentVocabulary];rl.default=ZP});var gy=P(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.DiscrError=void 0;var hy;(function(e){e.Tag="tag",e.Mapping="mapping"})(hy||(ki.DiscrError=hy={}))});var _y=P(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});var kn=F(),nl=gy(),yy=ni(),UP=bo(),qP=ee(),JP={message:({params:{discrError:e,tagName:t}})=>e===nl.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,kn._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},FP={keyword:"discriminator",type:"object",schemaType:"object",error:JP,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),d=t.const("tag",(0,kn._)`${r}${(0,kn.getProperty)(a)}`);t.if((0,kn._)`typeof ${d} == "string"`,()=>u(),()=>e.error(!1,{discrError:nl.DiscrError.Tag,tag:d,tagName:a})),e.ok(c);function u(){let f=m();t.if(!1);for(let h in f)t.elseIf((0,kn._)`${d} === ${h}`),t.assign(c,l(f[h]));t.else(),e.error(!1,{discrError:nl.DiscrError.Mapping,tag:d,tagName:a}),t.endIf()}function l(f){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(g,kn.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,qP.schemaHasRulesButRef)(M,s.self.RULES)){let Qe=M.$ref;if(M=yy.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Qe),M instanceof yy.SchemaEnv&&(M=M.schema),M===void 0)throw new UP.default(s.opts.uriResolver,s.baseId,Qe)}let Ie=(f=M?.properties)===null||f===void 0?void 0:f[a];if(typeof Ie!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||v(M)),w(Ie,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 Ie of j.enum)k(Ie,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}}}};ol.default=FP});var by=P((_M,VP)=>{VP.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 il=P((le,sl)=>{"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 BP=hg(),WP=fy(),HP=_y(),vy=by(),KP=["/properties"],xi="http://json-schema.org/draft-07/schema",xn=class extends BP.default{_addVocabularies(){super._addVocabularies(),WP.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(HP.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(vy,KP):vy;this.addMetaSchema(t,xi,!1),this.refs["http://json-schema.org/schema"]=xi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(xi)?xi:void 0)}};le.Ajv=xn;sl.exports=le=xn;sl.exports.Ajv=xn;Object.defineProperty(le,"__esModule",{value:!0});le.default=xn;var GP=_o();Object.defineProperty(le,"KeywordCxt",{enumerable:!0,get:function(){return GP.KeywordCxt}});var Sn=F();Object.defineProperty(le,"_",{enumerable:!0,get:function(){return Sn._}});Object.defineProperty(le,"str",{enumerable:!0,get:function(){return Sn.str}});Object.defineProperty(le,"stringify",{enumerable:!0,get:function(){return Sn.stringify}});Object.defineProperty(le,"nil",{enumerable:!0,get:function(){return Sn.nil}});Object.defineProperty(le,"Name",{enumerable:!0,get:function(){return Sn.Name}});Object.defineProperty(le,"CodeGen",{enumerable:!0,get:function(){return Sn.CodeGen}});var QP=ti();Object.defineProperty(le,"ValidationError",{enumerable:!0,get:function(){return QP.default}});var YP=bo();Object.defineProperty(le,"MissingRefError",{enumerable:!0,get:function(){return YP.default}})});var Ty=P(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(Sy,ul),time:$t(cl(!0),ll),"date-time":$t(wy(!0),zy),"iso-time":$t(cl(),$y),"iso-date-time":$t(wy(),Py),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:oT,"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:lT,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:sT,int32:{type:"number",validate:cT},int64:{type:"number",validate:dT},float:{type:"number",validate:xy},double:{type:"number",validate:xy},password:!0,binary:!0};zt.fastFormats={...zt.fullFormats,date:$t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ul),time:$t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ll),"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,zy),"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,Py),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 XP(e){return e%4===0&&(e%100!==0||e%400===0)}var eT=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,tT=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Sy(e){let t=eT.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&XP(r)?29:tT[n])}function ul(e,t){if(e&&t)return e>t?1:e<t?-1:0}var al=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function cl(e){return function(r){let n=al.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,d=+(n[6]||0),u=+(n[7]||0);if(d>23||u>59||e&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let l=s-u*c,m=o-d*c-(l<0?1:0);return(m===23||m===-1)&&(l===59||l===-1)&&i<61}}function ll(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function $y(e,t){if(!(e&&t))return;let r=al.exec(e),n=al.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var dl=/t|\s/i;function wy(e){let t=cl(e);return function(n){let o=n.split(dl);return o.length===2&&Sy(o[0])&&t(o[1])}}function zy(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function Py(e,t){if(!(e&&t))return;let[r,n]=e.split(dl),[o,s]=t.split(dl),i=ul(r,o);if(i!==void 0)return i||ll(n,s)}var rT=/\/|:/,nT=/^(?:[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 oT(e){return rT.test(e)&&nT.test(e)}var ky=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function sT(e){return ky.lastIndex=0,ky.test(e)}var iT=-(2**31),aT=2**31-1;function cT(e){return Number.isInteger(e)&&e<=aT&&e>=iT}function dT(e){return Number.isInteger(e)}function xy(){return!0}var uT=/[^\\]\\Z/;function lT(e){if(uT.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var Ry=P($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.formatLimitDefinition=void 0;var pT=il(),ht=F(),nr=ht.operators,Si={formatMaximum:{okStr:"<=",ok:nr.LTE,fail:nr.GT},formatMinimum:{okStr:">=",ok:nr.GTE,fail:nr.LT},formatExclusiveMaximum:{okStr:"<",ok:nr.LT,fail:nr.GTE},formatExclusiveMinimum:{okStr:">",ok:nr.GT,fail:nr.LTE}},mT={message:({keyword:e,schemaCode:t})=>(0,ht.str)`should be ${Si[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ht._)`{comparison: ${Si[e].okStr}, limit: ${t}}`};$n.formatLimitDefinition={keyword:Object.keys(Si),type:"string",schemaType:"string",$data:!0,error:mT,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new pT.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?d():u();function d(){let m=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),f=t.const("fmt",(0,ht._)`${m}[${c.schemaCode}]`);e.fail$data((0,ht.or)((0,ht._)`typeof ${f} != "object"`,(0,ht._)`${f} instanceof RegExp`,(0,ht._)`typeof ${f}.compare != "function"`,l(f)))}function u(){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,ht._)`${i.code.formats}${(0,ht.getProperty)(m)}`:void 0});e.fail$data(l(h))}function l(m){return(0,ht._)`${m}.compare(${r}, ${n}) ${Si[o].fail} 0`}},dependencies:["format"]};var fT=e=>(e.addKeyword($n.formatLimitDefinition),e);$n.default=fT});var Iy=P((Io,Ey)=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});var zn=Ty(),hT=Ry(),pl=F(),jy=new pl.Name("fullFormats"),gT=new pl.Name("fastFormats"),ml=(e,t={keywords:!0})=>{if(Array.isArray(t))return Oy(e,t,zn.fullFormats,jy),e;let[r,n]=t.mode==="fast"?[zn.fastFormats,gT]:[zn.fullFormats,jy],o=t.formats||zn.formatNames;return Oy(e,o,r,n),t.keywords&&(0,hT.default)(e),e};ml.get=(e,t="full")=>{let n=(t==="fast"?zn.fastFormats:zn.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function Oy(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,pl._)`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}Ey.exports=Io=ml;Object.defineProperty(Io,"__esModule",{value:!0});Io.default=ml});import{pathToFileURL as Yj}from"node:url";var p={};Ui(p,{BRAND:()=>rv,DIRTY:()=>ir,EMPTY_PATH:()=>Cb,INVALID:()=>N,NEVER:()=>Lv,OK:()=>Re,ParseStatus:()=>ke,Schema:()=>J,ZodAny:()=>qt,ZodArray:()=>Ot,ZodBigInt:()=>cr,ZodBoolean:()=>dr,ZodBranded:()=>On,ZodCatch:()=>vr,ZodDate:()=>ur,ZodDefault:()=>br,ZodDiscriminatedUnion:()=>Wo,ZodEffects:()=>Xe,ZodEnum:()=>yr,ZodError:()=>De,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>Ko,ZodIntersection:()=>fr,ZodIssueCode:()=>x,ZodLazy:()=>hr,ZodLiteral:()=>gr,ZodMap:()=>Gr,ZodNaN:()=>Yr,ZodNativeEnum:()=>_r,ZodNever:()=>at,ZodNull:()=>pr,ZodNullable:()=>bt,ZodNumber:()=>ar,ZodObject:()=>Ze,ZodOptional:()=>Le,ZodParsedType:()=>T,ZodPipeline:()=>En,ZodPromise:()=>Jt,ZodReadonly:()=>wr,ZodRecord:()=>Ho,ZodSchema:()=>J,ZodSet:()=>Qr,ZodString:()=>Ut,ZodSymbol:()=>Hr,ZodTransformer:()=>Xe,ZodTuple:()=>_t,ZodType:()=>J,ZodUndefined:()=>lr,ZodUnion:()=>mr,ZodUnknown:()=>jt,ZodVoid:()=>Kr,addIssueToContext:()=>$,any:()=>lv,array:()=>hv,bigint:()=>iv,boolean:()=>dp,coerce:()=>Dv,custom:()=>ip,date:()=>av,datetimeRegex:()=>op,defaultErrorMap:()=>Tt,discriminatedUnion:()=>_v,effect:()=>jv,enum:()=>Pv,function:()=>Sv,getErrorMap:()=>Vr,getParsedType:()=>yt,instanceof:()=>ov,intersection:()=>bv,isAborted:()=>Vo,isAsync:()=>Br,isDirty:()=>Bo,isValid:()=>Zt,late:()=>nv,lazy:()=>$v,literal:()=>zv,makeIssue:()=>jn,map:()=>kv,nan:()=>sv,nativeEnum:()=>Tv,never:()=>mv,null:()=>uv,nullable:()=>Ev,number:()=>cp,object:()=>Vi,objectUtil:()=>qi,oboolean:()=>Nv,onumber:()=>Mv,optional:()=>Ov,ostring:()=>Av,pipeline:()=>Cv,preprocess:()=>Iv,promise:()=>Rv,quotelessJson:()=>Ob,record:()=>wv,set:()=>xv,setErrorMap:()=>Ib,strictObject:()=>gv,string:()=>ap,symbol:()=>cv,transformer:()=>jv,tuple:()=>vv,undefined:()=>dv,union:()=>yv,unknown:()=>pv,util:()=>W,void:()=>fv});var W;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function r(o){throw new Error}e.assertNever=r,e.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},e.getValidEnumValues=o=>{let s=e.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return e.objectValues(i)},e.objectValues=o=>e.objectKeys(o).map(function(s){return o[s]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},e.find=(o,s)=>{for(let i of o)if(s(i))return i},e.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}e.joinValues=n,e.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(W||(W={}));var qi;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(qi||(qi={}));var T=W.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 T.undefined;case"string":return T.string;case"number":return Number.isNaN(e)?T.nan:T.number;case"boolean":return T.boolean;case"function":return T.function;case"bigint":return T.bigint;case"symbol":return T.symbol;case"object":return Array.isArray(e)?T.array:e===null?T.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?T.promise:typeof Map<"u"&&e instanceof Map?T.map:typeof Set<"u"&&e instanceof Set?T.set:typeof Date<"u"&&e instanceof Date?T.date:T.object;default:return T.unknown}};var x=W.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Ob=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),De=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let d=i.path[c];c===i.path.length-1?(a[d]=a[d]||{_errors:[]},a[d]._errors.push(r(i))):a[d]=a[d]||{_errors:[]},a=a[d],c++}}};return o(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,W.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(t(o))}else n.push(t(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};De.create=e=>new De(e);var Eb=(e,t)=>{let r;switch(e.code){case x.invalid_type:e.received===T.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case x.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,W.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:r=`Unrecognized key(s) in object: ${W.joinValues(e.keys,", ")}`;break;case x.invalid_union:r="Invalid input";break;case x.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${W.joinValues(e.options)}`;break;case x.invalid_enum_value:r=`Invalid enum value. Expected ${W.joinValues(e.options)}, received '${e.received}'`;break;case x.invalid_arguments:r="Invalid function arguments";break;case x.invalid_return_type:r="Invalid function return type";break;case x.invalid_date:r="Invalid date";break;case x.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:W.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case x.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case x.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case x.custom:r="Invalid input";break;case x.invalid_intersection_types:r="Intersection results could not be merged";break;case x.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case x.not_finite:r="Number must be finite";break;default:r=t.defaultError,W.assertNever(e)}return{message:r}},Tt=Eb;var Xl=Tt;function Ib(e){Xl=e}function Vr(){return Xl}var jn=e=>{let{data:t,path:r,errorMaps:n,issueData:o}=e,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(d=>!!d).slice().reverse();for(let d of c)a=d(i,{data:t,defaultError:a}).message;return{...o,path:s,message:a}},Cb=[];function $(e,t){let r=Vr(),n=jn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Tt?void 0:Tt].filter(o=>!!o)});e.common.issues.push(n)}var ke=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let o of r){if(o.status==="aborted")return N;o.status==="dirty"&&t.dirty(),n.push(o.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return N;s.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:t.value,value:n}}},N=Object.freeze({status:"aborted"}),ir=e=>({status:"dirty",value:e}),Re=e=>({status:"valid",value:e}),Vo=e=>e.status==="aborted",Bo=e=>e.status==="dirty",Zt=e=>e.status==="valid",Br=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 Ye=class{constructor(t,r,n,o){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},ep=(e,t)=>{if(Zt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new De(e.common.issues);return this._error=r,this._error}}};function U(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:o}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(i,a)=>{let{message:c}=e;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(t){return yt(t.data)}_getOrReturnCtx(t,r){return r||{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 r=this._parse(t);if(Br(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)},o=this._parseSync({data:t,path:n.path,parent:n});return ep(n,o)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return Zt(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>Zt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)},o=this._parse({data:t,path:n.path,parent:n}),s=await(Br(o)?o:Promise.resolve(o));return ep(n,s)}refine(t,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=t(o),a=()=>s.addIssue({code:x.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,r){return this._refinement((n,o)=>t(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(t){return new Xe({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Le.create(this,this._def)}nullable(){return bt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ot.create(this)}promise(){return Jt.create(this,this._def)}or(t){return mr.create([this,t],this._def)}and(t){return fr.create(this,t,this._def)}transform(t){return new Xe({...U(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new br({...U(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new On({typeName:S.ZodBranded,type:this,...U(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new vr({...U(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return En.create(this,t)}readonly(){return wr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Ab=/^c[^\s-]{8,}$/i,Mb=/^[0-9a-z]+$/,Nb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Db=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Lb=/^[a-z0-9_-]{21}$/i,Zb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ub=/^[-+]?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)?)??$/,qb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Jb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Ji,Fb=/^(?:(?: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])$/,Vb=/^(?:(?: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])$/,Bb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Wb=/^(([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])$/,Hb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Kb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rp="((\\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])))",Gb=new RegExp(`^${rp}$`);function np(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function Qb(e){return new RegExp(`^${np(e)}$`)}function op(e){let t=`${rp}T${np(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function Yb(e,t){return!!((t==="v4"||!t)&&Fb.test(e)||(t==="v6"||!t)&&Bb.test(e))}function Xb(e,t){if(!Zb.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||t&&o.alg!==t)}catch{return!1}}function ev(e,t){return!!((t==="v4"||!t)&&Vb.test(e)||(t==="v6"||!t)&&Wb.test(e))}var Ut=class e extends J{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==T.string){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:T.string,received:s.parsedType}),N}let n=new ke,o;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=t.data.length>s.value,a=t.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(t,o),i?$(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&$(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")qb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"email",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Ji||(Ji=new RegExp(Jb,"u")),Ji.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"emoji",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Db.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"uuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Lb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"nanoid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Ab.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Mb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid2",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")Nb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ulid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),$(o,{validation:"url",code:x.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"regex",code:x.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?op(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Gb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Qb(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Ub.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"duration",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Yb(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ip",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?Xb(t.data,s.alg)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"jwt",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?ev(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cidr",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?Hb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?Kb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64url",code:x.invalid_string,message:s.message}),n.dirty()):W.assertNever(s);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(o=>t.test(o),{validation:r,code:x.invalid_string,...O.errToObj(n)})}_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,r){return this._addCheck({kind:"regex",regex:t,...O.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...O.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...O.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...O.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...O.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...O.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...O.errToObj(r)})}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 r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Ut.create=e=>new Ut({checks:[],typeName:S.ZodString,coerce:e?.coerce??!1,...U(e)});function tv(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}var ar=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)!==T.number){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:T.number,received:s.parsedType}),N}let n,o=new ke;for(let s of this._def.checks)s.kind==="int"?W.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),$(n,{code:x.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?tv(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_finite,message:s.message}),o.dirty()):W.assertNever(s);return{status:o.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,O.toString(r))}gt(t,r){return this.setLimit("min",t,!1,O.toString(r))}lte(t,r){return this.setLimit("max",t,!0,O.toString(r))}lt(t,r){return this.setLimit("max",t,!1,O.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,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,r){return this._addCheck({kind:"multipleOf",value:t,message:O.toString(r)})}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 r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&W.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};ar.create=e=>new ar({checks:[],typeName:S.ZodNumber,coerce:e?.coerce||!1,...U(e)});var cr=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)!==T.bigint)return this._getInvalidInput(t);let n,o=new ke;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):W.assertNever(s);return{status:o.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:T.bigint,received:r.parsedType}),N}gte(t,r){return this.setLimit("min",t,!0,O.toString(r))}gt(t,r){return this.setLimit("min",t,!1,O.toString(r))}lte(t,r){return this.setLimit("max",t,!0,O.toString(r))}lt(t,r){return this.setLimit("max",t,!1,O.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,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,r){return this._addCheck({kind:"multipleOf",value:t,message:O.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};cr.create=e=>new cr({checks:[],typeName:S.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var dr=class extends J{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==T.boolean){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.boolean,received:n.parsedType}),N}return Re(t.data)}};dr.create=e=>new dr({typeName:S.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var ur=class e extends J{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==T.date){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:T.date,received:s.parsedType}),N}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_date}),N}let n=new ke,o;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):W.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:O.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:O.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};ur.create=e=>new ur({checks:[],coerce:e?.coerce||!1,typeName:S.ZodDate,...U(e)});var Hr=class extends J{_parse(t){if(this._getType(t)!==T.symbol){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.symbol,received:n.parsedType}),N}return Re(t.data)}};Hr.create=e=>new Hr({typeName:S.ZodSymbol,...U(e)});var lr=class extends J{_parse(t){if(this._getType(t)!==T.undefined){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.undefined,received:n.parsedType}),N}return Re(t.data)}};lr.create=e=>new lr({typeName:S.ZodUndefined,...U(e)});var pr=class extends J{_parse(t){if(this._getType(t)!==T.null){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.null,received:n.parsedType}),N}return Re(t.data)}};pr.create=e=>new pr({typeName:S.ZodNull,...U(e)});var qt=class extends J{constructor(){super(...arguments),this._any=!0}_parse(t){return Re(t.data)}};qt.create=e=>new qt({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 r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:T.never,received:r.parsedType}),N}};at.create=e=>new at({typeName:S.ZodNever,...U(e)});var Kr=class extends J{_parse(t){if(this._getType(t)!==T.undefined){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.void,received:n.parsedType}),N}return Re(t.data)}};Kr.create=e=>new Kr({typeName:S.ZodVoid,...U(e)});var Ot=class e extends J{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),o=this._def;if(r.parsedType!==T.array)return $(r,{code:x.invalid_type,expected:T.array,received:r.parsedType}),N;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&($(r,{code:i?x.too_big:x.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&($(r,{code:x.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&($(r,{code:x.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new Ye(r,i,r.path,a)))).then(i=>ke.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Ye(r,i,r.path,a)));return ke.mergeArray(n,s)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:O.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:O.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:O.toString(r)}})}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 Wr(e){if(e instanceof Ze){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Le.create(Wr(n))}return new Ze({...e._def,shape:()=>t})}else return e instanceof Ot?new Ot({...e._def,type:Wr(e.element)}):e instanceof Le?Le.create(Wr(e.unwrap())):e instanceof bt?bt.create(Wr(e.unwrap())):e instanceof _t?_t.create(e.items.map(t=>Wr(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(),r=W.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==T.object){let d=this._getOrReturnCtx(t);return $(d,{code:x.invalid_type,expected:T.object,received:d.parsedType}),N}let{status:n,ctx:o}=this._processInputParams(t),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof at&&this._def.unknownKeys==="strip"))for(let d in o.data)i.includes(d)||a.push(d);let c=[];for(let d of i){let u=s[d],l=o.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Ye(o,l,o.path,d)),alwaysSet:d in o.data})}if(this._def.catchall instanceof at){let d=this._def.unknownKeys;if(d==="passthrough")for(let u of a)c.push({key:{status:"valid",value:u},value:{status:"valid",value:o.data[u]}});else if(d==="strict")a.length>0&&($(o,{code:x.unrecognized_keys,keys:a}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let u of a){let l=o.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Ye(o,l,o.path,u)),alwaysSet:u in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let d=[];for(let u of c){let l=await u.key,m=await u.value;d.push({key:l,value:m,alwaysSet:u.alwaysSet})}return d}).then(d=>ke.mergeObjectSync(n,d)):ke.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(t){return O.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message: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,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of W.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of W.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return Wr(this)}partial(t){let r={};for(let n of W.objectKeys(this.shape)){let o=this.shape[n];t&&!t[n]?r[n]=o:r[n]=o.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of W.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Le;)s=s._def.innerType;r[n]=s}return new e({...this._def,shape:()=>r})}keyof(){return sp(W.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 mr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new De(a.ctx.common.issues));return $(r,{code:x.invalid_union,unionErrors:i}),N}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let d={...r,common:{...r.common,issues:[]},parent:null},u=c._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:d}),d.common.issues.length&&i.push(d.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new De(c));return $(r,{code:x.invalid_union,unionErrors:a}),N}}get options(){return this._def.options}};mr.create=(e,t)=>new mr({options:e,typeName:S.ZodUnion,...U(t)});var Rt=e=>e instanceof hr?Rt(e.schema):e instanceof Xe?Rt(e.innerType()):e instanceof gr?[e.value]:e instanceof yr?e.options:e instanceof _r?W.objectValues(e.enum):e instanceof br?Rt(e._def.innerType):e instanceof lr?[void 0]:e instanceof pr?[null]:e instanceof Le?[void 0,...Rt(e.unwrap())]:e instanceof bt?[null,...Rt(e.unwrap())]:e instanceof On||e instanceof wr?Rt(e.unwrap()):e instanceof vr?Rt(e._def.innerType):[],Wo=class e extends J{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==T.object)return $(r,{code:x.invalid_type,expected:T.object,received:r.parsedType}),N;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):($(r,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),N)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let o=new Map;for(let s of r){let i=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:r,optionsMap:o,...U(n)})}};function Fi(e,t){let r=yt(e),n=yt(t);if(e===t)return{valid:!0,data:e};if(r===T.object&&n===T.object){let o=W.objectKeys(t),s=W.objectKeys(e).filter(a=>o.indexOf(a)!==-1),i={...e,...t};for(let a of s){let c=Fi(e[a],t[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===T.array&&n===T.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=Fi(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===T.date&&n===T.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var fr=class extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=(s,i)=>{if(Vo(s)||Vo(i))return N;let a=Fi(s.value,i.value);return a.valid?((Bo(s)||Bo(i))&&r.dirty(),{status:r.value,value:a.data}):($(n,{code:x.invalid_intersection_types}),N)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};fr.create=(e,t,r)=>new fr({left:e,right:t,typeName:S.ZodIntersection,...U(r)});var _t=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==T.array)return $(n,{code:x.invalid_type,expected:T.array,received:n.parsedType}),N;if(n.data.length<this._def.items.length)return $(n,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),N;!this._def.rest&&n.data.length>this._def.items.length&&($(n,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Ye(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>ke.mergeArray(r,i)):ke.mergeArray(r,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};_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 Ho=class e extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==T.object)return $(n,{code:x.invalid_type,expected:T.object,received:n.parsedType}),N;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Ye(n,a,n.path,a)),value:i._parse(new Ye(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?ke.mergeObjectAsync(r,o):ke.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof J?new e({keyType:t,valueType:r,typeName:S.ZodRecord,...U(n)}):new e({keyType:Ut.create(),valueType:t,typeName:S.ZodRecord,...U(r)})}},Gr=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==T.map)return $(n,{code:x.invalid_type,expected:T.map,received:n.parsedType}),N;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],d)=>({key:o._parse(new Ye(n,a,n.path,[d,"key"])),value:s._parse(new Ye(n,c,n.path,[d,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let d=await c.key,u=await c.value;if(d.status==="aborted"||u.status==="aborted")return N;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),a.set(d.value,u.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let d=c.key,u=c.value;if(d.status==="aborted"||u.status==="aborted")return N;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),a.set(d.value,u.value)}return{status:r.value,value:a}}}};Gr.create=(e,t,r)=>new Gr({valueType:t,keyType:e,typeName:S.ZodMap,...U(r)});var Qr=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==T.set)return $(n,{code:x.invalid_type,expected:T.set,received:n.parsedType}),N;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&($(n,{code:x.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&($(n,{code:x.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let d=new Set;for(let u of c){if(u.status==="aborted")return N;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}let a=[...n.data.values()].map((c,d)=>s._parse(new Ye(n,c,n.path,d)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(t,r){return new e({...this._def,minSize:{value:t,message:O.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:O.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};Qr.create=(e,t)=>new Qr({valueType:e,minSize:null,maxSize:null,typeName:S.ZodSet,...U(t)});var Ko=class e extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==T.function)return $(r,{code:x.invalid_type,expected:T.function,received:r.parsedType}),N;function n(a,c){return jn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Vr(),Tt].filter(d=>!!d),issueData:{code:x.invalid_arguments,argumentsError:c}})}function o(a,c){return jn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Vr(),Tt].filter(d=>!!d),issueData:{code:x.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Jt){let a=this;return Re(async function(...c){let d=new De([]),u=await a._def.args.parseAsync(c,s).catch(f=>{throw d.addIssue(n(c,f)),d}),l=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(l,s).catch(f=>{throw d.addIssue(o(l,f)),d})})}else{let a=this;return Re(function(...c){let d=a._def.args.safeParse(c,s);if(!d.success)throw new De([n(c,d.error)]);let u=Reflect.apply(i,this,d.data),l=a._def.returns.safeParse(u,s);if(!l.success)throw new De([o(u,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,r,n){return new e({args:t||_t.create([]).rest(jt.create()),returns:r||jt.create(),typeName:S.ZodFunction,...U(n)})}},hr=class extends J{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};hr.create=(e,t)=>new hr({getter:e,typeName:S.ZodLazy,...U(t)});var gr=class extends J{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return $(r,{received:r.data,code:x.invalid_literal,expected:this._def.value}),N}return{status:"valid",value:t.data}}get value(){return this._def.value}};gr.create=(e,t)=>new gr({value:e,typeName:S.ZodLiteral,...U(t)});function sp(e,t){return new yr({values:e,typeName:S.ZodEnum,...U(t)})}var yr=class e extends J{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return $(r,{expected:W.joinValues(n),received:r.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return $(r,{received:r.data,code:x.invalid_enum_value,options:n}),N}return Re(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};yr.create=sp;var _r=class extends J{_parse(t){let r=W.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==T.string&&n.parsedType!==T.number){let o=W.objectValues(r);return $(n,{expected:W.joinValues(o),received:n.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(W.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let o=W.objectValues(r);return $(n,{received:n.data,code:x.invalid_enum_value,options:o}),N}return Re(t.data)}get enum(){return this._def.values}};_r.create=(e,t)=>new _r({values:e,typeName:S.ZodNativeEnum,...U(t)});var Jt=class extends J{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==T.promise&&r.common.async===!1)return $(r,{code:x.invalid_type,expected:T.promise,received:r.parsedType}),N;let n=r.parsedType===T.promise?r.data:Promise.resolve(r.data);return Re(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Jt.create=(e,t)=>new Jt({type:e,typeName:S.ZodPromise,...U(t)});var Xe=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=this._def.effect||null,s={addIssue:i=>{$(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return N;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?N:c.status==="dirty"?ir(c.value):r.value==="dirty"?ir(c.value):c});{if(r.value==="aborted")return N;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?N:a.status==="dirty"?ir(a.value):r.value==="dirty"?ir(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?N:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?N:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Zt(i))return N;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Zt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):N);W.assertNever(o)}};Xe.create=(e,t,r)=>new Xe({schema:e,typeName:S.ZodEffects,effect:t,...U(r)});Xe.createWithPreprocess=(e,t,r)=>new Xe({schema:t,effect:{type:"preprocess",transform:e},typeName:S.ZodEffects,...U(r)});var Le=class extends J{_parse(t){return this._getType(t)===T.undefined?Re(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Le.create=(e,t)=>new Le({innerType:e,typeName:S.ZodOptional,...U(t)});var bt=class extends J{_parse(t){return this._getType(t)===T.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 br=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===T.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};br.create=(e,t)=>new br({innerType:e,typeName:S.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...U(t)});var vr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Br(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new De(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new De(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};vr.create=(e,t)=>new vr({innerType:e,typeName:S.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...U(t)});var Yr=class extends J{_parse(t){if(this._getType(t)!==T.nan){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:T.nan,received:n.parsedType}),N}return{status:"valid",value:t.data}}};Yr.create=e=>new Yr({typeName:S.ZodNaN,...U(e)});var rv=Symbol("zod_brand"),On=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},En=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?N:s.status==="dirty"?(r.dirty(),ir(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?N:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:S.ZodPipeline})}},wr=class extends J{_parse(t){let r=this._def.innerType._parse(t),n=o=>(Zt(o)&&(o.value=Object.freeze(o.value)),o);return Br(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};wr.create=(e,t)=>new wr({innerType:e,typeName:S.ZodReadonly,...U(t)});function tp(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function ip(e,t={},r){return e?qt.create().superRefine((n,o)=>{let s=e(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=tp(t,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=tp(t,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):qt.create()}var nv={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 ov=(e,t={message:`Input not instance of ${e.name}`})=>ip(r=>r instanceof e,t),ap=Ut.create,cp=ar.create,sv=Yr.create,iv=cr.create,dp=dr.create,av=ur.create,cv=Hr.create,dv=lr.create,uv=pr.create,lv=qt.create,pv=jt.create,mv=at.create,fv=Kr.create,hv=Ot.create,Vi=Ze.create,gv=Ze.strictCreate,yv=mr.create,_v=Wo.create,bv=fr.create,vv=_t.create,wv=Ho.create,kv=Gr.create,xv=Qr.create,Sv=Ko.create,$v=hr.create,zv=gr.create,Pv=yr.create,Tv=_r.create,Rv=Jt.create,jv=Xe.create,Ov=Le.create,Ev=bt.create,Iv=Xe.createWithPreprocess,Cv=En.create,Av=()=>ap().optional(),Mv=()=>cp().optional(),Nv=()=>dp().optional(),Dv={string:(e=>Ut.create({...e,coerce:!0})),number:(e=>ar.create({...e,coerce:!0})),boolean:(e=>dr.create({...e,coerce:!0})),bigint:(e=>cr.create({...e,coerce:!0})),date:(e=>ur.create({...e,coerce:!0}))};var Lv=N;var Uv=Object.freeze({status:"aborted"});function b(e,t,r){function n(a,c){var d;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(d=a._zod).traits??(d.traits=new Set),a._zod.traits.add(e),t(a,c);for(let u in i.prototype)u in a||Object.defineProperty(a,u,{value:i.prototype[u].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var c;let d=r?.Parent?new s:this;n(d,a),(c=d._zod).deferred??(c.deferred=[]);for(let u of d._zod.deferred)u();return d}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var Et=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Go={};function He(e){return e&&Object.assign(Go,e),Go}var H={};Ui(H,{BIGINT_FORMAT_RANGES:()=>lp,Class:()=>Wi,NUMBER_FORMAT_RANGES:()=>ea,aborted:()=>xr,allowsEval:()=>Qi,assert:()=>Bv,assertEqual:()=>qv,assertIs:()=>Fv,assertNever:()=>Vv,assertNotEqual:()=>Jv,assignProp:()=>Gi,cached:()=>An,captureStackTrace:()=>Yo,cleanEnum:()=>sw,cleanRegex:()=>Nn,clone:()=>Ke,createTransparentProxy:()=>Yv,defineLazy:()=>ie,esc:()=>kr,escapeRegex:()=>Ft,extend:()=>tw,finalizeIssue:()=>ct,floatSafeRemainder:()=>Ki,getElementAtPath:()=>Wv,getEnumValues:()=>Cn,getLengthableOrigin:()=>Dn,getParsedType:()=>Qv,getSizableOrigin:()=>pp,isObject:()=>Xr,isPlainObject:()=>en,issue:()=>ta,joinValues:()=>Qo,jsonStringifyReplacer:()=>Hi,merge:()=>rw,normalizeParams:()=>D,nullish:()=>Mn,numKeys:()=>Gv,omit:()=>ew,optionalKeys:()=>Xi,partial:()=>nw,pick:()=>Xv,prefixIssues:()=>vt,primitiveTypes:()=>up,promiseAllObject:()=>Hv,propertyKeyTypes:()=>Yi,randomString:()=>Kv,required:()=>ow,stringifyPrimitive:()=>Xo,unwrapMessage:()=>In});function qv(e){return e}function Jv(e){return e}function Fv(e){}function Vv(e){throw new Error}function Bv(e){}function Cn(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Qo(e,t="|"){return e.map(r=>Xo(r)).join(t)}function Hi(e,t){return typeof t=="bigint"?t.toString():t}function An(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Mn(e){return e==null}function Nn(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Ki(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function ie(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Gi(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Wv(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function Hv(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function Kv(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function kr(e){return JSON.stringify(e)}var Yo=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Xr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Qi=An(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function en(e){if(Xr(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Xr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Gv(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Qv=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}`)}},Yi=new Set(["string","number","symbol"]),up=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ft(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ke(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function D(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 Yv(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function Xo(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Xi(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var ea={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]},lp={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Xv(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return Ke(e,{...e._zod.def,shape:r,checks:[]})}function ew(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return Ke(e,{...e._zod.def,shape:r,checks:[]})}function tw(e,t){if(!en(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Gi(this,"shape",n),n},checks:[]};return Ke(e,r)}function rw(e,t){return Ke(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Gi(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function nw(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=e?new e({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=e?new e({type:"optional",innerType:n[s]}):n[s];return Ke(t,{...t._zod.def,shape:o,checks:[]})}function ow(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new e({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return Ke(t,{...t._zod.def,shape:o,checks:[]})}function xr(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function vt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function In(e){return typeof e=="string"?e:e?.message}function ct(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=In(e.inst?._zod.def?.error?.(e))??In(t?.error?.(e))??In(r.customError?.(e))??In(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function pp(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Dn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ta(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function sw(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var Wi=class{constructor(...t){}};var mp=(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,Hi,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},es=b("$ZodError",mp),Ln=b("$ZodError",mp,{Parent:Error});function ra(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function na(e,t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let d=i.path[c];c===i.path.length-1?(a[d]=a[d]||{_errors:[]},a[d]._errors.push(r(i))):a[d]=a[d]||{_errors:[]},a=a[d],c++}}};return o(e),n}var oa=e=>(t,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Et;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>ct(c,s,He())));throw Yo(a,o?.callee),a}return i.value},sa=oa(Ln),ia=e=>async(t,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>ct(c,s,He())));throw Yo(a,o?.callee),a}return i.value},aa=ia(Ln),ca=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Et;return s.issues.length?{success:!1,error:new(e??es)(s.issues.map(i=>ct(i,o,He())))}:{success:!0,data:s.value}},Sr=ca(Ln),da=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>ct(i,o,He())))}:{success:!0,data:s.value}},$r=da(Ln);var fp=/^[cC][^\s-]{8,}$/,hp=/^[0-9a-z]+$/,gp=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,yp=/^[0-9a-vA-V]{20}$/,_p=/^[A-Za-z0-9]{27}$/,bp=/^[a-zA-Z0-9_-]{21}$/,vp=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var wp=/^([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})$/,ua=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 kp=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var aw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function xp(){return new RegExp(aw,"u")}var Sp=/^(?:(?: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})$/,zp=/^((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])$/,Pp=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Tp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,la=/^[A-Za-z0-9_-]*$/,Rp=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var jp=/^\+(?:[0-9]){6,14}[0-9]$/,Op="(?:(?:\\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])))",Ep=new RegExp(`^${Op}$`);function Ip(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 Cp(e){return new RegExp(`^${Ip(e)}$`)}function Ap(e){let t=Ip({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Op}T(?:${n})$`)}var Mp=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Np=/^\d+$/,Dp=/^-?\d+(?:\.\d+)?/i,Lp=/true|false/i,Zp=/null/i;var Up=/^[^A-Z]*$/,qp=/^[^a-z]*$/;var xe=b("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Jp={number:"number",bigint:"bigint",object:"date"},pa=b("$ZodCheckLessThan",(e,t)=>{xe.init(e,t);let r=Jp[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ma=b("$ZodCheckGreaterThan",(e,t)=>{xe.init(e,t);let r=Jp[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Fp=b("$ZodCheckMultipleOf",(e,t)=>{xe.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Ki(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Vp=b("$ZodCheckNumberFormat",(e,t)=>{xe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=ea[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Np)}),e._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:e})}});var Bp=b("$ZodCheckMaxLength",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let i=Dn(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Wp=b("$ZodCheckMinLength",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let i=Dn(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Hp=b("$ZodCheckLengthEquals",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,s=o.length;if(s===t.length)return;let i=Dn(o),a=s>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Zn=b("$ZodCheckStringFormat",(e,t)=>{var r,n;xe.init(e,t),e._zod.onattach.push(o=>{let s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Kp=b("$ZodCheckRegex",(e,t)=>{Zn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Gp=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Up),Zn.init(e,t)}),Qp=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=qp),Zn.init(e,t)}),Yp=b("$ZodCheckIncludes",(e,t)=>{xe.init(e,t);let r=Ft(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Xp=b("$ZodCheckStartsWith",(e,t)=>{xe.init(e,t);let r=new RegExp(`^${Ft(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),em=b("$ZodCheckEndsWith",(e,t)=>{xe.init(e,t);let r=new RegExp(`.*${Ft(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var tm=b("$ZodCheckOverwrite",(e,t)=>{xe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var rs=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
11
11
  `).filter(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let t=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...r,o.join(`
12
- `))}};var nm={major:4,minor:0,patch:0};var ne=b("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=nm;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,i,a)=>{let c=xr(s),d;for(let u of i){if(u._zod.def.when){if(!u._zod.def.when(s))continue}else if(c)continue;let l=s.issues.length,m=u._zod.check(s);if(m instanceof Promise&&a?.async===!1)throw new Et;if(d||m instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await m,s.issues.length!==l&&(c||(c=xr(s,l)))});else{if(s.issues.length===l)continue;c||(c=xr(s,l))}}return d?d.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 Et;return a.then(c=>o(c,n,i))}return o(a,n,i)}}e["~standard"]={validate:o=>{try{let s=Sr(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return $r(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Un=b("$ZodString",(e,t)=>{ne.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Mp(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),ae=b("$ZodStringFormat",(e,t)=>{Zn.init(e,t),Un.init(e,t)}),ha=b("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=wp),ae.init(e,t)}),ga=b("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ua(n))}else t.pattern??(t.pattern=ua());ae.init(e,t)}),ya=b("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=kp),ae.init(e,t)}),_a=b("$ZodURL",(e,t)=>{ae.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Rp.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),ba=b("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=xp()),ae.init(e,t)}),va=b("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=bp),ae.init(e,t)}),wa=b("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=fp),ae.init(e,t)}),ka=b("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=hp),ae.init(e,t)}),xa=b("$ZodULID",(e,t)=>{t.pattern??(t.pattern=gp),ae.init(e,t)}),Sa=b("$ZodXID",(e,t)=>{t.pattern??(t.pattern=yp),ae.init(e,t)}),$a=b("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=_p),ae.init(e,t)}),mm=b("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ap(t)),ae.init(e,t)}),fm=b("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ep),ae.init(e,t)}),hm=b("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Cp(t)),ae.init(e,t)}),gm=b("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=vp),ae.init(e,t)}),za=b("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Sp),ae.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),Pa=b("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=$p),ae.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),Ta=b("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=zp),ae.init(e,t)}),Ra=b("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Pp),ae.init(e,t),e._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function ym(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var ja=b("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Tp),ae.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{ym(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function iw(e){if(!la.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return ym(r)}var Oa=b("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=la),ae.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{iw(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Ea=b("$ZodE164",(e,t)=>{t.pattern??(t.pattern=jp),ae.init(e,t)});function aw(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Ia=b("$ZodJWT",(e,t)=>{ae.init(e,t),e._zod.check=r=>{aw(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var os=b("$ZodNumber",(e,t)=>{ne.init(e,t),e._zod.pattern=e._zod.bag.pattern??Dp,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),Ca=b("$ZodNumber",(e,t)=>{Vp.init(e,t),os.init(e,t)}),Aa=b("$ZodBoolean",(e,t)=>{ne.init(e,t),e._zod.pattern=Lp,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var Ma=b("$ZodNull",(e,t)=>{ne.init(e,t),e._zod.pattern=Zp,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var Na=b("$ZodUnknown",(e,t)=>{ne.init(e,t),e._zod.parse=r=>r}),Da=b("$ZodNever",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function om(e,t,r){e.issues.length&&t.issues.push(...vt(r,e.issues)),t.value[r]=e.value}var La=b("$ZodArray",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(d=>om(d,r,i))):om(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function ns(e,t,r){e.issues.length&&t.issues.push(...vt(r,e.issues)),t.value[r]=e.value}function sm(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...vt(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var ss=b("$ZodObject",(e,t)=>{ne.init(e,t);let r=An(()=>{let l=Object.keys(t.shape);for(let f of l)if(!(t.shape[f]instanceof ne))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let m=Xi(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 n=l=>{let m=new rs(["shape","payload","ctx"]),f=r.value,h=w=>{let k=kr(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=kr(w);m.write(`
12
+ `))}};var nm={major:4,minor:0,patch:0};var ne=b("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=nm;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,i,a)=>{let c=xr(s),d;for(let u of i){if(u._zod.def.when){if(!u._zod.def.when(s))continue}else if(c)continue;let l=s.issues.length,m=u._zod.check(s);if(m instanceof Promise&&a?.async===!1)throw new Et;if(d||m instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await m,s.issues.length!==l&&(c||(c=xr(s,l)))});else{if(s.issues.length===l)continue;c||(c=xr(s,l))}}return d?d.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 Et;return a.then(c=>o(c,n,i))}return o(a,n,i)}}e["~standard"]={validate:o=>{try{let s=Sr(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return $r(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Un=b("$ZodString",(e,t)=>{ne.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Mp(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),ae=b("$ZodStringFormat",(e,t)=>{Zn.init(e,t),Un.init(e,t)}),ha=b("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=wp),ae.init(e,t)}),ga=b("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ua(n))}else t.pattern??(t.pattern=ua());ae.init(e,t)}),ya=b("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=kp),ae.init(e,t)}),_a=b("$ZodURL",(e,t)=>{ae.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Rp.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),ba=b("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=xp()),ae.init(e,t)}),va=b("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=bp),ae.init(e,t)}),wa=b("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=fp),ae.init(e,t)}),ka=b("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=hp),ae.init(e,t)}),xa=b("$ZodULID",(e,t)=>{t.pattern??(t.pattern=gp),ae.init(e,t)}),Sa=b("$ZodXID",(e,t)=>{t.pattern??(t.pattern=yp),ae.init(e,t)}),$a=b("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=_p),ae.init(e,t)}),mm=b("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ap(t)),ae.init(e,t)}),fm=b("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ep),ae.init(e,t)}),hm=b("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Cp(t)),ae.init(e,t)}),gm=b("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=vp),ae.init(e,t)}),za=b("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Sp),ae.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),Pa=b("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=$p),ae.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),Ta=b("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=zp),ae.init(e,t)}),Ra=b("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Pp),ae.init(e,t),e._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function ym(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var ja=b("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Tp),ae.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{ym(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function cw(e){if(!la.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return ym(r)}var Oa=b("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=la),ae.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{cw(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Ea=b("$ZodE164",(e,t)=>{t.pattern??(t.pattern=jp),ae.init(e,t)});function dw(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Ia=b("$ZodJWT",(e,t)=>{ae.init(e,t),e._zod.check=r=>{dw(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var os=b("$ZodNumber",(e,t)=>{ne.init(e,t),e._zod.pattern=e._zod.bag.pattern??Dp,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),Ca=b("$ZodNumber",(e,t)=>{Vp.init(e,t),os.init(e,t)}),Aa=b("$ZodBoolean",(e,t)=>{ne.init(e,t),e._zod.pattern=Lp,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var Ma=b("$ZodNull",(e,t)=>{ne.init(e,t),e._zod.pattern=Zp,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var Na=b("$ZodUnknown",(e,t)=>{ne.init(e,t),e._zod.parse=r=>r}),Da=b("$ZodNever",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function om(e,t,r){e.issues.length&&t.issues.push(...vt(r,e.issues)),t.value[r]=e.value}var La=b("$ZodArray",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(d=>om(d,r,i))):om(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function ns(e,t,r){e.issues.length&&t.issues.push(...vt(r,e.issues)),t.value[r]=e.value}function sm(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...vt(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var ss=b("$ZodObject",(e,t)=>{ne.init(e,t);let r=An(()=>{let l=Object.keys(t.shape);for(let f of l)if(!(t.shape[f]instanceof ne))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let m=Xi(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 n=l=>{let m=new rs(["shape","payload","ctx"]),f=r.value,h=w=>{let k=kr(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=kr(w);m.write(`
13
13
  if (${k}.issues.length) {
14
14
  if (input[${j}] === undefined) {
15
15
  if (${j} in input) {
@@ -32,18 +32,18 @@ var xb=Object.create;var Zi=Object.defineProperty;var Sb=Object.getOwnPropertyDe
32
32
  if (${k}.issues.length) payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
33
33
  ...iss,
34
34
  path: iss.path ? [${kr(w)}, ...iss.path] : [${kr(w)}]
35
- })));`),m.write(`newResult[${kr(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=Xr,i=!Go.jitless,c=i&&Qi.value,d=t.catchall,u;e._zod.parse=(l,m)=>{u??(u=r.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=n(t.shape)),l=o(l,m);else{l.value={};let k=u.shape;for(let j of u.keys){let M=k[j],Ie=M._zod.run({value:f[j],issues:[]},m),Qe=M._zod.optin==="optional"&&M._zod.optout==="optional";Ie instanceof Promise?h.push(Ie.then(Fr=>Qe?sm(Fr,l,j,f):ns(Fr,l,j))):Qe?sm(Ie,l,j,f):ns(Ie,l,j)}}if(!d)return h.length?Promise.all(h).then(()=>l):l;let g=[],y=u.keySet,v=d._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=>ns(M,l,k))):ns(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 im(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>ct(s,n,He())))}),t}var is=b("$ZodUnion",(e,t)=>{ne.init(e,t),ie(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ie(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ie(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),ie(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Nn(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of t.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>im(i,r,e,n)):im(s,r,e,n)}}),Za=b("$ZodDiscriminatedUnion",(e,t)=>{is.init(e,t);let r=e._zod.parse;ie(e._zod,"propValues",()=>{let o={};for(let s of t.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let d of c)o[a].add(d)}}return o});let n=An(()=>{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(!Xr(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=n.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Ua=b("$ZodIntersection",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,d])=>am(r,c,d)):am(r,s,i)}});function fa(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(en(e)&&en(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let i=fa(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=fa(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function am(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),xr(e))return e;let n=fa(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var qa=b("$ZodRecord",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!en(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let d=t.valueType._zod.run({value:o[c],issues:[]},n);d instanceof Promise?s.push(d.then(u=>{u.issues.length&&r.issues.push(...vt(c,u.issues)),r.value[c]=u.value})):(d.issues.length&&r.issues.push(...vt(c,d.issues)),r.value[c]=d.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(d=>ct(d,n,He())),input:i,path:[i],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(d=>{d.issues.length&&r.issues.push(...vt(i,d.issues)),r.value[a.value]=d.value})):(c.issues.length&&r.issues.push(...vt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Ja=b("$ZodEnum",(e,t)=>{ne.init(e,t);let r=Cn(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>Yi.has(typeof n)).map(n=>typeof n=="string"?Ft(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;return e._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:e}),n}}),Fa=b("$ZodLiteral",(e,t)=>{ne.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Ft(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Va=b("$ZodTransform",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new Et;return r.value=o,r}}),Ba=b("$ZodOptional",(e,t)=>{ne.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ie(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Nn(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Wa=b("$ZodNullable",(e,t)=>{ne.init(e,t),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Nn(r.source)}|null)$`):void 0}),ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Ha=b("$ZodDefault",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>cm(s,t)):cm(o,t)}});function cm(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ka=b("$ZodPrefault",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Ga=b("$ZodNonOptional",(e,t)=>{ne.init(e,t),ie(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>dm(s,e)):dm(o,e)}});function dm(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 Qa=b("$ZodCatch",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=t.catchValue({...r,error:{issues:s.issues.map(i=>ct(i,n,He()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>ct(s,n,He()))},input:r.value}),r.issues=[]),r)}});var Ya=b("$ZodPipe",(e,t)=>{ne.init(e,t),ie(e._zod,"values",()=>t.in._zod.values),ie(e._zod,"optin",()=>t.in._zod.optin),ie(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(s=>um(s,t,n)):um(o,t,n)}});function um(e,t,r){return xr(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var Xa=b("$ZodReadonly",(e,t)=>{ne.init(e,t),ie(e._zod,"propValues",()=>t.innerType._zod.propValues),ie(e._zod,"values",()=>t.innerType._zod.values),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(lm):lm(o)}});function lm(e){return e.value=Object.freeze(e.value),e}var ec=b("$ZodCustom",(e,t)=>{xe.init(e,t),ne.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(s=>pm(s,r,n,e));pm(o,r,n,e)}});function pm(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(ta(o))}}var cw=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},dw=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${cw(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Xo(n.values[0])}`:`Invalid option: expected one of ${Qo(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Qo(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function _m(){return{localeError:dw()}}var qn=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function bm(){return new qn}var Vt=bm();function tc(e,t){return new e({type:"string",...D(t)})}function rc(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...D(t)})}function as(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...D(t)})}function nc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...D(t)})}function oc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...D(t)})}function sc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...D(t)})}function ic(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...D(t)})}function ac(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...D(t)})}function cc(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...D(t)})}function dc(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...D(t)})}function uc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...D(t)})}function lc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...D(t)})}function pc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...D(t)})}function mc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...D(t)})}function fc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...D(t)})}function hc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...D(t)})}function gc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...D(t)})}function yc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...D(t)})}function _c(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...D(t)})}function bc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...D(t)})}function vc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...D(t)})}function wc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...D(t)})}function kc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...D(t)})}function vm(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...D(t)})}function wm(e,t){return new e({type:"string",format:"date",check:"string_format",...D(t)})}function km(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...D(t)})}function xm(e,t){return new e({type:"string",format:"duration",check:"string_format",...D(t)})}function xc(e,t){return new e({type:"number",checks:[],...D(t)})}function Sc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...D(t)})}function $c(e,t){return new e({type:"boolean",...D(t)})}function zc(e,t){return new e({type:"null",...D(t)})}function Pc(e){return new e({type:"unknown"})}function Tc(e,t){return new e({type:"never",...D(t)})}function cs(e,t){return new pa({check:"less_than",...D(t),value:e,inclusive:!1})}function Jn(e,t){return new pa({check:"less_than",...D(t),value:e,inclusive:!0})}function ds(e,t){return new ma({check:"greater_than",...D(t),value:e,inclusive:!1})}function Fn(e,t){return new ma({check:"greater_than",...D(t),value:e,inclusive:!0})}function us(e,t){return new Fp({check:"multiple_of",...D(t),value:e})}function ls(e,t){return new Bp({check:"max_length",...D(t),maximum:e})}function tn(e,t){return new Wp({check:"min_length",...D(t),minimum:e})}function ps(e,t){return new Hp({check:"length_equals",...D(t),length:e})}function Rc(e,t){return new Kp({check:"string_format",format:"regex",...D(t),pattern:e})}function jc(e){return new Gp({check:"string_format",format:"lowercase",...D(e)})}function Oc(e){return new Qp({check:"string_format",format:"uppercase",...D(e)})}function Ec(e,t){return new Yp({check:"string_format",format:"includes",...D(t),includes:e})}function Ic(e,t){return new Xp({check:"string_format",format:"starts_with",...D(t),prefix:e})}function Cc(e,t){return new em({check:"string_format",format:"ends_with",...D(t),suffix:e})}function zr(e){return new tm({check:"overwrite",tx:e})}function Ac(e){return zr(t=>t.normalize(e))}function Mc(){return zr(e=>e.trim())}function Nc(){return zr(e=>e.toLowerCase())}function Dc(){return zr(e=>e.toUpperCase())}function Sm(e,t,r){return new e({type:"array",element:t,...D(r)})}function Lc(e,t,r){let n=D(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Zc(e,t,r){return new e({type:"custom",check:"custom",fn:t,...D(r)})}var ms=class{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??Vt,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(t);if(i)return i.count++,r.schemaPath.includes(t)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(t,a);let c=t._zod.toJSONSchema?.();if(c)a.schema=c;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path},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=Cn(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 d=this.metadataRegistry.get(t);return d&&Object.assign(a.schema,d),this.io==="input"&&be(t)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(t).schema}emit(t,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(t);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=u=>{let l=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let g=n.external.registry.get(u[0])?.id,y=n.external.uri??(w=>w);if(g)return{ref:y(g)};let v=u[1].defId??u[1].schema.id??`schema${this.counter++}`;return u[1].defId=v,{defId:v,ref:`${y("__shared")}#/${l}/${v}`}}if(u[1]===o)return{ref:"#"};let f=`#/${l}/`,h=u[1].schema.id??`__schema${this.counter++}`;return{defId:h,ref:f+h}},i=u=>{if(u[1].schema.$ref)return;let l=u[1],{ref:m,defId:f}=s(u);l.def={...l.schema},f&&(l.defId=f);let h=l.schema;for(let g in h)delete h[g];h.$ref=m};if(n.cycles==="throw")for(let u of this.seen.entries()){let l=u[1];if(l.cycle)throw new Error(`Cycle detected: #/${l.cycle?.join("/")}/<root>
35
+ })));`),m.write(`newResult[${kr(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=Xr,i=!Go.jitless,c=i&&Qi.value,d=t.catchall,u;e._zod.parse=(l,m)=>{u??(u=r.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=n(t.shape)),l=o(l,m);else{l.value={};let k=u.shape;for(let j of u.keys){let M=k[j],Ie=M._zod.run({value:f[j],issues:[]},m),Qe=M._zod.optin==="optional"&&M._zod.optout==="optional";Ie instanceof Promise?h.push(Ie.then(Fr=>Qe?sm(Fr,l,j,f):ns(Fr,l,j))):Qe?sm(Ie,l,j,f):ns(Ie,l,j)}}if(!d)return h.length?Promise.all(h).then(()=>l):l;let g=[],y=u.keySet,v=d._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=>ns(M,l,k))):ns(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 im(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>ct(s,n,He())))}),t}var is=b("$ZodUnion",(e,t)=>{ne.init(e,t),ie(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ie(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ie(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),ie(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Nn(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of t.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>im(i,r,e,n)):im(s,r,e,n)}}),Za=b("$ZodDiscriminatedUnion",(e,t)=>{is.init(e,t);let r=e._zod.parse;ie(e._zod,"propValues",()=>{let o={};for(let s of t.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let d of c)o[a].add(d)}}return o});let n=An(()=>{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(!Xr(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=n.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Ua=b("$ZodIntersection",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,d])=>am(r,c,d)):am(r,s,i)}});function fa(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(en(e)&&en(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let i=fa(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=fa(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function am(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),xr(e))return e;let n=fa(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var qa=b("$ZodRecord",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!en(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let d=t.valueType._zod.run({value:o[c],issues:[]},n);d instanceof Promise?s.push(d.then(u=>{u.issues.length&&r.issues.push(...vt(c,u.issues)),r.value[c]=u.value})):(d.issues.length&&r.issues.push(...vt(c,d.issues)),r.value[c]=d.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(d=>ct(d,n,He())),input:i,path:[i],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(d=>{d.issues.length&&r.issues.push(...vt(i,d.issues)),r.value[a.value]=d.value})):(c.issues.length&&r.issues.push(...vt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Ja=b("$ZodEnum",(e,t)=>{ne.init(e,t);let r=Cn(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>Yi.has(typeof n)).map(n=>typeof n=="string"?Ft(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;return e._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:e}),n}}),Fa=b("$ZodLiteral",(e,t)=>{ne.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Ft(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Va=b("$ZodTransform",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new Et;return r.value=o,r}}),Ba=b("$ZodOptional",(e,t)=>{ne.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ie(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Nn(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Wa=b("$ZodNullable",(e,t)=>{ne.init(e,t),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Nn(r.source)}|null)$`):void 0}),ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Ha=b("$ZodDefault",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>cm(s,t)):cm(o,t)}});function cm(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ka=b("$ZodPrefault",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Ga=b("$ZodNonOptional",(e,t)=>{ne.init(e,t),ie(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>dm(s,e)):dm(o,e)}});function dm(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 Qa=b("$ZodCatch",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=t.catchValue({...r,error:{issues:s.issues.map(i=>ct(i,n,He()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>ct(s,n,He()))},input:r.value}),r.issues=[]),r)}});var Ya=b("$ZodPipe",(e,t)=>{ne.init(e,t),ie(e._zod,"values",()=>t.in._zod.values),ie(e._zod,"optin",()=>t.in._zod.optin),ie(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(s=>um(s,t,n)):um(o,t,n)}});function um(e,t,r){return xr(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var Xa=b("$ZodReadonly",(e,t)=>{ne.init(e,t),ie(e._zod,"propValues",()=>t.innerType._zod.propValues),ie(e._zod,"values",()=>t.innerType._zod.values),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(lm):lm(o)}});function lm(e){return e.value=Object.freeze(e.value),e}var ec=b("$ZodCustom",(e,t)=>{xe.init(e,t),ne.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(s=>pm(s,r,n,e));pm(o,r,n,e)}});function pm(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(ta(o))}}var uw=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},lw=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${uw(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Xo(n.values[0])}`:`Invalid option: expected one of ${Qo(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Qo(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function _m(){return{localeError:lw()}}var qn=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function bm(){return new qn}var Vt=bm();function tc(e,t){return new e({type:"string",...D(t)})}function rc(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...D(t)})}function as(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...D(t)})}function nc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...D(t)})}function oc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...D(t)})}function sc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...D(t)})}function ic(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...D(t)})}function ac(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...D(t)})}function cc(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...D(t)})}function dc(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...D(t)})}function uc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...D(t)})}function lc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...D(t)})}function pc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...D(t)})}function mc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...D(t)})}function fc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...D(t)})}function hc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...D(t)})}function gc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...D(t)})}function yc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...D(t)})}function _c(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...D(t)})}function bc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...D(t)})}function vc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...D(t)})}function wc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...D(t)})}function kc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...D(t)})}function vm(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...D(t)})}function wm(e,t){return new e({type:"string",format:"date",check:"string_format",...D(t)})}function km(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...D(t)})}function xm(e,t){return new e({type:"string",format:"duration",check:"string_format",...D(t)})}function xc(e,t){return new e({type:"number",checks:[],...D(t)})}function Sc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...D(t)})}function $c(e,t){return new e({type:"boolean",...D(t)})}function zc(e,t){return new e({type:"null",...D(t)})}function Pc(e){return new e({type:"unknown"})}function Tc(e,t){return new e({type:"never",...D(t)})}function cs(e,t){return new pa({check:"less_than",...D(t),value:e,inclusive:!1})}function Jn(e,t){return new pa({check:"less_than",...D(t),value:e,inclusive:!0})}function ds(e,t){return new ma({check:"greater_than",...D(t),value:e,inclusive:!1})}function Fn(e,t){return new ma({check:"greater_than",...D(t),value:e,inclusive:!0})}function us(e,t){return new Fp({check:"multiple_of",...D(t),value:e})}function ls(e,t){return new Bp({check:"max_length",...D(t),maximum:e})}function tn(e,t){return new Wp({check:"min_length",...D(t),minimum:e})}function ps(e,t){return new Hp({check:"length_equals",...D(t),length:e})}function Rc(e,t){return new Kp({check:"string_format",format:"regex",...D(t),pattern:e})}function jc(e){return new Gp({check:"string_format",format:"lowercase",...D(e)})}function Oc(e){return new Qp({check:"string_format",format:"uppercase",...D(e)})}function Ec(e,t){return new Yp({check:"string_format",format:"includes",...D(t),includes:e})}function Ic(e,t){return new Xp({check:"string_format",format:"starts_with",...D(t),prefix:e})}function Cc(e,t){return new em({check:"string_format",format:"ends_with",...D(t),suffix:e})}function zr(e){return new tm({check:"overwrite",tx:e})}function Ac(e){return zr(t=>t.normalize(e))}function Mc(){return zr(e=>e.trim())}function Nc(){return zr(e=>e.toLowerCase())}function Dc(){return zr(e=>e.toUpperCase())}function Sm(e,t,r){return new e({type:"array",element:t,...D(r)})}function Lc(e,t,r){let n=D(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Zc(e,t,r){return new e({type:"custom",check:"custom",fn:t,...D(r)})}var ms=class{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??Vt,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(t);if(i)return i.count++,r.schemaPath.includes(t)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(t,a);let c=t._zod.toJSONSchema?.();if(c)a.schema=c;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path},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=Cn(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 d=this.metadataRegistry.get(t);return d&&Object.assign(a.schema,d),this.io==="input"&&be(t)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(t).schema}emit(t,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(t);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=u=>{let l=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let g=n.external.registry.get(u[0])?.id,y=n.external.uri??(w=>w);if(g)return{ref:y(g)};let v=u[1].defId??u[1].schema.id??`schema${this.counter++}`;return u[1].defId=v,{defId:v,ref:`${y("__shared")}#/${l}/${v}`}}if(u[1]===o)return{ref:"#"};let f=`#/${l}/`,h=u[1].schema.id??`__schema${this.counter++}`;return{defId:h,ref:f+h}},i=u=>{if(u[1].schema.$ref)return;let l=u[1],{ref:m,defId:f}=s(u);l.def={...l.schema},f&&(l.defId=f);let h=l.schema;for(let g in h)delete h[g];h.$ref=m};if(n.cycles==="throw")for(let u of this.seen.entries()){let l=u[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 u of this.seen.entries()){let l=u[1];if(t===u[0]){i(u);continue}if(n.external){let f=n.external.registry.get(u[0])?.id;if(t!==u[0]&&f){i(u);continue}}if(this.metadataRegistry.get(u[0])?.id){i(u);continue}if(l.cycle){i(u);continue}if(l.count>1&&n.reused==="ref"){i(u);continue}}let a=(u,l)=>{let m=this.seen.get(u),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:u,jsonSchema:f,path:m.path??[]})};for(let u of[...this.seen.entries()].reverse())a(u[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let u=n.external.registry.get(t)?.id;if(!u)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(u)}Object.assign(c,o.def);let d=n.external?.defs??{};for(let u of this.seen.entries()){let l=u[1];l.def&&l.defId&&(d[l.defId]=l.def)}n.external||Object.keys(d).length>0&&(this.target==="draft-2020-12"?c.$defs=d:c.definitions=d);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Uc(e,t){if(e instanceof qn){let n=new ms(t),o={};for(let a of e._idmap.entries()){let[c,d]=a;n.process(d)}let s={},i={registry:e,uri:t?.uri,defs:o};for(let a of e._idmap.entries()){let[c,d]=a;s[c]=n.emit(d,{...t,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new ms(t);return r.process(e),r.emit(e,t)}function be(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let o=e._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return be(o.element,r);case"object":{for(let s in o.shape)if(be(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(be(s,r))return!0;return!1}case"intersection":return be(o.left,r)||be(o.right,r);case"tuple":{for(let s of o.items)if(be(s,r))return!0;return!!(o.rest&&be(o.rest,r))}case"record":return be(o.keyType,r)||be(o.valueType,r);case"map":return be(o.keyType,r)||be(o.valueType,r);case"set":return be(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return be(o.innerType,r);case"lazy":return be(o.getter(),r);case"default":return be(o.innerType,r);case"prefault":return be(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return be(o.in,r)||be(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Fw=b("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(e,t),e.def=t,e.parse=(r,n)=>sa(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Sr(e,r,n),e.parseAsync=async(r,n)=>aa(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>$r(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>Ke(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e))});var Vw=b("ZodMiniObject",(e,t)=>{ss.init(e,t),Fw.init(e,t),H.defineLazy(e,"shape",()=>t.shape)});function qc(e,t){let r={type:"object",get shape(){return H.assignProp(this,"shape",{...e}),this.shape},...H.normalizeParams(t)};return new Vw(r)}function et(e){return!!e._zod}function Tr(e){let t=Object.values(e);if(t.length===0)return qc({});let r=t.every(et),n=t.every(o=>!et(o));if(r)return qc(e);if(n)return Vi(e);throw new Error("Mixed Zod versions detected in object shape.")}function Bt(e,t){return et(e)?Sr(e,t):e.safeParse(t)}async function fs(e,t){return et(e)?await $r(e,t):await e.safeParseAsync(t)}function Wt(e){if(!e)return;let t;if(et(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function rn(e){if(e){if(typeof e=="object"){let t=e,r=e;if(!t._def&&!r._zod){let n=Object.values(e);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Tr(e)}}if(et(e)){let r=e._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function hs(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 zm(e){return e.description}function Pm(e){if(et(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function gs(e){if(et(e)){let s=e._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var Vn={};Ui(Vn,{ZodISODate:()=>Rm,ZodISODateTime:()=>Tm,ZodISODuration:()=>Om,ZodISOTime:()=>jm,date:()=>Fc,datetime:()=>Jc,duration:()=>Bc,time:()=>Vc});var Tm=b("ZodISODateTime",(e,t)=>{mm.init(e,t),pe.init(e,t)});function Jc(e){return vm(Tm,e)}var Rm=b("ZodISODate",(e,t)=>{fm.init(e,t),pe.init(e,t)});function Fc(e){return wm(Rm,e)}var jm=b("ZodISOTime",(e,t)=>{hm.init(e,t),pe.init(e,t)});function Vc(e){return km(jm,e)}var Om=b("ZodISODuration",(e,t)=>{gm.init(e,t),pe.init(e,t)});function Bc(e){return xm(Om,e)}var Em=(e,t)=>{es.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>na(e,r)},flatten:{value:r=>ra(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},OE=b("ZodError",Em),Bn=b("ZodError",Em,{Parent:Error});var Im=oa(Bn),Cm=ia(Bn),Am=ca(Bn),Mm=da(Bn);var ge=b("ZodType",(e,t)=>(ne.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>Ke(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>Im(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Am(e,r,n),e.parseAsync=async(r,n)=>Cm(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Mm(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(qk(r,n)),e.superRefine=r=>e.check(Jk(r)),e.overwrite=r=>e.check(zr(r)),e.optional=()=>fe(e),e.nullable=()=>Lm(e),e.nullish=()=>fe(Lm(e)),e.nonoptional=r=>Ak(e,r),e.array=()=>K(e),e.or=r=>de([e,r]),e.and=r=>_s(e,r),e.transform=r=>Hc(e,Vm(r)),e.default=r=>Ek(e,r),e.prefault=r=>Ck(e,r),e.catch=r=>Nk(e,r),e.pipe=r=>Hc(e,r),e.readonly=()=>Zk(e),e.describe=r=>{let n=e.clone();return Vt.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Vt.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Vt.get(e);let n=e.clone();return Vt.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Zm=b("_ZodString",(e,t)=>{Un.init(e,t),ge.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Rc(...n)),e.includes=(...n)=>e.check(Ec(...n)),e.startsWith=(...n)=>e.check(Ic(...n)),e.endsWith=(...n)=>e.check(Cc(...n)),e.min=(...n)=>e.check(tn(...n)),e.max=(...n)=>e.check(ls(...n)),e.length=(...n)=>e.check(ps(...n)),e.nonempty=(...n)=>e.check(tn(1,...n)),e.lowercase=n=>e.check(jc(n)),e.uppercase=n=>e.check(Oc(n)),e.trim=()=>e.check(Mc()),e.normalize=(...n)=>e.check(Ac(...n)),e.toLowerCase=()=>e.check(Nc()),e.toUpperCase=()=>e.check(Dc())}),ek=b("ZodString",(e,t)=>{Un.init(e,t),Zm.init(e,t),e.email=r=>e.check(rc(tk,r)),e.url=r=>e.check(ac(rk,r)),e.jwt=r=>e.check(kc(yk,r)),e.emoji=r=>e.check(cc(nk,r)),e.guid=r=>e.check(as(Nm,r)),e.uuid=r=>e.check(nc(ys,r)),e.uuidv4=r=>e.check(oc(ys,r)),e.uuidv6=r=>e.check(sc(ys,r)),e.uuidv7=r=>e.check(ic(ys,r)),e.nanoid=r=>e.check(dc(ok,r)),e.guid=r=>e.check(as(Nm,r)),e.cuid=r=>e.check(uc(sk,r)),e.cuid2=r=>e.check(lc(ik,r)),e.ulid=r=>e.check(pc(ak,r)),e.base64=r=>e.check(bc(fk,r)),e.base64url=r=>e.check(vc(hk,r)),e.xid=r=>e.check(mc(ck,r)),e.ksuid=r=>e.check(fc(dk,r)),e.ipv4=r=>e.check(hc(uk,r)),e.ipv6=r=>e.check(gc(lk,r)),e.cidrv4=r=>e.check(yc(pk,r)),e.cidrv6=r=>e.check(_c(mk,r)),e.e164=r=>e.check(wc(gk,r)),e.datetime=r=>e.check(Jc(r)),e.date=r=>e.check(Fc(r)),e.time=r=>e.check(Vc(r)),e.duration=r=>e.check(Bc(r))});function _(e){return tc(ek,e)}var pe=b("ZodStringFormat",(e,t)=>{ae.init(e,t),Zm.init(e,t)}),tk=b("ZodEmail",(e,t)=>{ya.init(e,t),pe.init(e,t)});var Nm=b("ZodGUID",(e,t)=>{ha.init(e,t),pe.init(e,t)});var ys=b("ZodUUID",(e,t)=>{ga.init(e,t),pe.init(e,t)});var rk=b("ZodURL",(e,t)=>{_a.init(e,t),pe.init(e,t)});var nk=b("ZodEmoji",(e,t)=>{ba.init(e,t),pe.init(e,t)});var ok=b("ZodNanoID",(e,t)=>{va.init(e,t),pe.init(e,t)});var sk=b("ZodCUID",(e,t)=>{wa.init(e,t),pe.init(e,t)});var ik=b("ZodCUID2",(e,t)=>{ka.init(e,t),pe.init(e,t)});var ak=b("ZodULID",(e,t)=>{xa.init(e,t),pe.init(e,t)});var ck=b("ZodXID",(e,t)=>{Sa.init(e,t),pe.init(e,t)});var dk=b("ZodKSUID",(e,t)=>{$a.init(e,t),pe.init(e,t)});var uk=b("ZodIPv4",(e,t)=>{za.init(e,t),pe.init(e,t)});var lk=b("ZodIPv6",(e,t)=>{Pa.init(e,t),pe.init(e,t)});var pk=b("ZodCIDRv4",(e,t)=>{Ta.init(e,t),pe.init(e,t)});var mk=b("ZodCIDRv6",(e,t)=>{Ra.init(e,t),pe.init(e,t)});var fk=b("ZodBase64",(e,t)=>{ja.init(e,t),pe.init(e,t)});var hk=b("ZodBase64URL",(e,t)=>{Oa.init(e,t),pe.init(e,t)});var gk=b("ZodE164",(e,t)=>{Ea.init(e,t),pe.init(e,t)});var yk=b("ZodJWT",(e,t)=>{Ia.init(e,t),pe.init(e,t)});var Um=b("ZodNumber",(e,t)=>{os.init(e,t),ge.init(e,t),e.gt=(n,o)=>e.check(ds(n,o)),e.gte=(n,o)=>e.check(Fn(n,o)),e.min=(n,o)=>e.check(Fn(n,o)),e.lt=(n,o)=>e.check(cs(n,o)),e.lte=(n,o)=>e.check(Jn(n,o)),e.max=(n,o)=>e.check(Jn(n,o)),e.int=n=>e.check(Dm(n)),e.safe=n=>e.check(Dm(n)),e.positive=n=>e.check(ds(0,n)),e.nonnegative=n=>e.check(Fn(0,n)),e.negative=n=>e.check(cs(0,n)),e.nonpositive=n=>e.check(Jn(0,n)),e.multipleOf=(n,o)=>e.check(us(n,o)),e.step=(n,o)=>e.check(us(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function te(e){return xc(Um,e)}var _k=b("ZodNumberFormat",(e,t)=>{Ca.init(e,t),Um.init(e,t)});function Dm(e){return Sc(_k,e)}var bk=b("ZodBoolean",(e,t)=>{Aa.init(e,t),ge.init(e,t)});function we(e){return $c(bk,e)}var vk=b("ZodNull",(e,t)=>{Ma.init(e,t),ge.init(e,t)});function qm(e){return zc(vk,e)}var wk=b("ZodUnknown",(e,t)=>{Na.init(e,t),ge.init(e,t)});function me(){return Pc(wk)}var kk=b("ZodNever",(e,t)=>{Da.init(e,t),ge.init(e,t)});function xk(e){return Tc(kk,e)}var Sk=b("ZodArray",(e,t)=>{La.init(e,t),ge.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(tn(r,n)),e.nonempty=r=>e.check(tn(1,r)),e.max=(r,n)=>e.check(ls(r,n)),e.length=(r,n)=>e.check(ps(r,n)),e.unwrap=()=>e.element});function K(e,t){return Sm(Sk,e,t)}var Jm=b("ZodObject",(e,t)=>{ss.init(e,t),ge.init(e,t),H.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Ue(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:me()}),e.loose=()=>e.clone({...e._zod.def,catchall:me()}),e.strict=()=>e.clone({...e._zod.def,catchall:xk()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>H.extend(e,r),e.merge=r=>H.merge(e,r),e.pick=r=>H.pick(e,r),e.omit=r=>H.omit(e,r),e.partial=(...r)=>H.partial(Bm,e,r[0]),e.required=(...r)=>H.required(Wm,e,r[0])});function R(e,t){let r={type:"object",get shape(){return H.assignProp(this,"shape",{...e}),this.shape},...H.normalizeParams(t)};return new Jm(r)}function Ce(e,t){return new Jm({type:"object",get shape(){return H.assignProp(this,"shape",{...e}),this.shape},catchall:me(),...H.normalizeParams(t)})}var Fm=b("ZodUnion",(e,t)=>{is.init(e,t),ge.init(e,t),e.options=t.options});function de(e,t){return new Fm({type:"union",options:e,...H.normalizeParams(t)})}var $k=b("ZodDiscriminatedUnion",(e,t)=>{Fm.init(e,t),Za.init(e,t)});function Kc(e,t,r){return new $k({type:"union",options:t,discriminator:e,...H.normalizeParams(r)})}var zk=b("ZodIntersection",(e,t)=>{Ua.init(e,t),ge.init(e,t)});function _s(e,t){return new zk({type:"intersection",left:e,right:t})}var Pk=b("ZodRecord",(e,t)=>{qa.init(e,t),ge.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function ce(e,t,r){return new Pk({type:"record",keyType:e,valueType:t,...H.normalizeParams(r)})}var Wc=b("ZodEnum",(e,t)=>{Ja.init(e,t),ge.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Wc({...t,checks:[],...H.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Wc({...t,checks:[],...H.normalizeParams(o),entries:s})}});function Ue(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Wc({type:"enum",entries:r,...H.normalizeParams(t)})}var Tk=b("ZodLiteral",(e,t)=>{Fa.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 I(e,t){return new Tk({type:"literal",values:Array.isArray(e)?e:[e],...H.normalizeParams(t)})}var Rk=b("ZodTransform",(e,t)=>{Va.init(e,t),ge.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(H.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),r.issues.push(H.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function Vm(e){return new Rk({type:"transform",transform:e})}var Bm=b("ZodOptional",(e,t)=>{Ba.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function fe(e){return new Bm({type:"optional",innerType:e})}var jk=b("ZodNullable",(e,t)=>{Wa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Lm(e){return new jk({type:"nullable",innerType:e})}var Ok=b("ZodDefault",(e,t)=>{Ha.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ek(e,t){return new Ok({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Ik=b("ZodPrefault",(e,t)=>{Ka.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ck(e,t){return new Ik({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Wm=b("ZodNonOptional",(e,t)=>{Ga.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ak(e,t){return new Wm({type:"nonoptional",innerType:e,...H.normalizeParams(t)})}var Mk=b("ZodCatch",(e,t)=>{Qa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Nk(e,t){return new Mk({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Dk=b("ZodPipe",(e,t)=>{Ya.init(e,t),ge.init(e,t),e.in=t.in,e.out=t.out});function Hc(e,t){return new Dk({type:"pipe",in:e,out:t})}var Lk=b("ZodReadonly",(e,t)=>{Xa.init(e,t),ge.init(e,t)});function Zk(e){return new Lk({type:"readonly",innerType:e})}var Hm=b("ZodCustom",(e,t)=>{ec.init(e,t),ge.init(e,t)});function Uk(e){let t=new xe({check:"custom"});return t._zod.check=e,t}function Km(e,t){return Lc(Hm,e??(()=>!0),t)}function qk(e,t={}){return Zc(Hm,e,t)}function Jk(e){let t=Uk(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(H.issue(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(H.issue(o))}},e(r.value,r)));return t}function Gc(e,t){return Hc(Vm(e),t)}He(_m());var Yc="2025-11-25";var Gm=[Yc,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Ht="io.modelcontextprotocol/related-task",vs="2.0",ve=Km(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Qm=de([_(),te().int()]),Ym=_(),VE=Ce({ttl:te().optional(),pollInterval:te().optional()}),Fk=R({ttl:te().optional()}),Vk=R({taskId:_()}),Xc=Ce({progressToken:Qm.optional(),[Ht]:Vk.optional()}),Ge=R({_meta:Xc.optional()}),Wn=Ge.extend({task:Fk.optional()}),Xm=e=>Wn.safeParse(e).success,Se=R({method:_(),params:Ge.loose().optional()}),tt=R({_meta:Xc.optional()}),rt=R({method:_(),params:tt.loose().optional()}),$e=Ce({_meta:Xc.optional()}),ws=de([_(),te().int()]),ef=R({jsonrpc:I(vs),id:ws,...Se.shape}).strict(),ed=e=>ef.safeParse(e).success,tf=R({jsonrpc:I(vs),...rt.shape}).strict(),rf=e=>tf.safeParse(e).success,td=R({jsonrpc:I(vs),id:ws,result:$e}).strict(),Hn=e=>td.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 rd=R({jsonrpc:I(vs),id:ws.optional(),error:R({code:te().int(),message:_(),data:me().optional()})}).strict();var nf=e=>rd.safeParse(e).success;var of=de([ef,tf,td,rd]),BE=de([td,rd]),ks=$e.strict(),Bk=tt.extend({requestId:ws.optional(),reason:_().optional()}),xs=rt.extend({method:I("notifications/cancelled"),params:Bk}),Wk=R({src:_(),mimeType:_().optional(),sizes:K(_()).optional(),theme:Ue(["light","dark"]).optional()}),Kn=R({icons:K(Wk).optional()}),nn=R({name:_(),title:_().optional()}),sf=nn.extend({...nn.shape,...Kn.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),Hk=_s(R({applyDefaults:we().optional()}),ce(_(),me())),Kk=Gc(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,_s(R({form:Hk.optional(),url:ve.optional()}),ce(_(),me()).optional())),Gk=Ce({list:ve.optional(),cancel:ve.optional(),requests:Ce({sampling:Ce({createMessage:ve.optional()}).optional(),elicitation:Ce({create:ve.optional()}).optional()}).optional()}),Qk=Ce({list:ve.optional(),cancel:ve.optional(),requests:Ce({tools:Ce({call:ve.optional()}).optional()}).optional()}),Yk=R({experimental:ce(_(),ve).optional(),sampling:R({context:ve.optional(),tools:ve.optional()}).optional(),elicitation:Kk.optional(),roots:R({listChanged:we().optional()}).optional(),tasks:Gk.optional(),extensions:ce(_(),ve).optional()}),Xk=Ge.extend({protocolVersion:_(),capabilities:Yk,clientInfo:sf}),nd=Se.extend({method:I("initialize"),params:Xk});var ex=R({experimental:ce(_(),ve).optional(),logging:ve.optional(),completions:ve.optional(),prompts:R({listChanged:we().optional()}).optional(),resources:R({subscribe:we().optional(),listChanged:we().optional()}).optional(),tools:R({listChanged:we().optional()}).optional(),tasks:Qk.optional(),extensions:ce(_(),ve).optional()}),tx=$e.extend({protocolVersion:_(),capabilities:ex,serverInfo:sf,instructions:_().optional()}),od=rt.extend({method:I("notifications/initialized"),params:tt.optional()});var Ss=Se.extend({method:I("ping"),params:Ge.optional()}),rx=R({progress:te(),total:fe(te()),message:fe(_())}),nx=R({...tt.shape,...rx.shape,progressToken:Qm}),$s=rt.extend({method:I("notifications/progress"),params:nx}),ox=Ge.extend({cursor:Ym.optional()}),Gn=Se.extend({params:ox.optional()}),Qn=$e.extend({nextCursor:Ym.optional()}),sx=Ue(["working","input_required","completed","failed","cancelled"]),Yn=R({taskId:_(),status:sx,ttl:de([te(),qm()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:fe(te()),statusMessage:fe(_())}),on=$e.extend({task:Yn}),ix=tt.merge(Yn),Xn=rt.extend({method:I("notifications/tasks/status"),params:ix}),zs=Se.extend({method:I("tasks/get"),params:Ge.extend({taskId:_()})}),Ps=$e.merge(Yn),Ts=Se.extend({method:I("tasks/result"),params:Ge.extend({taskId:_()})}),WE=$e.loose(),Rs=Gn.extend({method:I("tasks/list")}),js=Qn.extend({tasks:K(Yn)}),Os=Se.extend({method:I("tasks/cancel"),params:Ge.extend({taskId:_()})}),af=$e.merge(Yn),cf=R({uri:_(),mimeType:fe(_()),_meta:ce(_(),me()).optional()}),df=cf.extend({text:_()}),sd=_().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),uf=cf.extend({blob:sd}),eo=Ue(["user","assistant"]),sn=R({audience:K(eo).optional(),priority:te().min(0).max(1).optional(),lastModified:Vn.datetime({offset:!0}).optional()}),lf=R({...nn.shape,...Kn.shape,uri:_(),description:fe(_()),mimeType:fe(_()),size:fe(te()),annotations:sn.optional(),_meta:fe(Ce({}))}),ax=R({...nn.shape,...Kn.shape,uriTemplate:_(),description:fe(_()),mimeType:fe(_()),annotations:sn.optional(),_meta:fe(Ce({}))}),an=Gn.extend({method:I("resources/list")}),cx=Qn.extend({resources:K(lf)}),cn=Gn.extend({method:I("resources/templates/list")}),dx=Qn.extend({resourceTemplates:K(ax)}),id=Ge.extend({uri:_()}),ux=id,Es=Se.extend({method:I("resources/read"),params:ux}),lx=$e.extend({contents:K(de([df,uf]))}),px=rt.extend({method:I("notifications/resources/list_changed"),params:tt.optional()}),mx=id,fx=Se.extend({method:I("resources/subscribe"),params:mx}),hx=id,gx=Se.extend({method:I("resources/unsubscribe"),params:hx}),yx=tt.extend({uri:_()}),_x=rt.extend({method:I("notifications/resources/updated"),params:yx}),bx=R({name:_(),description:fe(_()),required:fe(we())}),vx=R({...nn.shape,...Kn.shape,description:fe(_()),arguments:fe(K(bx)),_meta:fe(Ce({}))}),Is=Gn.extend({method:I("prompts/list")}),wx=Qn.extend({prompts:K(vx)}),kx=Ge.extend({name:_(),arguments:ce(_(),_()).optional()}),Cs=Se.extend({method:I("prompts/get"),params:kx}),ad=R({type:I("text"),text:_(),annotations:sn.optional(),_meta:ce(_(),me()).optional()}),cd=R({type:I("image"),data:sd,mimeType:_(),annotations:sn.optional(),_meta:ce(_(),me()).optional()}),dd=R({type:I("audio"),data:sd,mimeType:_(),annotations:sn.optional(),_meta:ce(_(),me()).optional()}),xx=R({type:I("tool_use"),name:_(),id:_(),input:ce(_(),me()),_meta:ce(_(),me()).optional()}),Sx=R({type:I("resource"),resource:de([df,uf]),annotations:sn.optional(),_meta:ce(_(),me()).optional()}),$x=lf.extend({type:I("resource_link")}),ud=de([ad,cd,dd,$x,Sx]),zx=R({role:eo,content:ud}),Px=$e.extend({description:_().optional(),messages:K(zx)}),Tx=rt.extend({method:I("notifications/prompts/list_changed"),params:tt.optional()}),Rx=R({title:_().optional(),readOnlyHint:we().optional(),destructiveHint:we().optional(),idempotentHint:we().optional(),openWorldHint:we().optional()}),jx=R({taskSupport:Ue(["required","optional","forbidden"]).optional()}),pf=R({...nn.shape,...Kn.shape,description:_().optional(),inputSchema:R({type:I("object"),properties:ce(_(),ve).optional(),required:K(_()).optional()}).catchall(me()),outputSchema:R({type:I("object"),properties:ce(_(),ve).optional(),required:K(_()).optional()}).catchall(me()).optional(),annotations:Rx.optional(),execution:jx.optional(),_meta:ce(_(),me()).optional()}),As=Gn.extend({method:I("tools/list")}),Ox=Qn.extend({tools:K(pf)}),Ms=$e.extend({content:K(ud).default([]),structuredContent:ce(_(),me()).optional(),isError:we().optional()}),HE=Ms.or($e.extend({toolResult:me()})),Ex=Wn.extend({name:_(),arguments:ce(_(),me()).optional()}),dn=Se.extend({method:I("tools/call"),params:Ex}),Ix=rt.extend({method:I("notifications/tools/list_changed"),params:tt.optional()}),KE=R({autoRefresh:we().default(!0),debounceMs:te().int().nonnegative().default(300)}),to=Ue(["debug","info","notice","warning","error","critical","alert","emergency"]),Cx=Ge.extend({level:to}),ld=Se.extend({method:I("logging/setLevel"),params:Cx}),Ax=tt.extend({level:to,logger:_().optional(),data:me()}),Mx=rt.extend({method:I("notifications/message"),params:Ax}),Nx=R({name:_().optional()}),Dx=R({hints:K(Nx).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),Lx=R({mode:Ue(["auto","required","none"]).optional()}),Zx=R({type:I("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:K(ud).default([]),structuredContent:R({}).loose().optional(),isError:we().optional(),_meta:ce(_(),me()).optional()}),Ux=Kc("type",[ad,cd,dd]),bs=Kc("type",[ad,cd,dd,xx,Zx]),qx=R({role:eo,content:de([bs,K(bs)]),_meta:ce(_(),me()).optional()}),Jx=Wn.extend({messages:K(qx),modelPreferences:Dx.optional(),systemPrompt:_().optional(),includeContext:Ue(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:K(_()).optional(),metadata:ve.optional(),tools:K(pf).optional(),toolChoice:Lx.optional()}),Fx=Se.extend({method:I("sampling/createMessage"),params:Jx}),ro=$e.extend({model:_(),stopReason:fe(Ue(["endTurn","stopSequence","maxTokens"]).or(_())),role:eo,content:Ux}),pd=$e.extend({model:_(),stopReason:fe(Ue(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:eo,content:de([bs,K(bs)])}),Vx=R({type:I("boolean"),title:_().optional(),description:_().optional(),default:we().optional()}),Bx=R({type:I("string"),title:_().optional(),description:_().optional(),minLength:te().optional(),maxLength:te().optional(),format:Ue(["email","uri","date","date-time"]).optional(),default:_().optional()}),Wx=R({type:Ue(["number","integer"]),title:_().optional(),description:_().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),Hx=R({type:I("string"),title:_().optional(),description:_().optional(),enum:K(_()),default:_().optional()}),Kx=R({type:I("string"),title:_().optional(),description:_().optional(),oneOf:K(R({const:_(),title:_()})),default:_().optional()}),Gx=R({type:I("string"),title:_().optional(),description:_().optional(),enum:K(_()),enumNames:K(_()).optional(),default:_().optional()}),Qx=de([Hx,Kx]),Yx=R({type:I("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:R({type:I("string"),enum:K(_())}),default:K(_()).optional()}),Xx=R({type:I("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:R({anyOf:K(R({const:_(),title:_()}))}),default:K(_()).optional()}),eS=de([Yx,Xx]),tS=de([Gx,Qx,eS]),rS=de([tS,Vx,Bx,Wx]),nS=Wn.extend({mode:I("form").optional(),message:_(),requestedSchema:R({type:I("object"),properties:ce(_(),rS),required:K(_()).optional()})}),oS=Wn.extend({mode:I("url"),message:_(),elicitationId:_(),url:_().url()}),sS=de([nS,oS]),iS=Se.extend({method:I("elicitation/create"),params:sS}),aS=tt.extend({elicitationId:_()}),cS=rt.extend({method:I("notifications/elicitation/complete"),params:aS}),un=$e.extend({action:Ue(["accept","decline","cancel"]),content:Gc(e=>e===null?void 0:e,ce(_(),de([_(),te(),we(),K(_())])).optional())}),dS=R({type:I("ref/resource"),uri:_()});var uS=R({type:I("ref/prompt"),name:_()}),lS=Ge.extend({ref:de([uS,dS]),argument:R({name:_(),value:_()}),context:R({arguments:ce(_(),_()).optional()}).optional()}),Ns=Se.extend({method:I("completion/complete"),params:lS});function mf(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function ff(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var pS=$e.extend({completion:Ce({values:K(_()).max(100),total:fe(te().int()),hasMore:fe(we())})}),mS=R({uri:_().startsWith("file://"),name:_().optional(),_meta:ce(_(),me()).optional()}),fS=Se.extend({method:I("roots/list"),params:Ge.optional()}),md=$e.extend({roots:K(mS)}),hS=rt.extend({method:I("notifications/roots/list_changed"),params:tt.optional()}),GE=de([Ss,nd,Ns,ld,Cs,Is,an,cn,Es,fx,gx,dn,As,zs,Ts,Rs,Os]),QE=de([xs,$s,od,hS,Xn]),YE=de([ks,ro,pd,un,md,Ps,js,on]),XE=de([Ss,Fx,iS,fS,zs,Ts,Rs,Os]),eI=de([xs,$s,Mx,_x,px,Ix,Tx,Xn,cS]),tI=de([ks,tx,pS,Px,wx,cx,dx,lx,Ms,Ox,Ps,js,on]),E=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===A.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Qc(o.elicitations,r)}return new e(t,r,n)}},Qc=class extends E{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(A.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Kt(e){return e==="completed"||e==="failed"||e==="cancelled"}var gf=Symbol("Let zodToJsonSchema decide on which parser to use");var hf={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"},yf=e=>typeof e=="string"?{...hf,name:e}:{...hf,...e};var _f=e=>{let t=yf(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function fd(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function G(e,t,r,n,o){e[t]=r,fd(e,t,n,o)}var Ds=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function he(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Ds(t,e.currentPath):t.join("/")}}function bf(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==S.ZodAny&&(r.items=L(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&G(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&G(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(G(r,"minItems",e.exactLength.value,e.exactLength.message,t),G(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function vf(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?G(r,"minimum",n.value,n.message,t):G(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),G(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?G(r,"maximum",n.value,n.message,t):G(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),G(r,"maximum",n.value,n.message,t));break;case"multipleOf":G(r,"multipleOf",n.value,n.message,t);break}return r}function wf(){return{type:"boolean"}}function Ls(e,t){return L(e.type._def,t)}var kf=(e,t)=>L(e.innerType._def,t);function hd(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>hd(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return gS(e,t)}}var gS=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":G(r,"minimum",n.value,n.message,t);break;case"max":G(r,"maximum",n.value,n.message,t);break}return r};function xf(e,t){return{...L(e.innerType._def,t),default:e.defaultValue()}}function Sf(e,t){return t.effectStrategy==="input"?L(e.schema._def,t):he(t)}function $f(e){return{type:"string",enum:Array.from(e.values)}}var yS=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function zf(e,t){let r=[L(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),L(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(yS(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function Pf(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var gd,dt={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:()=>(gd===void 0&&(gd=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),gd),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 Zs(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":G(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":G(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":ut(r,"email",n.message,t);break;case"format:idn-email":ut(r,"idn-email",n.message,t);break;case"pattern:zod":Ae(r,dt.email,n.message,t);break}break;case"url":ut(r,"uri",n.message,t);break;case"uuid":ut(r,"uuid",n.message,t);break;case"regex":Ae(r,n.regex,n.message,t);break;case"cuid":Ae(r,dt.cuid,n.message,t);break;case"cuid2":Ae(r,dt.cuid2,n.message,t);break;case"startsWith":Ae(r,RegExp(`^${yd(n.value,t)}`),n.message,t);break;case"endsWith":Ae(r,RegExp(`${yd(n.value,t)}$`),n.message,t);break;case"datetime":ut(r,"date-time",n.message,t);break;case"date":ut(r,"date",n.message,t);break;case"time":ut(r,"time",n.message,t);break;case"duration":ut(r,"duration",n.message,t);break;case"length":G(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),G(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{Ae(r,RegExp(yd(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&ut(r,"ipv4",n.message,t),n.version!=="v4"&&ut(r,"ipv6",n.message,t);break}case"base64url":Ae(r,dt.base64url,n.message,t);break;case"jwt":Ae(r,dt.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&Ae(r,dt.ipv4Cidr,n.message,t),n.version!=="v4"&&Ae(r,dt.ipv6Cidr,n.message,t);break}case"emoji":Ae(r,dt.emoji(),n.message,t);break;case"ulid":{Ae(r,dt.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{ut(r,"binary",n.message,t);break}case"contentEncoding:base64":{G(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{Ae(r,dt.base64,n.message,t);break}}break}case"nanoid":Ae(r,dt.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function yd(e,t){return t.patternStrategy==="escape"?bS(e):e}var _S=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function bS(e){let t="";for(let r=0;r<e.length;r++)_S.has(e[r])||(t+="\\"),t+=e[r];return t}function ut(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):G(e,"format",t,r,n)}function Ae(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:Tf(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):G(e,"pattern",Tf(t,n),r,n)}function Tf(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
37
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let u of this.seen.entries()){let l=u[1];if(t===u[0]){i(u);continue}if(n.external){let f=n.external.registry.get(u[0])?.id;if(t!==u[0]&&f){i(u);continue}}if(this.metadataRegistry.get(u[0])?.id){i(u);continue}if(l.cycle){i(u);continue}if(l.count>1&&n.reused==="ref"){i(u);continue}}let a=(u,l)=>{let m=this.seen.get(u),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:u,jsonSchema:f,path:m.path??[]})};for(let u of[...this.seen.entries()].reverse())a(u[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let u=n.external.registry.get(t)?.id;if(!u)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(u)}Object.assign(c,o.def);let d=n.external?.defs??{};for(let u of this.seen.entries()){let l=u[1];l.def&&l.defId&&(d[l.defId]=l.def)}n.external||Object.keys(d).length>0&&(this.target==="draft-2020-12"?c.$defs=d:c.definitions=d);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Uc(e,t){if(e instanceof qn){let n=new ms(t),o={};for(let a of e._idmap.entries()){let[c,d]=a;n.process(d)}let s={},i={registry:e,uri:t?.uri,defs:o};for(let a of e._idmap.entries()){let[c,d]=a;s[c]=n.emit(d,{...t,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new ms(t);return r.process(e),r.emit(e,t)}function be(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let o=e._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return be(o.element,r);case"object":{for(let s in o.shape)if(be(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(be(s,r))return!0;return!1}case"intersection":return be(o.left,r)||be(o.right,r);case"tuple":{for(let s of o.items)if(be(s,r))return!0;return!!(o.rest&&be(o.rest,r))}case"record":return be(o.keyType,r)||be(o.valueType,r);case"map":return be(o.keyType,r)||be(o.valueType,r);case"set":return be(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return be(o.innerType,r);case"lazy":return be(o.getter(),r);case"default":return be(o.innerType,r);case"prefault":return be(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return be(o.in,r)||be(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Bw=b("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(e,t),e.def=t,e.parse=(r,n)=>sa(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Sr(e,r,n),e.parseAsync=async(r,n)=>aa(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>$r(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>Ke(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e))});var Ww=b("ZodMiniObject",(e,t)=>{ss.init(e,t),Bw.init(e,t),H.defineLazy(e,"shape",()=>t.shape)});function qc(e,t){let r={type:"object",get shape(){return H.assignProp(this,"shape",{...e}),this.shape},...H.normalizeParams(t)};return new Ww(r)}function et(e){return!!e._zod}function Tr(e){let t=Object.values(e);if(t.length===0)return qc({});let r=t.every(et),n=t.every(o=>!et(o));if(r)return qc(e);if(n)return Vi(e);throw new Error("Mixed Zod versions detected in object shape.")}function Bt(e,t){return et(e)?Sr(e,t):e.safeParse(t)}async function fs(e,t){return et(e)?await $r(e,t):await e.safeParseAsync(t)}function Wt(e){if(!e)return;let t;if(et(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function rn(e){if(e){if(typeof e=="object"){let t=e,r=e;if(!t._def&&!r._zod){let n=Object.values(e);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Tr(e)}}if(et(e)){let r=e._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function hs(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 zm(e){return e.description}function Pm(e){if(et(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function gs(e){if(et(e)){let s=e._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var Vn={};Ui(Vn,{ZodISODate:()=>Rm,ZodISODateTime:()=>Tm,ZodISODuration:()=>Om,ZodISOTime:()=>jm,date:()=>Fc,datetime:()=>Jc,duration:()=>Bc,time:()=>Vc});var Tm=b("ZodISODateTime",(e,t)=>{mm.init(e,t),pe.init(e,t)});function Jc(e){return vm(Tm,e)}var Rm=b("ZodISODate",(e,t)=>{fm.init(e,t),pe.init(e,t)});function Fc(e){return wm(Rm,e)}var jm=b("ZodISOTime",(e,t)=>{hm.init(e,t),pe.init(e,t)});function Vc(e){return km(jm,e)}var Om=b("ZodISODuration",(e,t)=>{gm.init(e,t),pe.init(e,t)});function Bc(e){return xm(Om,e)}var Em=(e,t)=>{es.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>na(e,r)},flatten:{value:r=>ra(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},CE=b("ZodError",Em),Bn=b("ZodError",Em,{Parent:Error});var Im=oa(Bn),Cm=ia(Bn),Am=ca(Bn),Mm=da(Bn);var ge=b("ZodType",(e,t)=>(ne.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>Ke(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>Im(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Am(e,r,n),e.parseAsync=async(r,n)=>Cm(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Mm(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(Fk(r,n)),e.superRefine=r=>e.check(Vk(r)),e.overwrite=r=>e.check(zr(r)),e.optional=()=>fe(e),e.nullable=()=>Lm(e),e.nullish=()=>fe(Lm(e)),e.nonoptional=r=>Nk(e,r),e.array=()=>K(e),e.or=r=>de([e,r]),e.and=r=>_s(e,r),e.transform=r=>Hc(e,Vm(r)),e.default=r=>Ck(e,r),e.prefault=r=>Mk(e,r),e.catch=r=>Lk(e,r),e.pipe=r=>Hc(e,r),e.readonly=()=>qk(e),e.describe=r=>{let n=e.clone();return Vt.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Vt.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Vt.get(e);let n=e.clone();return Vt.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Zm=b("_ZodString",(e,t)=>{Un.init(e,t),ge.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Rc(...n)),e.includes=(...n)=>e.check(Ec(...n)),e.startsWith=(...n)=>e.check(Ic(...n)),e.endsWith=(...n)=>e.check(Cc(...n)),e.min=(...n)=>e.check(tn(...n)),e.max=(...n)=>e.check(ls(...n)),e.length=(...n)=>e.check(ps(...n)),e.nonempty=(...n)=>e.check(tn(1,...n)),e.lowercase=n=>e.check(jc(n)),e.uppercase=n=>e.check(Oc(n)),e.trim=()=>e.check(Mc()),e.normalize=(...n)=>e.check(Ac(...n)),e.toLowerCase=()=>e.check(Nc()),e.toUpperCase=()=>e.check(Dc())}),rk=b("ZodString",(e,t)=>{Un.init(e,t),Zm.init(e,t),e.email=r=>e.check(rc(nk,r)),e.url=r=>e.check(ac(ok,r)),e.jwt=r=>e.check(kc(bk,r)),e.emoji=r=>e.check(cc(sk,r)),e.guid=r=>e.check(as(Nm,r)),e.uuid=r=>e.check(nc(ys,r)),e.uuidv4=r=>e.check(oc(ys,r)),e.uuidv6=r=>e.check(sc(ys,r)),e.uuidv7=r=>e.check(ic(ys,r)),e.nanoid=r=>e.check(dc(ik,r)),e.guid=r=>e.check(as(Nm,r)),e.cuid=r=>e.check(uc(ak,r)),e.cuid2=r=>e.check(lc(ck,r)),e.ulid=r=>e.check(pc(dk,r)),e.base64=r=>e.check(bc(gk,r)),e.base64url=r=>e.check(vc(yk,r)),e.xid=r=>e.check(mc(uk,r)),e.ksuid=r=>e.check(fc(lk,r)),e.ipv4=r=>e.check(hc(pk,r)),e.ipv6=r=>e.check(gc(mk,r)),e.cidrv4=r=>e.check(yc(fk,r)),e.cidrv6=r=>e.check(_c(hk,r)),e.e164=r=>e.check(wc(_k,r)),e.datetime=r=>e.check(Jc(r)),e.date=r=>e.check(Fc(r)),e.time=r=>e.check(Vc(r)),e.duration=r=>e.check(Bc(r))});function _(e){return tc(rk,e)}var pe=b("ZodStringFormat",(e,t)=>{ae.init(e,t),Zm.init(e,t)}),nk=b("ZodEmail",(e,t)=>{ya.init(e,t),pe.init(e,t)});var Nm=b("ZodGUID",(e,t)=>{ha.init(e,t),pe.init(e,t)});var ys=b("ZodUUID",(e,t)=>{ga.init(e,t),pe.init(e,t)});var ok=b("ZodURL",(e,t)=>{_a.init(e,t),pe.init(e,t)});var sk=b("ZodEmoji",(e,t)=>{ba.init(e,t),pe.init(e,t)});var ik=b("ZodNanoID",(e,t)=>{va.init(e,t),pe.init(e,t)});var ak=b("ZodCUID",(e,t)=>{wa.init(e,t),pe.init(e,t)});var ck=b("ZodCUID2",(e,t)=>{ka.init(e,t),pe.init(e,t)});var dk=b("ZodULID",(e,t)=>{xa.init(e,t),pe.init(e,t)});var uk=b("ZodXID",(e,t)=>{Sa.init(e,t),pe.init(e,t)});var lk=b("ZodKSUID",(e,t)=>{$a.init(e,t),pe.init(e,t)});var pk=b("ZodIPv4",(e,t)=>{za.init(e,t),pe.init(e,t)});var mk=b("ZodIPv6",(e,t)=>{Pa.init(e,t),pe.init(e,t)});var fk=b("ZodCIDRv4",(e,t)=>{Ta.init(e,t),pe.init(e,t)});var hk=b("ZodCIDRv6",(e,t)=>{Ra.init(e,t),pe.init(e,t)});var gk=b("ZodBase64",(e,t)=>{ja.init(e,t),pe.init(e,t)});var yk=b("ZodBase64URL",(e,t)=>{Oa.init(e,t),pe.init(e,t)});var _k=b("ZodE164",(e,t)=>{Ea.init(e,t),pe.init(e,t)});var bk=b("ZodJWT",(e,t)=>{Ia.init(e,t),pe.init(e,t)});var Um=b("ZodNumber",(e,t)=>{os.init(e,t),ge.init(e,t),e.gt=(n,o)=>e.check(ds(n,o)),e.gte=(n,o)=>e.check(Fn(n,o)),e.min=(n,o)=>e.check(Fn(n,o)),e.lt=(n,o)=>e.check(cs(n,o)),e.lte=(n,o)=>e.check(Jn(n,o)),e.max=(n,o)=>e.check(Jn(n,o)),e.int=n=>e.check(Dm(n)),e.safe=n=>e.check(Dm(n)),e.positive=n=>e.check(ds(0,n)),e.nonnegative=n=>e.check(Fn(0,n)),e.negative=n=>e.check(cs(0,n)),e.nonpositive=n=>e.check(Jn(0,n)),e.multipleOf=(n,o)=>e.check(us(n,o)),e.step=(n,o)=>e.check(us(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function te(e){return xc(Um,e)}var vk=b("ZodNumberFormat",(e,t)=>{Ca.init(e,t),Um.init(e,t)});function Dm(e){return Sc(vk,e)}var wk=b("ZodBoolean",(e,t)=>{Aa.init(e,t),ge.init(e,t)});function we(e){return $c(wk,e)}var kk=b("ZodNull",(e,t)=>{Ma.init(e,t),ge.init(e,t)});function qm(e){return zc(kk,e)}var xk=b("ZodUnknown",(e,t)=>{Na.init(e,t),ge.init(e,t)});function me(){return Pc(xk)}var Sk=b("ZodNever",(e,t)=>{Da.init(e,t),ge.init(e,t)});function $k(e){return Tc(Sk,e)}var zk=b("ZodArray",(e,t)=>{La.init(e,t),ge.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(tn(r,n)),e.nonempty=r=>e.check(tn(1,r)),e.max=(r,n)=>e.check(ls(r,n)),e.length=(r,n)=>e.check(ps(r,n)),e.unwrap=()=>e.element});function K(e,t){return Sm(zk,e,t)}var Jm=b("ZodObject",(e,t)=>{ss.init(e,t),ge.init(e,t),H.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Ue(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:me()}),e.loose=()=>e.clone({...e._zod.def,catchall:me()}),e.strict=()=>e.clone({...e._zod.def,catchall:$k()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>H.extend(e,r),e.merge=r=>H.merge(e,r),e.pick=r=>H.pick(e,r),e.omit=r=>H.omit(e,r),e.partial=(...r)=>H.partial(Bm,e,r[0]),e.required=(...r)=>H.required(Wm,e,r[0])});function R(e,t){let r={type:"object",get shape(){return H.assignProp(this,"shape",{...e}),this.shape},...H.normalizeParams(t)};return new Jm(r)}function Ce(e,t){return new Jm({type:"object",get shape(){return H.assignProp(this,"shape",{...e}),this.shape},catchall:me(),...H.normalizeParams(t)})}var Fm=b("ZodUnion",(e,t)=>{is.init(e,t),ge.init(e,t),e.options=t.options});function de(e,t){return new Fm({type:"union",options:e,...H.normalizeParams(t)})}var Pk=b("ZodDiscriminatedUnion",(e,t)=>{Fm.init(e,t),Za.init(e,t)});function Kc(e,t,r){return new Pk({type:"union",options:t,discriminator:e,...H.normalizeParams(r)})}var Tk=b("ZodIntersection",(e,t)=>{Ua.init(e,t),ge.init(e,t)});function _s(e,t){return new Tk({type:"intersection",left:e,right:t})}var Rk=b("ZodRecord",(e,t)=>{qa.init(e,t),ge.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function ce(e,t,r){return new Rk({type:"record",keyType:e,valueType:t,...H.normalizeParams(r)})}var Wc=b("ZodEnum",(e,t)=>{Ja.init(e,t),ge.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Wc({...t,checks:[],...H.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Wc({...t,checks:[],...H.normalizeParams(o),entries:s})}});function Ue(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Wc({type:"enum",entries:r,...H.normalizeParams(t)})}var jk=b("ZodLiteral",(e,t)=>{Fa.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 I(e,t){return new jk({type:"literal",values:Array.isArray(e)?e:[e],...H.normalizeParams(t)})}var Ok=b("ZodTransform",(e,t)=>{Va.init(e,t),ge.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(H.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),r.issues.push(H.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function Vm(e){return new Ok({type:"transform",transform:e})}var Bm=b("ZodOptional",(e,t)=>{Ba.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function fe(e){return new Bm({type:"optional",innerType:e})}var Ek=b("ZodNullable",(e,t)=>{Wa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Lm(e){return new Ek({type:"nullable",innerType:e})}var Ik=b("ZodDefault",(e,t)=>{Ha.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ck(e,t){return new Ik({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Ak=b("ZodPrefault",(e,t)=>{Ka.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Mk(e,t){return new Ak({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Wm=b("ZodNonOptional",(e,t)=>{Ga.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Nk(e,t){return new Wm({type:"nonoptional",innerType:e,...H.normalizeParams(t)})}var Dk=b("ZodCatch",(e,t)=>{Qa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Lk(e,t){return new Dk({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Zk=b("ZodPipe",(e,t)=>{Ya.init(e,t),ge.init(e,t),e.in=t.in,e.out=t.out});function Hc(e,t){return new Zk({type:"pipe",in:e,out:t})}var Uk=b("ZodReadonly",(e,t)=>{Xa.init(e,t),ge.init(e,t)});function qk(e){return new Uk({type:"readonly",innerType:e})}var Hm=b("ZodCustom",(e,t)=>{ec.init(e,t),ge.init(e,t)});function Jk(e){let t=new xe({check:"custom"});return t._zod.check=e,t}function Km(e,t){return Lc(Hm,e??(()=>!0),t)}function Fk(e,t={}){return Zc(Hm,e,t)}function Vk(e){let t=Jk(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(H.issue(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(H.issue(o))}},e(r.value,r)));return t}function Gc(e,t){return Hc(Vm(e),t)}He(_m());var Yc="2025-11-25";var Gm=[Yc,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Ht="io.modelcontextprotocol/related-task",vs="2.0",ve=Km(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Qm=de([_(),te().int()]),Ym=_(),HE=Ce({ttl:te().optional(),pollInterval:te().optional()}),Bk=R({ttl:te().optional()}),Wk=R({taskId:_()}),Xc=Ce({progressToken:Qm.optional(),[Ht]:Wk.optional()}),Ge=R({_meta:Xc.optional()}),Wn=Ge.extend({task:Bk.optional()}),Xm=e=>Wn.safeParse(e).success,Se=R({method:_(),params:Ge.loose().optional()}),tt=R({_meta:Xc.optional()}),rt=R({method:_(),params:tt.loose().optional()}),$e=Ce({_meta:Xc.optional()}),ws=de([_(),te().int()]),ef=R({jsonrpc:I(vs),id:ws,...Se.shape}).strict(),ed=e=>ef.safeParse(e).success,tf=R({jsonrpc:I(vs),...rt.shape}).strict(),rf=e=>tf.safeParse(e).success,td=R({jsonrpc:I(vs),id:ws,result:$e}).strict(),Hn=e=>td.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 rd=R({jsonrpc:I(vs),id:ws.optional(),error:R({code:te().int(),message:_(),data:me().optional()})}).strict();var nf=e=>rd.safeParse(e).success;var of=de([ef,tf,td,rd]),KE=de([td,rd]),ks=$e.strict(),Hk=tt.extend({requestId:ws.optional(),reason:_().optional()}),xs=rt.extend({method:I("notifications/cancelled"),params:Hk}),Kk=R({src:_(),mimeType:_().optional(),sizes:K(_()).optional(),theme:Ue(["light","dark"]).optional()}),Kn=R({icons:K(Kk).optional()}),nn=R({name:_(),title:_().optional()}),sf=nn.extend({...nn.shape,...Kn.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),Gk=_s(R({applyDefaults:we().optional()}),ce(_(),me())),Qk=Gc(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,_s(R({form:Gk.optional(),url:ve.optional()}),ce(_(),me()).optional())),Yk=Ce({list:ve.optional(),cancel:ve.optional(),requests:Ce({sampling:Ce({createMessage:ve.optional()}).optional(),elicitation:Ce({create:ve.optional()}).optional()}).optional()}),Xk=Ce({list:ve.optional(),cancel:ve.optional(),requests:Ce({tools:Ce({call:ve.optional()}).optional()}).optional()}),ex=R({experimental:ce(_(),ve).optional(),sampling:R({context:ve.optional(),tools:ve.optional()}).optional(),elicitation:Qk.optional(),roots:R({listChanged:we().optional()}).optional(),tasks:Yk.optional(),extensions:ce(_(),ve).optional()}),tx=Ge.extend({protocolVersion:_(),capabilities:ex,clientInfo:sf}),nd=Se.extend({method:I("initialize"),params:tx});var rx=R({experimental:ce(_(),ve).optional(),logging:ve.optional(),completions:ve.optional(),prompts:R({listChanged:we().optional()}).optional(),resources:R({subscribe:we().optional(),listChanged:we().optional()}).optional(),tools:R({listChanged:we().optional()}).optional(),tasks:Xk.optional(),extensions:ce(_(),ve).optional()}),nx=$e.extend({protocolVersion:_(),capabilities:rx,serverInfo:sf,instructions:_().optional()}),od=rt.extend({method:I("notifications/initialized"),params:tt.optional()});var Ss=Se.extend({method:I("ping"),params:Ge.optional()}),ox=R({progress:te(),total:fe(te()),message:fe(_())}),sx=R({...tt.shape,...ox.shape,progressToken:Qm}),$s=rt.extend({method:I("notifications/progress"),params:sx}),ix=Ge.extend({cursor:Ym.optional()}),Gn=Se.extend({params:ix.optional()}),Qn=$e.extend({nextCursor:Ym.optional()}),ax=Ue(["working","input_required","completed","failed","cancelled"]),Yn=R({taskId:_(),status:ax,ttl:de([te(),qm()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:fe(te()),statusMessage:fe(_())}),on=$e.extend({task:Yn}),cx=tt.merge(Yn),Xn=rt.extend({method:I("notifications/tasks/status"),params:cx}),zs=Se.extend({method:I("tasks/get"),params:Ge.extend({taskId:_()})}),Ps=$e.merge(Yn),Ts=Se.extend({method:I("tasks/result"),params:Ge.extend({taskId:_()})}),GE=$e.loose(),Rs=Gn.extend({method:I("tasks/list")}),js=Qn.extend({tasks:K(Yn)}),Os=Se.extend({method:I("tasks/cancel"),params:Ge.extend({taskId:_()})}),af=$e.merge(Yn),cf=R({uri:_(),mimeType:fe(_()),_meta:ce(_(),me()).optional()}),df=cf.extend({text:_()}),sd=_().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),uf=cf.extend({blob:sd}),eo=Ue(["user","assistant"]),sn=R({audience:K(eo).optional(),priority:te().min(0).max(1).optional(),lastModified:Vn.datetime({offset:!0}).optional()}),lf=R({...nn.shape,...Kn.shape,uri:_(),description:fe(_()),mimeType:fe(_()),size:fe(te()),annotations:sn.optional(),_meta:fe(Ce({}))}),dx=R({...nn.shape,...Kn.shape,uriTemplate:_(),description:fe(_()),mimeType:fe(_()),annotations:sn.optional(),_meta:fe(Ce({}))}),an=Gn.extend({method:I("resources/list")}),ux=Qn.extend({resources:K(lf)}),cn=Gn.extend({method:I("resources/templates/list")}),lx=Qn.extend({resourceTemplates:K(dx)}),id=Ge.extend({uri:_()}),px=id,Es=Se.extend({method:I("resources/read"),params:px}),mx=$e.extend({contents:K(de([df,uf]))}),fx=rt.extend({method:I("notifications/resources/list_changed"),params:tt.optional()}),hx=id,gx=Se.extend({method:I("resources/subscribe"),params:hx}),yx=id,_x=Se.extend({method:I("resources/unsubscribe"),params:yx}),bx=tt.extend({uri:_()}),vx=rt.extend({method:I("notifications/resources/updated"),params:bx}),wx=R({name:_(),description:fe(_()),required:fe(we())}),kx=R({...nn.shape,...Kn.shape,description:fe(_()),arguments:fe(K(wx)),_meta:fe(Ce({}))}),Is=Gn.extend({method:I("prompts/list")}),xx=Qn.extend({prompts:K(kx)}),Sx=Ge.extend({name:_(),arguments:ce(_(),_()).optional()}),Cs=Se.extend({method:I("prompts/get"),params:Sx}),ad=R({type:I("text"),text:_(),annotations:sn.optional(),_meta:ce(_(),me()).optional()}),cd=R({type:I("image"),data:sd,mimeType:_(),annotations:sn.optional(),_meta:ce(_(),me()).optional()}),dd=R({type:I("audio"),data:sd,mimeType:_(),annotations:sn.optional(),_meta:ce(_(),me()).optional()}),$x=R({type:I("tool_use"),name:_(),id:_(),input:ce(_(),me()),_meta:ce(_(),me()).optional()}),zx=R({type:I("resource"),resource:de([df,uf]),annotations:sn.optional(),_meta:ce(_(),me()).optional()}),Px=lf.extend({type:I("resource_link")}),ud=de([ad,cd,dd,Px,zx]),Tx=R({role:eo,content:ud}),Rx=$e.extend({description:_().optional(),messages:K(Tx)}),jx=rt.extend({method:I("notifications/prompts/list_changed"),params:tt.optional()}),Ox=R({title:_().optional(),readOnlyHint:we().optional(),destructiveHint:we().optional(),idempotentHint:we().optional(),openWorldHint:we().optional()}),Ex=R({taskSupport:Ue(["required","optional","forbidden"]).optional()}),pf=R({...nn.shape,...Kn.shape,description:_().optional(),inputSchema:R({type:I("object"),properties:ce(_(),ve).optional(),required:K(_()).optional()}).catchall(me()),outputSchema:R({type:I("object"),properties:ce(_(),ve).optional(),required:K(_()).optional()}).catchall(me()).optional(),annotations:Ox.optional(),execution:Ex.optional(),_meta:ce(_(),me()).optional()}),As=Gn.extend({method:I("tools/list")}),Ix=Qn.extend({tools:K(pf)}),Ms=$e.extend({content:K(ud).default([]),structuredContent:ce(_(),me()).optional(),isError:we().optional()}),QE=Ms.or($e.extend({toolResult:me()})),Cx=Wn.extend({name:_(),arguments:ce(_(),me()).optional()}),dn=Se.extend({method:I("tools/call"),params:Cx}),Ax=rt.extend({method:I("notifications/tools/list_changed"),params:tt.optional()}),YE=R({autoRefresh:we().default(!0),debounceMs:te().int().nonnegative().default(300)}),to=Ue(["debug","info","notice","warning","error","critical","alert","emergency"]),Mx=Ge.extend({level:to}),ld=Se.extend({method:I("logging/setLevel"),params:Mx}),Nx=tt.extend({level:to,logger:_().optional(),data:me()}),Dx=rt.extend({method:I("notifications/message"),params:Nx}),Lx=R({name:_().optional()}),Zx=R({hints:K(Lx).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),Ux=R({mode:Ue(["auto","required","none"]).optional()}),qx=R({type:I("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:K(ud).default([]),structuredContent:R({}).loose().optional(),isError:we().optional(),_meta:ce(_(),me()).optional()}),Jx=Kc("type",[ad,cd,dd]),bs=Kc("type",[ad,cd,dd,$x,qx]),Fx=R({role:eo,content:de([bs,K(bs)]),_meta:ce(_(),me()).optional()}),Vx=Wn.extend({messages:K(Fx),modelPreferences:Zx.optional(),systemPrompt:_().optional(),includeContext:Ue(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:K(_()).optional(),metadata:ve.optional(),tools:K(pf).optional(),toolChoice:Ux.optional()}),Bx=Se.extend({method:I("sampling/createMessage"),params:Vx}),ro=$e.extend({model:_(),stopReason:fe(Ue(["endTurn","stopSequence","maxTokens"]).or(_())),role:eo,content:Jx}),pd=$e.extend({model:_(),stopReason:fe(Ue(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:eo,content:de([bs,K(bs)])}),Wx=R({type:I("boolean"),title:_().optional(),description:_().optional(),default:we().optional()}),Hx=R({type:I("string"),title:_().optional(),description:_().optional(),minLength:te().optional(),maxLength:te().optional(),format:Ue(["email","uri","date","date-time"]).optional(),default:_().optional()}),Kx=R({type:Ue(["number","integer"]),title:_().optional(),description:_().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),Gx=R({type:I("string"),title:_().optional(),description:_().optional(),enum:K(_()),default:_().optional()}),Qx=R({type:I("string"),title:_().optional(),description:_().optional(),oneOf:K(R({const:_(),title:_()})),default:_().optional()}),Yx=R({type:I("string"),title:_().optional(),description:_().optional(),enum:K(_()),enumNames:K(_()).optional(),default:_().optional()}),Xx=de([Gx,Qx]),eS=R({type:I("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:R({type:I("string"),enum:K(_())}),default:K(_()).optional()}),tS=R({type:I("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:R({anyOf:K(R({const:_(),title:_()}))}),default:K(_()).optional()}),rS=de([eS,tS]),nS=de([Yx,Xx,rS]),oS=de([nS,Wx,Hx,Kx]),sS=Wn.extend({mode:I("form").optional(),message:_(),requestedSchema:R({type:I("object"),properties:ce(_(),oS),required:K(_()).optional()})}),iS=Wn.extend({mode:I("url"),message:_(),elicitationId:_(),url:_().url()}),aS=de([sS,iS]),cS=Se.extend({method:I("elicitation/create"),params:aS}),dS=tt.extend({elicitationId:_()}),uS=rt.extend({method:I("notifications/elicitation/complete"),params:dS}),un=$e.extend({action:Ue(["accept","decline","cancel"]),content:Gc(e=>e===null?void 0:e,ce(_(),de([_(),te(),we(),K(_())])).optional())}),lS=R({type:I("ref/resource"),uri:_()});var pS=R({type:I("ref/prompt"),name:_()}),mS=Ge.extend({ref:de([pS,lS]),argument:R({name:_(),value:_()}),context:R({arguments:ce(_(),_()).optional()}).optional()}),Ns=Se.extend({method:I("completion/complete"),params:mS});function mf(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function ff(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var fS=$e.extend({completion:Ce({values:K(_()).max(100),total:fe(te().int()),hasMore:fe(we())})}),hS=R({uri:_().startsWith("file://"),name:_().optional(),_meta:ce(_(),me()).optional()}),gS=Se.extend({method:I("roots/list"),params:Ge.optional()}),md=$e.extend({roots:K(hS)}),yS=rt.extend({method:I("notifications/roots/list_changed"),params:tt.optional()}),XE=de([Ss,nd,Ns,ld,Cs,Is,an,cn,Es,gx,_x,dn,As,zs,Ts,Rs,Os]),eI=de([xs,$s,od,yS,Xn]),tI=de([ks,ro,pd,un,md,Ps,js,on]),rI=de([Ss,Bx,cS,gS,zs,Ts,Rs,Os]),nI=de([xs,$s,Dx,vx,fx,Ax,jx,Xn,uS]),oI=de([ks,nx,fS,Rx,xx,ux,lx,mx,Ms,Ix,Ps,js,on]),E=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===A.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Qc(o.elicitations,r)}return new e(t,r,n)}},Qc=class extends E{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(A.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Kt(e){return e==="completed"||e==="failed"||e==="cancelled"}var gf=Symbol("Let zodToJsonSchema decide on which parser to use");var hf={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"},yf=e=>typeof e=="string"?{...hf,name:e}:{...hf,...e};var _f=e=>{let t=yf(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function fd(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function G(e,t,r,n,o){e[t]=r,fd(e,t,n,o)}var Ds=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function he(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Ds(t,e.currentPath):t.join("/")}}function bf(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==S.ZodAny&&(r.items=L(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&G(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&G(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(G(r,"minItems",e.exactLength.value,e.exactLength.message,t),G(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function vf(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?G(r,"minimum",n.value,n.message,t):G(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),G(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?G(r,"maximum",n.value,n.message,t):G(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),G(r,"maximum",n.value,n.message,t));break;case"multipleOf":G(r,"multipleOf",n.value,n.message,t);break}return r}function wf(){return{type:"boolean"}}function Ls(e,t){return L(e.type._def,t)}var kf=(e,t)=>L(e.innerType._def,t);function hd(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>hd(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return _S(e,t)}}var _S=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":G(r,"minimum",n.value,n.message,t);break;case"max":G(r,"maximum",n.value,n.message,t);break}return r};function xf(e,t){return{...L(e.innerType._def,t),default:e.defaultValue()}}function Sf(e,t){return t.effectStrategy==="input"?L(e.schema._def,t):he(t)}function $f(e){return{type:"string",enum:Array.from(e.values)}}var bS=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function zf(e,t){let r=[L(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),L(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(bS(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function Pf(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var gd,dt={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:()=>(gd===void 0&&(gd=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),gd),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 Zs(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":G(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":G(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":ut(r,"email",n.message,t);break;case"format:idn-email":ut(r,"idn-email",n.message,t);break;case"pattern:zod":Ae(r,dt.email,n.message,t);break}break;case"url":ut(r,"uri",n.message,t);break;case"uuid":ut(r,"uuid",n.message,t);break;case"regex":Ae(r,n.regex,n.message,t);break;case"cuid":Ae(r,dt.cuid,n.message,t);break;case"cuid2":Ae(r,dt.cuid2,n.message,t);break;case"startsWith":Ae(r,RegExp(`^${yd(n.value,t)}`),n.message,t);break;case"endsWith":Ae(r,RegExp(`${yd(n.value,t)}$`),n.message,t);break;case"datetime":ut(r,"date-time",n.message,t);break;case"date":ut(r,"date",n.message,t);break;case"time":ut(r,"time",n.message,t);break;case"duration":ut(r,"duration",n.message,t);break;case"length":G(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),G(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{Ae(r,RegExp(yd(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&ut(r,"ipv4",n.message,t),n.version!=="v4"&&ut(r,"ipv6",n.message,t);break}case"base64url":Ae(r,dt.base64url,n.message,t);break;case"jwt":Ae(r,dt.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&Ae(r,dt.ipv4Cidr,n.message,t),n.version!=="v4"&&Ae(r,dt.ipv6Cidr,n.message,t);break}case"emoji":Ae(r,dt.emoji(),n.message,t);break;case"ulid":{Ae(r,dt.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{ut(r,"binary",n.message,t);break}case"contentEncoding:base64":{G(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{Ae(r,dt.base64,n.message,t);break}}break}case"nanoid":Ae(r,dt.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function yd(e,t){return t.patternStrategy==="escape"?wS(e):e}var vS=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function wS(e){let t="";for(let r=0;r<e.length;r++)vS.has(e[r])||(t+="\\"),t+=e[r];return t}function ut(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):G(e,"format",t,r,n)}function Ae(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:Tf(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):G(e,"pattern",Tf(t,n),r,n)}function Tf(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
38
38
  ]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
39
39
  ]))`;continue}}if(r.s&&n[c]==="."){o+=i?`${n[c]}\r
40
40
  `:`[${n[c]}\r
41
- ]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function Us(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:L(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??he(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:L(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===S.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=Zs(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===S.ZodBranded&&e.keyType._def.type._def.typeName===S.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=Ls(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function Rf(e,t){if(t.mapStrategy==="record")return Us(e,t);let r=L(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||he(t),n=L(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||he(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function jf(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Of(e){return e.target==="openAi"?void 0:{not:he({...e,currentPath:[...e.currentPath,"not"]})}}function Ef(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var no={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Cf(e,t){if(t.target==="openApi3")return If(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in no&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=no[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return If(e,t)}var If=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>L(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Af(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:no[e.innerType._def.typeName],nullable:!0}:{type:[no[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=L(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=L(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Mf(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",fd(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?G(r,"minimum",n.value,n.message,t):G(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),G(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?G(r,"maximum",n.value,n.message,t):G(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),G(r,"maximum",n.value,n.message,t));break;case"multipleOf":G(r,"multipleOf",n.value,n.message,t);break}return r}function Nf(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],s=e.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let d=wS(c);d&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),d=!1);let u=L(c._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});u!==void 0&&(n.properties[a]=u,d||o.push(a))}o.length&&(n.required=o);let i=vS(e,t);return i!==void 0&&(n.additionalProperties=i),n}function vS(e,t){if(e.catchall._def.typeName!=="ZodNever")return L(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 wS(e){try{return e.isOptional()}catch{return!0}}var Df=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return L(e.innerType._def,t);let r=L(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:he(t)},r]}:he(t)};var Lf=(e,t)=>{if(t.pipeStrategy==="input")return L(e.in._def,t);if(t.pipeStrategy==="output")return L(e.out._def,t);let r=L(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=L(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function Zf(e,t){return L(e.type._def,t)}function Uf(e,t){let n={type:"array",uniqueItems:!0,items:L(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&G(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&G(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function qf(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>L(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:L(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>L(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Jf(e){return{not:he(e)}}function Ff(e){return he(e)}var Vf=(e,t)=>L(e.innerType._def,t);var Bf=(e,t,r)=>{switch(t){case S.ZodString:return Zs(e,r);case S.ZodNumber:return Mf(e,r);case S.ZodObject:return Nf(e,r);case S.ZodBigInt:return vf(e,r);case S.ZodBoolean:return wf();case S.ZodDate:return hd(e,r);case S.ZodUndefined:return Jf(r);case S.ZodNull:return Ef(r);case S.ZodArray:return bf(e,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return Cf(e,r);case S.ZodIntersection:return zf(e,r);case S.ZodTuple:return qf(e,r);case S.ZodRecord:return Us(e,r);case S.ZodLiteral:return Pf(e,r);case S.ZodEnum:return $f(e);case S.ZodNativeEnum:return jf(e);case S.ZodNullable:return Af(e,r);case S.ZodOptional:return Df(e,r);case S.ZodMap:return Rf(e,r);case S.ZodSet:return Uf(e,r);case S.ZodLazy:return()=>e.getter()._def;case S.ZodPromise:return Zf(e,r);case S.ZodNaN:case S.ZodNever:return Of(r);case S.ZodEffects:return Sf(e,r);case S.ZodAny:return he(r);case S.ZodUnknown:return Ff(r);case S.ZodDefault:return xf(e,r);case S.ZodBranded:return Ls(e,r);case S.ZodReadonly:return Vf(e,r);case S.ZodCatch:return kf(e,r);case S.ZodPipeline:return Lf(e,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(t)}};function L(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==gf)return a}if(n&&!r){let a=kS(n,t);if(a!==void 0)return a}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=Bf(e,e.typeName,t),i=typeof s=="function"?L(s(),t):s;if(i&&xS(e,t,i),t.postProcess){let a=t.postProcess(i,e,t);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var kS=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Ds(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),he(t)):t.$refStrategy==="seen"?he(t):void 0}},xS=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var _d=(e,t)=>{let r=_f(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[d,u])=>({...c,[d]:L(u._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0)??he(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=L(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??he(r),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function SS(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function bd(e,t){return et(e)?Uc(e,{target:SS(t?.target),io:t?.pipeStrategy??"input"}):_d(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function vd(e){let r=Wt(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=gs(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function wd(e,t){let r=Bt(e,t);if(!r.success)throw r.error;return r.data}var $S=6e4,qs=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(xs,r=>{this._oncancel(r)}),this.setNotificationHandler($s,r=>{this._onprogress(r)}),this.setRequestHandler(Ss,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(zs,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(A.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Ts,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,d=c.id,u=this._requestResolvers.get(d);if(u)if(this._requestResolvers.delete(d),a.type==="response")u(c);else{let l=c,m=new E(l.error.code,l.error.message,l.error.data);u(m)}else{let l=a.type==="response"?"Response":"Error";this._onerror(new Error(`${l} handler missing for request ${d}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new E(A.InvalidParams,`Task not found: ${s}`);if(!Kt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Kt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[Ht]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Rs,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new E(A.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Os,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(A.InvalidParams,`Task not found: ${r.params.taskId}`);if(Kt(o.status))throw new E(A.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new E(A.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof E?o:new E(A.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),E.fromError(A.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Hn(s)||nf(s)?this._onresponse(s):ed(s)?this._onrequest(s,i):rf(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=E.fromError(A.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,s=t.params?._meta?.[Ht]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:A.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:u,timestamp:Date.now()},o?.sessionId).catch(l=>this._onerror(new Error(`Failed to enqueue error response: ${l}`))):o?.send(u).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=Xm(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,d={signal:i.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(i.signal.aborted)return;let l={relatedRequestId:t.id};s&&(l.relatedTask={taskId:s}),await this.notification(u,l)},sendRequest:async(u,l,m)=>{if(i.signal.aborted)throw new E(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(u,l,f)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,d)).then(async u=>{if(i.signal.aborted)return;let l={result:u,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 u=>{if(i.signal.aborted)return;let l={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:A.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===i&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Hn(t))n(t);else{let i=new E(t.error.code,t.error.message,t.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Hn(t)&&t.result&&typeof t.result=="object"){let i=t.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),Hn(t))o(t);else{let i=E.fromError(t.error.code,t.error.message,t.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(i){yield{type:"error",error:i instanceof E?i:new E(A.InternalError,String(i))}}return}let s;try{let i=await this.request(t,on,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new E(A.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Kt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new E(A.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new E(A.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(d=>setTimeout(d,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof E?i:new E(A.InternalError,String(i))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((d,u)=>{let l=w=>{u(w)};if(!this._transport){l(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(w){l(w);return}n?.signal?.throwIfAborted();let m=this._requestMessageId++,f={...t,jsonrpc:"2.0",id:m};n?.onprogress&&(this._progressHandlers.set(m,n.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 E?w:new E(A.RequestTimeout,String(w));u(k)};this._responseHandlers.set(m,w=>{if(!n?.signal?.aborted){if(w instanceof Error)return u(w);try{let k=Bt(r,w.result);k.success?d(k.data):u(k.error)}catch(k){u(k)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let g=n?.timeout??$S,y=()=>h(E.fromError(A.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(m,g,n?.maxTotalTimeout,y,n?.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),u(k)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>{this._cleanupTimeout(m),u(w)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Ps,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},js,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},af,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Ht]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Ht]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[Ht]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(t,r){let n=vd(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=wd(t,o);return Promise.resolve(r(i,s))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=vd(t);this._notificationHandlers.set(n,o=>{let s=wd(t,o);return Promise.resolve(r(s))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&ed(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new E(A.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new E(A.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new E(A.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new E(A.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=Xn.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Kt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new E(A.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Kt(a.status))throw new E(A.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let d=Xn.parse({method:"notifications/tasks/status",params:c});await this.notification(d),Kt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Wf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Hf(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];Wf(i)&&Wf(s)?r[o]={...i,...s}:r[o]=s}return r}var Cy=Yl(il(),1),Ay=Yl(Iy(),1);function hT(){let e=new Cy.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Ay.default)(e),e}var $i=class{constructor(t){this._ajv=t??hT()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var zi=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}createMessageStream(t,r){let n=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let o=t.messages[t.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(u=>u.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]:[],d=c.some(u=>u.type==="tool_use");if(i){if(s.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!d)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(d){let u=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(u.size!==l.size||![...u].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},ro,r)}elicitInputStream(t,r){let n=this._server.getClientCapabilities(),o=t.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&t.mode===void 0?{...t,mode:"form"}:t;return this.requestStream({method:"elicitation/create",params:s},un,r)}async getTask(t,r){return this._server.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._server.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._server.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._server.cancelTask({taskId:t},r)}};function My(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Ny(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var Pi=class extends qs{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(to.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new $i,this.setRequestHandler(nd,n=>this._oninitialize(n)),this.setNotificationHandler(od,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(ld,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=to.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new zi(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Hf(this._capabilities,t)}setRequestHandler(t,r){let o=Wt(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(et(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,d)=>{let u=Bt(dn,c);if(!u.success){let h=u.error instanceof Error?u.error.message:String(u.error);throw new E(A.InvalidParams,`Invalid tools/call request: ${h}`)}let{params:l}=u.data,m=await Promise.resolve(r(c,d));if(l.task){let h=Bt(on,m);if(!h.success){let g=h.error instanceof Error?h.error.message:String(h.error);throw new E(A.InvalidParams,`Invalid task creation result: ${g}`)}return h.data}let f=Bt(Ms,m);if(!f.success){let h=f.error instanceof Error?f.error.message:String(f.error);throw new E(A.InvalidParams,`Invalid tools/call result: ${h}`)}return f.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){Ny(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&My(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let r=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:Gm.includes(r)?r:Yc,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},ks)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(d=>d.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(d=>d.type==="tool_use");if(s){if(o.some(d=>d.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 d=new Set(a.filter(l=>l.type==="tool_use").map(l=>l.id)),u=new Set(o.filter(l=>l.type==="tool_result").map(l=>l.toolUseId));if(d.size!==u.size||![...d].every(l=>u.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},pd,r):this.request({method:"sampling/createMessage",params:t},ro,r)}async elicitInput(t,r){switch(t.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=t;return this.request({method:"elicitation/create",params:o},un,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=t.mode==="form"?t:{...t,mode:"form"},s=await this.request({method:"elicitation/create",params:o},un,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new E(A.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof E?i:new E(A.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(t,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},md,r)}async sendLoggingMessage(t,r){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,r))return this.notification({method:"notifications/message",params:t})}async sendResourceUpdated(t){return this.notification({method:"notifications/resources/updated",params:t})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var Ly=Symbol.for("mcp.completable");function fl(e){return!!e&&typeof e=="object"&&Ly in e}function Zy(e){return e[Ly]?.complete}var Dy;(function(e){e.Completable="McpCompletable"})(Dy||(Dy={}));var gT=/^[A-Za-z0-9._-]{1,128}$/;function yT(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"),!gT.test(e)){let r=e.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return t.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}function _T(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let r of t)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function hl(e){let t=yT(e);return _T(e,t.warnings),t.isValid}var Ti=class{constructor(t){this._mcpServer=t}registerToolTask(t,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${t}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(t,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var Ri=class{constructor(t,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Pi(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Ti(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(or(As)),this.server.assertCanSetRequestHandler(or(dn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(As,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,r])=>{let n={name:t,title:r.title,description:r.description,inputSchema:(()=>{let o=rn(r.inputSchema);return o?bd(o,{strictUnions:!0,pipeStrategy:"input"}):bT})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=rn(r.outputSchema);o&&(n.outputSchema=bd(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(dn,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new E(A.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new E(A.InvalidParams,`Tool ${t.params.name} disabled`);let o=!!t.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new E(A.InternalError,`Tool ${t.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new E(A.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,t,r);let a=await this.validateToolInput(n,t.params.arguments,t.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,t.params.name),c}catch(n){if(n instanceof E&&n.code===A.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,r,n){if(!t.inputSchema)return;let s=rn(t.inputSchema)??t.inputSchema,i=await fs(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=hs(a);throw new E(A.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new E(A.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=rn(t.outputSchema),s=await fs(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=hs(i);throw new E(A.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(t,r,n){let o=t.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(t.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(t.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(t,r.params.arguments,r.params.name),s=t.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,d=a.task,u=d.pollInterval??5e3;for(;d.status!=="completed"&&d.status!=="failed"&&d.status!=="cancelled";){await new Promise(m=>setTimeout(m,u));let l=await n.taskStore.getTask(c);if(!l)throw new E(A.InternalError,`Task ${c} not found during polling`);d=l}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(or(Ns)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Ns,async t=>{switch(t.params.ref.type){case"ref/prompt":return mf(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return ff(t),this.handleResourceCompletion(t,t.params.ref);default:throw new E(A.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new E(A.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new E(A.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Co;let s=Wt(n.argsSchema)?.[t.params.argument.name];if(!fl(s))return Co;let i=Zy(s);if(!i)return Co;let a=await i(t.params.argument.value,t.params.context);return qy(a)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Co;throw new E(A.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(t.params.argument.name);if(!o)return Co;let s=await o(t.params.argument.value,t.params.context);return qy(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(or(an)),this.server.assertCanSetRequestHandler(or(cn)),this.server.assertCanSetRequestHandler(or(Es)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(an,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(cn,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Es,async(t,r)=>{let n=new URL(t.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new E(A.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new E(A.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(or(Is)),this.server.assertCanSetRequestHandler(or(Cs)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Is,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?vT(r.argsSchema):void 0}))})),this.server.setRequestHandler(Cs,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new E(A.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new E(A.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let o=rn(n.argsSchema),s=await fs(o,t.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",d=hs(c);throw new E(A.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${d}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(t,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let i=this._createRegisteredResourceTemplate(t,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(t,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let s=this._createRegisteredResourceTemplate(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(t,r,n,o,s){let i={name:t,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(t,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==t&&(delete this._registeredResourceTemplates[t],d.name&&(this._registeredResourceTemplates[d.name]=i)),typeof d.title<"u"&&(i.title=d.title),typeof d.template<"u"&&(i.resourceTemplate=d.template),typeof d.metadata<"u"&&(i.metadata=d.metadata),typeof d.callback<"u"&&(i.readCallback=d.callback),typeof d.enabled<"u"&&(i.enabled=d.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(d=>!!n.completeCallback(d))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(t,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Tr(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=Tr(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 d=c instanceof Le?c._def?.innerType:c;return fl(d)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(t,r,n,o,s,i,a,c,d){hl(t);let u={title:r,description:n,inputSchema:Uy(o),outputSchema:Uy(s),annotations:i,execution:a,_meta:c,handler:d,enabled:!0,disable:()=>u.update({enabled:!1}),enable:()=>u.update({enabled:!0}),remove:()=>u.update({name:null}),update:l=>{typeof l.name<"u"&&l.name!==t&&(typeof l.name=="string"&&hl(l.name),delete this._registeredTools[t],l.name&&(this._registeredTools[l.name]=u)),typeof l.title<"u"&&(u.title=l.title),typeof l.description<"u"&&(u.description=l.description),typeof l.paramsSchema<"u"&&(u.inputSchema=Tr(l.paramsSchema)),typeof l.outputSchema<"u"&&(u.outputSchema=Tr(l.outputSchema)),typeof l.callback<"u"&&(u.handler=l.callback),typeof l.annotations<"u"&&(u.annotations=l.annotations),typeof l._meta<"u"&&(u._meta=l._meta),typeof l.enabled<"u"&&(u.enabled=l.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=u,this.setToolRequestHandlers(),this.sendToolListChanged(),u}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(gl(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!gl(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(d=>typeof d=="object"&&d!==null))throw new Error(`Tool ${t} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(t,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:d}=r;return this._createRegisteredTool(t,o,s,i,a,c,{taskSupport:"forbidden"},d,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(t,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(t,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var bT={type:"object",properties:{}};function Jy(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function Fy(e){return"_def"in e||"_zod"in e||Jy(e)}function gl(e){return typeof e!="object"||e===null||Fy(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(Jy)}function Uy(e){if(e){if(gl(e))return Tr(e);if(!Fy(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function vT(e){let t=Wt(e);return t?Object.entries(t).map(([r,n])=>{let o=zm(n),s=Pm(n);return{name:r,description:o,required:!s}}):[]}function or(e){let r=Wt(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=gs(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function qy(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var Co={completion:{values:[],hasMore:!1}};import By from"node:process";var ji=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
42
- `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),wT(r)}clear(){this._buffer=void 0}};function wT(e){return of.parse(JSON.parse(e))}function Vy(e){return JSON.stringify(e)+`
43
- `}var Oi=class{constructor(t=By.stdin,r=By.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new ji,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(t){return new Promise(r=>{let n=Vy(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{hostname as ZR}from"node:os";import{randomBytes as rR}from"node:crypto";import{existsSync as wl,mkdirSync as nR,readFileSync as kl,renameSync as oR,rmSync as sR,writeFileSync as iR}from"node:fs";import{homedir as aR}from"node:os";import{dirname as cR,join as dR}from"node:path";import{spawn as UT}from"node:child_process";import{randomBytes as qT}from"node:crypto";import{createServer as JT}from"node:http";import{appendFileSync as PT,openSync as r4}from"node:fs";import{homedir as Qy}from"node:os";import{dirname as TT,join as Yy,resolve as RT,sep as jT}from"node:path";import{mkdirSync as OT}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 xT=new Map(Pt.events),ST=new Map(Pt.events.map(([e,t])=>[t,e])),Hy=new Map(Pt.keys),Ky=new Map(Pt.keyPrimaryLegacy),$T=new Map(Pt.values),zT=new Map(Pt.values.map(([e,t])=>[t,e])),QM={eventCanonicalByLegacy:xT,eventLegacyByCanonical:ST,keyCanonicalByLegacy:Hy,keyPrimaryLegacyByCanonical:Ky,valueCanonicalByLegacy:$T,valueLegacyByCanonical:zT,originator:Pt.originator,topic:Pt.topic};function Gy(e){let t=new Set(e);for(let r of e){let n=Hy.get(r);n!==void 0&&t.add(n);let o=Ky.get(r);o!==void 0&&t.add(o)}return t}var Wy=new Map;for(let[e,t]of Pt.keys){let r=Wy.get(t)??[];r.push(e),Wy.set(t,r)}var Lr="<SENSITIVE_DATA>",Xy=Gy(new Set(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"])),ET=new Set(["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"]);function IT(e){if(process.env.VITEST===void 0)return;let t=Yy(Qy(),".linzumi"),r=RT(e);if(r===t||r.startsWith(`${t}${jT}`))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 yl(e,t,r={}){let n=r.logFile??CT();IT(n);try{OT(TT(n),{recursive:!0}),PT(n,`${JSON.stringify({ts:new Date().toISOString(),event:e,...r.sessionId===void 0?{}:{sessionId:r.sessionId},...AT(t)})}
44
- `,"utf8")}catch{return}}function CT(){let e=process.env.LINZUMI_CLI_AUDIT_LOG?.trim();return e===void 0||e===""?Yy(Qy(),".linzumi","logs","command-events.jsonl"):e}function AT(e){return e_(e)}function _l(e,t){return DT(t)?Lr:typeof e=="string"?t_(e):Array.isArray(e)?t==="args"?MT(e):e.map(r=>_l(r,void 0)):e!==null&&typeof e=="object"?e_(e):e}function e_(e){let t=typeof e.name=="string"?e.name.toLowerCase():void 0,r=t==="authorization"||t==="cookie"||t==="set-cookie";return Object.fromEntries(Object.entries(e).filter(([n])=>n!=="runner_console").map(([n,o])=>[n,r&&n==="value"?Lr:_l(o,n)]))}function MT(e){let t=!1;return e.map(r=>{if(typeof r!="string")return t=!1,_l(r,void 0);if(t)return t=!1,Lr;let[n,o]=NT(r);return ET.has(n)?o===void 0?(t=!0,r):`${n}=${Lr}`:t_(r)})}function NT(e){let t=e.indexOf("=");return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t+1)]}function DT(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 t_(e){return LT(e).replace(/\beyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,Lr)}function LT(e){let t;try{t=new URL(e)}catch{return ZT(e)}for(let r of[...t.searchParams.keys()])Xy.has(r.toLowerCase())&&t.searchParams.set(r,Lr);return t.toString()}function ZT(e){let t=e.indexOf("?"),r=e.indexOf("#");if(t===-1||r!==-1&&r<t)return e;let n=e.slice(0,t),o=r===-1?e.slice(t+1):e.slice(t+1,r),s=r===-1?"":e.slice(r),i=new URLSearchParams(o),a=!1;for(let c of[...i.keys()])Xy.has(c.toLowerCase())&&(i.set(c,Lr),a=!0);switch(a){case!0:return`${n}?${i.toString()}${s}`;case!1:return e}}var FT=300*1e3,VT=1e4;function r_(e,t=process.env){if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e;let r=t.LINZUMI_OAUTH_CALLBACK_TIMEOUT_MS?.trim();if(r!==void 0&&r!==""){let n=Number.parseInt(r,10);if(Number.isFinite(n)&&n>0)return n}return FT}async function n_(e){let t=Be(e.kandanUrl),r=qT(18).toString("base64url"),n=await GT({host:BT(e.kandanUrl,e.callbackHost),exchange:async s=>{if(s.state!==r)throw new Error("local runner OAuth state mismatch");return await KT({httpBaseUrl:t,code:s.code,redirectUri:s.redirectUri})}}),o=HT({httpBaseUrl:t,redirectUri:n.redirectUri,state:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,purpose:e.purpose});process.stderr.write(`Authorize the local Codex runner:
41
+ ]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function Us(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:L(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??he(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:L(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===S.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=Zs(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===S.ZodBranded&&e.keyType._def.type._def.typeName===S.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=Ls(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function Rf(e,t){if(t.mapStrategy==="record")return Us(e,t);let r=L(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||he(t),n=L(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||he(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function jf(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Of(e){return e.target==="openAi"?void 0:{not:he({...e,currentPath:[...e.currentPath,"not"]})}}function Ef(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var no={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Cf(e,t){if(t.target==="openApi3")return If(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in no&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=no[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return If(e,t)}var If=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>L(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Af(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:no[e.innerType._def.typeName],nullable:!0}:{type:[no[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=L(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=L(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Mf(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",fd(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?G(r,"minimum",n.value,n.message,t):G(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),G(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?G(r,"maximum",n.value,n.message,t):G(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),G(r,"maximum",n.value,n.message,t));break;case"multipleOf":G(r,"multipleOf",n.value,n.message,t);break}return r}function Nf(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],s=e.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let d=xS(c);d&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),d=!1);let u=L(c._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});u!==void 0&&(n.properties[a]=u,d||o.push(a))}o.length&&(n.required=o);let i=kS(e,t);return i!==void 0&&(n.additionalProperties=i),n}function kS(e,t){if(e.catchall._def.typeName!=="ZodNever")return L(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 xS(e){try{return e.isOptional()}catch{return!0}}var Df=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return L(e.innerType._def,t);let r=L(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:he(t)},r]}:he(t)};var Lf=(e,t)=>{if(t.pipeStrategy==="input")return L(e.in._def,t);if(t.pipeStrategy==="output")return L(e.out._def,t);let r=L(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=L(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function Zf(e,t){return L(e.type._def,t)}function Uf(e,t){let n={type:"array",uniqueItems:!0,items:L(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&G(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&G(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function qf(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>L(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:L(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>L(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Jf(e){return{not:he(e)}}function Ff(e){return he(e)}var Vf=(e,t)=>L(e.innerType._def,t);var Bf=(e,t,r)=>{switch(t){case S.ZodString:return Zs(e,r);case S.ZodNumber:return Mf(e,r);case S.ZodObject:return Nf(e,r);case S.ZodBigInt:return vf(e,r);case S.ZodBoolean:return wf();case S.ZodDate:return hd(e,r);case S.ZodUndefined:return Jf(r);case S.ZodNull:return Ef(r);case S.ZodArray:return bf(e,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return Cf(e,r);case S.ZodIntersection:return zf(e,r);case S.ZodTuple:return qf(e,r);case S.ZodRecord:return Us(e,r);case S.ZodLiteral:return Pf(e,r);case S.ZodEnum:return $f(e);case S.ZodNativeEnum:return jf(e);case S.ZodNullable:return Af(e,r);case S.ZodOptional:return Df(e,r);case S.ZodMap:return Rf(e,r);case S.ZodSet:return Uf(e,r);case S.ZodLazy:return()=>e.getter()._def;case S.ZodPromise:return Zf(e,r);case S.ZodNaN:case S.ZodNever:return Of(r);case S.ZodEffects:return Sf(e,r);case S.ZodAny:return he(r);case S.ZodUnknown:return Ff(r);case S.ZodDefault:return xf(e,r);case S.ZodBranded:return Ls(e,r);case S.ZodReadonly:return Vf(e,r);case S.ZodCatch:return kf(e,r);case S.ZodPipeline:return Lf(e,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(t)}};function L(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==gf)return a}if(n&&!r){let a=SS(n,t);if(a!==void 0)return a}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=Bf(e,e.typeName,t),i=typeof s=="function"?L(s(),t):s;if(i&&$S(e,t,i),t.postProcess){let a=t.postProcess(i,e,t);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var SS=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Ds(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),he(t)):t.$refStrategy==="seen"?he(t):void 0}},$S=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var _d=(e,t)=>{let r=_f(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[d,u])=>({...c,[d]:L(u._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0)??he(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=L(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??he(r),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function zS(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function bd(e,t){return et(e)?Uc(e,{target:zS(t?.target),io:t?.pipeStrategy??"input"}):_d(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function vd(e){let r=Wt(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=gs(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function wd(e,t){let r=Bt(e,t);if(!r.success)throw r.error;return r.data}var PS=6e4,qs=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(xs,r=>{this._oncancel(r)}),this.setNotificationHandler($s,r=>{this._onprogress(r)}),this.setRequestHandler(Ss,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(zs,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(A.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Ts,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,d=c.id,u=this._requestResolvers.get(d);if(u)if(this._requestResolvers.delete(d),a.type==="response")u(c);else{let l=c,m=new E(l.error.code,l.error.message,l.error.data);u(m)}else{let l=a.type==="response"?"Response":"Error";this._onerror(new Error(`${l} handler missing for request ${d}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new E(A.InvalidParams,`Task not found: ${s}`);if(!Kt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Kt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[Ht]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Rs,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new E(A.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Os,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(A.InvalidParams,`Task not found: ${r.params.taskId}`);if(Kt(o.status))throw new E(A.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new E(A.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof E?o:new E(A.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),E.fromError(A.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Hn(s)||nf(s)?this._onresponse(s):ed(s)?this._onrequest(s,i):rf(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=E.fromError(A.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,s=t.params?._meta?.[Ht]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:A.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:u,timestamp:Date.now()},o?.sessionId).catch(l=>this._onerror(new Error(`Failed to enqueue error response: ${l}`))):o?.send(u).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=Xm(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,d={signal:i.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(i.signal.aborted)return;let l={relatedRequestId:t.id};s&&(l.relatedTask={taskId:s}),await this.notification(u,l)},sendRequest:async(u,l,m)=>{if(i.signal.aborted)throw new E(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(u,l,f)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,d)).then(async u=>{if(i.signal.aborted)return;let l={result:u,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 u=>{if(i.signal.aborted)return;let l={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:A.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===i&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Hn(t))n(t);else{let i=new E(t.error.code,t.error.message,t.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Hn(t)&&t.result&&typeof t.result=="object"){let i=t.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),Hn(t))o(t);else{let i=E.fromError(t.error.code,t.error.message,t.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(i){yield{type:"error",error:i instanceof E?i:new E(A.InternalError,String(i))}}return}let s;try{let i=await this.request(t,on,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new E(A.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Kt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new E(A.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new E(A.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(d=>setTimeout(d,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof E?i:new E(A.InternalError,String(i))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((d,u)=>{let l=w=>{u(w)};if(!this._transport){l(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(w){l(w);return}n?.signal?.throwIfAborted();let m=this._requestMessageId++,f={...t,jsonrpc:"2.0",id:m};n?.onprogress&&(this._progressHandlers.set(m,n.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 E?w:new E(A.RequestTimeout,String(w));u(k)};this._responseHandlers.set(m,w=>{if(!n?.signal?.aborted){if(w instanceof Error)return u(w);try{let k=Bt(r,w.result);k.success?d(k.data):u(k.error)}catch(k){u(k)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let g=n?.timeout??PS,y=()=>h(E.fromError(A.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(m,g,n?.maxTotalTimeout,y,n?.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),u(k)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>{this._cleanupTimeout(m),u(w)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Ps,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},js,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},af,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Ht]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Ht]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[Ht]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(t,r){let n=vd(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=wd(t,o);return Promise.resolve(r(i,s))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=vd(t);this._notificationHandlers.set(n,o=>{let s=wd(t,o);return Promise.resolve(r(s))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&ed(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new E(A.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new E(A.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new E(A.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new E(A.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=Xn.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Kt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new E(A.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Kt(a.status))throw new E(A.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let d=Xn.parse({method:"notifications/tasks/status",params:c});await this.notification(d),Kt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Wf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Hf(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];Wf(i)&&Wf(s)?r[o]={...i,...s}:r[o]=s}return r}var Cy=Yl(il(),1),Ay=Yl(Iy(),1);function yT(){let e=new Cy.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Ay.default)(e),e}var $i=class{constructor(t){this._ajv=t??yT()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var zi=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}createMessageStream(t,r){let n=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let o=t.messages[t.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(u=>u.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]:[],d=c.some(u=>u.type==="tool_use");if(i){if(s.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!d)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(d){let u=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(u.size!==l.size||![...u].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},ro,r)}elicitInputStream(t,r){let n=this._server.getClientCapabilities(),o=t.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&t.mode===void 0?{...t,mode:"form"}:t;return this.requestStream({method:"elicitation/create",params:s},un,r)}async getTask(t,r){return this._server.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._server.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._server.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._server.cancelTask({taskId:t},r)}};function My(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Ny(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var Pi=class extends qs{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(to.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new $i,this.setRequestHandler(nd,n=>this._oninitialize(n)),this.setNotificationHandler(od,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(ld,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=to.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new zi(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Hf(this._capabilities,t)}setRequestHandler(t,r){let o=Wt(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(et(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,d)=>{let u=Bt(dn,c);if(!u.success){let h=u.error instanceof Error?u.error.message:String(u.error);throw new E(A.InvalidParams,`Invalid tools/call request: ${h}`)}let{params:l}=u.data,m=await Promise.resolve(r(c,d));if(l.task){let h=Bt(on,m);if(!h.success){let g=h.error instanceof Error?h.error.message:String(h.error);throw new E(A.InvalidParams,`Invalid task creation result: ${g}`)}return h.data}let f=Bt(Ms,m);if(!f.success){let h=f.error instanceof Error?f.error.message:String(f.error);throw new E(A.InvalidParams,`Invalid tools/call result: ${h}`)}return f.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){Ny(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&My(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let r=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:Gm.includes(r)?r:Yc,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},ks)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(d=>d.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(d=>d.type==="tool_use");if(s){if(o.some(d=>d.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 d=new Set(a.filter(l=>l.type==="tool_use").map(l=>l.id)),u=new Set(o.filter(l=>l.type==="tool_result").map(l=>l.toolUseId));if(d.size!==u.size||![...d].every(l=>u.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},pd,r):this.request({method:"sampling/createMessage",params:t},ro,r)}async elicitInput(t,r){switch(t.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=t;return this.request({method:"elicitation/create",params:o},un,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=t.mode==="form"?t:{...t,mode:"form"},s=await this.request({method:"elicitation/create",params:o},un,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new E(A.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof E?i:new E(A.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(t,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},md,r)}async sendLoggingMessage(t,r){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,r))return this.notification({method:"notifications/message",params:t})}async sendResourceUpdated(t){return this.notification({method:"notifications/resources/updated",params:t})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var Ly=Symbol.for("mcp.completable");function fl(e){return!!e&&typeof e=="object"&&Ly in e}function Zy(e){return e[Ly]?.complete}var Dy;(function(e){e.Completable="McpCompletable"})(Dy||(Dy={}));var _T=/^[A-Za-z0-9._-]{1,128}$/;function bT(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"),!_T.test(e)){let r=e.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return t.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}function vT(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let r of t)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function hl(e){let t=bT(e);return vT(e,t.warnings),t.isValid}var Ti=class{constructor(t){this._mcpServer=t}registerToolTask(t,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${t}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(t,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var Ri=class{constructor(t,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Pi(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Ti(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(or(As)),this.server.assertCanSetRequestHandler(or(dn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(As,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,r])=>{let n={name:t,title:r.title,description:r.description,inputSchema:(()=>{let o=rn(r.inputSchema);return o?bd(o,{strictUnions:!0,pipeStrategy:"input"}):wT})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=rn(r.outputSchema);o&&(n.outputSchema=bd(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(dn,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new E(A.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new E(A.InvalidParams,`Tool ${t.params.name} disabled`);let o=!!t.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new E(A.InternalError,`Tool ${t.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new E(A.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,t,r);let a=await this.validateToolInput(n,t.params.arguments,t.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,t.params.name),c}catch(n){if(n instanceof E&&n.code===A.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,r,n){if(!t.inputSchema)return;let s=rn(t.inputSchema)??t.inputSchema,i=await fs(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=hs(a);throw new E(A.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new E(A.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=rn(t.outputSchema),s=await fs(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=hs(i);throw new E(A.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(t,r,n){let o=t.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(t.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(t.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(t,r.params.arguments,r.params.name),s=t.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,d=a.task,u=d.pollInterval??5e3;for(;d.status!=="completed"&&d.status!=="failed"&&d.status!=="cancelled";){await new Promise(m=>setTimeout(m,u));let l=await n.taskStore.getTask(c);if(!l)throw new E(A.InternalError,`Task ${c} not found during polling`);d=l}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(or(Ns)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Ns,async t=>{switch(t.params.ref.type){case"ref/prompt":return mf(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return ff(t),this.handleResourceCompletion(t,t.params.ref);default:throw new E(A.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new E(A.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new E(A.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Co;let s=Wt(n.argsSchema)?.[t.params.argument.name];if(!fl(s))return Co;let i=Zy(s);if(!i)return Co;let a=await i(t.params.argument.value,t.params.context);return qy(a)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Co;throw new E(A.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(t.params.argument.name);if(!o)return Co;let s=await o(t.params.argument.value,t.params.context);return qy(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(or(an)),this.server.assertCanSetRequestHandler(or(cn)),this.server.assertCanSetRequestHandler(or(Es)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(an,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(cn,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Es,async(t,r)=>{let n=new URL(t.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new E(A.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new E(A.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(or(Is)),this.server.assertCanSetRequestHandler(or(Cs)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Is,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?kT(r.argsSchema):void 0}))})),this.server.setRequestHandler(Cs,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new E(A.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new E(A.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let o=rn(n.argsSchema),s=await fs(o,t.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",d=hs(c);throw new E(A.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${d}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(t,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let i=this._createRegisteredResourceTemplate(t,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(t,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let s=this._createRegisteredResourceTemplate(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(t,r,n,o,s){let i={name:t,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(t,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==t&&(delete this._registeredResourceTemplates[t],d.name&&(this._registeredResourceTemplates[d.name]=i)),typeof d.title<"u"&&(i.title=d.title),typeof d.template<"u"&&(i.resourceTemplate=d.template),typeof d.metadata<"u"&&(i.metadata=d.metadata),typeof d.callback<"u"&&(i.readCallback=d.callback),typeof d.enabled<"u"&&(i.enabled=d.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(d=>!!n.completeCallback(d))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(t,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Tr(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=Tr(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 d=c instanceof Le?c._def?.innerType:c;return fl(d)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(t,r,n,o,s,i,a,c,d){hl(t);let u={title:r,description:n,inputSchema:Uy(o),outputSchema:Uy(s),annotations:i,execution:a,_meta:c,handler:d,enabled:!0,disable:()=>u.update({enabled:!1}),enable:()=>u.update({enabled:!0}),remove:()=>u.update({name:null}),update:l=>{typeof l.name<"u"&&l.name!==t&&(typeof l.name=="string"&&hl(l.name),delete this._registeredTools[t],l.name&&(this._registeredTools[l.name]=u)),typeof l.title<"u"&&(u.title=l.title),typeof l.description<"u"&&(u.description=l.description),typeof l.paramsSchema<"u"&&(u.inputSchema=Tr(l.paramsSchema)),typeof l.outputSchema<"u"&&(u.outputSchema=Tr(l.outputSchema)),typeof l.callback<"u"&&(u.handler=l.callback),typeof l.annotations<"u"&&(u.annotations=l.annotations),typeof l._meta<"u"&&(u._meta=l._meta),typeof l.enabled<"u"&&(u.enabled=l.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=u,this.setToolRequestHandlers(),this.sendToolListChanged(),u}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(gl(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!gl(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(d=>typeof d=="object"&&d!==null))throw new Error(`Tool ${t} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(t,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:d}=r;return this._createRegisteredTool(t,o,s,i,a,c,{taskSupport:"forbidden"},d,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(t,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(t,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var wT={type:"object",properties:{}};function Jy(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function Fy(e){return"_def"in e||"_zod"in e||Jy(e)}function gl(e){return typeof e!="object"||e===null||Fy(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(Jy)}function Uy(e){if(e){if(gl(e))return Tr(e);if(!Fy(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function kT(e){let t=Wt(e);return t?Object.entries(t).map(([r,n])=>{let o=zm(n),s=Pm(n);return{name:r,description:o,required:!s}}):[]}function or(e){let r=Wt(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=gs(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function qy(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var Co={completion:{values:[],hasMore:!1}};import By from"node:process";var ji=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
42
+ `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),xT(r)}clear(){this._buffer=void 0}};function xT(e){return of.parse(JSON.parse(e))}function Vy(e){return JSON.stringify(e)+`
43
+ `}var Oi=class{constructor(t=By.stdin,r=By.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new ji,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(t){return new Promise(r=>{let n=Vy(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{hostname as qR}from"node:os";import{randomBytes as oR}from"node:crypto";import{existsSync as wl,mkdirSync as sR,readFileSync as kl,renameSync as iR,rmSync as aR,writeFileSync as cR}from"node:fs";import{homedir as dR}from"node:os";import{dirname as uR,join as lR}from"node:path";import{spawn as JT}from"node:child_process";import{randomBytes as FT}from"node:crypto";import{createServer as VT}from"node:http";import{appendFileSync as RT,openSync as s4}from"node:fs";import{homedir as Qy}from"node:os";import{dirname as jT,join as Yy,resolve as OT,sep as ET}from"node:path";import{mkdirSync as IT}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 $T=new Map(Pt.events),zT=new Map(Pt.events.map(([e,t])=>[t,e])),Hy=new Map(Pt.keys),Ky=new Map(Pt.keyPrimaryLegacy),PT=new Map(Pt.values),TT=new Map(Pt.values.map(([e,t])=>[t,e])),e4={eventCanonicalByLegacy:$T,eventLegacyByCanonical:zT,keyCanonicalByLegacy:Hy,keyPrimaryLegacyByCanonical:Ky,valueCanonicalByLegacy:PT,valueLegacyByCanonical:TT,originator:Pt.originator,topic:Pt.topic};function Gy(e){let t=new Set(e);for(let r of e){let n=Hy.get(r);n!==void 0&&t.add(n);let o=Ky.get(r);o!==void 0&&t.add(o)}return t}var Wy=new Map;for(let[e,t]of Pt.keys){let r=Wy.get(t)??[];r.push(e),Wy.set(t,r)}var Lr="<SENSITIVE_DATA>",Xy=Gy(new Set(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"])),CT=new Set(["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"]);function AT(e){if(process.env.VITEST===void 0)return;let t=Yy(Qy(),".linzumi"),r=OT(e);if(r===t||r.startsWith(`${t}${ET}`))throw new Error(`test-mode log isolation violated: refusing to open ${e} inside the real ~/.linzumi (point the logger at a temp path; the harness defaults LINZUMI_RUNNER_LOG_FILE / LINZUMI_CLI_AUDIT_LOG for exactly this - see plans/2026-07-10-cli-test-hygiene-spec.md item 2)`)}function yl(e,t,r={}){let n=r.logFile??MT();AT(n);try{IT(jT(n),{recursive:!0}),RT(n,`${JSON.stringify({ts:new Date().toISOString(),event:e,...r.sessionId===void 0?{}:{sessionId:r.sessionId},...NT(t)})}
44
+ `,"utf8")}catch{return}}function MT(){let e=process.env.LINZUMI_CLI_AUDIT_LOG?.trim();return e===void 0||e===""?Yy(Qy(),".linzumi","logs","command-events.jsonl"):e}function NT(e){return e_(e)}function _l(e,t){return ZT(t)?Lr:typeof e=="string"?t_(e):Array.isArray(e)?t==="args"?DT(e):e.map(r=>_l(r,void 0)):e!==null&&typeof e=="object"?e_(e):e}function e_(e){let t=typeof e.name=="string"?e.name.toLowerCase():void 0,r=t==="authorization"||t==="cookie"||t==="set-cookie";return Object.fromEntries(Object.entries(e).filter(([n])=>n!=="runner_console").map(([n,o])=>[n,r&&n==="value"?Lr:_l(o,n)]))}function DT(e){let t=!1;return e.map(r=>{if(typeof r!="string")return t=!1,_l(r,void 0);if(t)return t=!1,Lr;let[n,o]=LT(r);return CT.has(n)?o===void 0?(t=!0,r):`${n}=${Lr}`:t_(r)})}function LT(e){let t=e.indexOf("=");return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t+1)]}function ZT(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 t_(e){return UT(e).replace(/\beyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,Lr)}function UT(e){let t;try{t=new URL(e)}catch{return qT(e)}for(let r of[...t.searchParams.keys()])Xy.has(r.toLowerCase())&&t.searchParams.set(r,Lr);return t.toString()}function qT(e){let t=e.indexOf("?"),r=e.indexOf("#");if(t===-1||r!==-1&&r<t)return e;let n=e.slice(0,t),o=r===-1?e.slice(t+1):e.slice(t+1,r),s=r===-1?"":e.slice(r),i=new URLSearchParams(o),a=!1;for(let c of[...i.keys()])Xy.has(c.toLowerCase())&&(i.set(c,Lr),a=!0);switch(a){case!0:return`${n}?${i.toString()}${s}`;case!1:return e}}var BT=300*1e3,WT=1e4;function r_(e,t=process.env){if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e;let r=t.LINZUMI_OAUTH_CALLBACK_TIMEOUT_MS?.trim();if(r!==void 0&&r!==""){let n=Number.parseInt(r,10);if(Number.isFinite(n)&&n>0)return n}return BT}async function n_(e){let t=Be(e.kandanUrl),r=FT(18).toString("base64url"),n=await YT({host:HT(e.kandanUrl,e.callbackHost),exchange:async s=>{if(s.state!==r)throw new Error("local runner OAuth state mismatch");return await QT({httpBaseUrl:t,code:s.code,redirectUri:s.redirectUri})}}),o=GT({httpBaseUrl:t,redirectUri:n.redirectUri,state:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,purpose:e.purpose});process.stderr.write(`Authorize the local Codex runner:
45
45
  ${o}
46
- `);try{return await(e.openAuthorizationUrl??tR)(o),await n.waitForToken(r_(e.waitForTokenTimeoutMs))}finally{n.close()}}async function o_(e){return await Mo(e)==="usable"}async function Mo(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 n of e.requiredScopes??[])t.searchParams.append("required_scope",n);let r=await fetch(t,{method:"GET",headers:{authorization:`Bearer ${e.accessToken}`}});switch(r.status){case 200:{let n=await r.json();return typeof n=="object"&&n!==null&&"ok"in n&&n.ok===!0?"usable":"rejected"}case 401:case 403:return"rejected";case 404:return"not_found";default:throw new Error(`local runner auth validation failed with HTTP ${r.status}`)}}function 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 BT(e,t){let r=t?.trim();if(r!==void 0&&r!=="")return r;let n=new URL(e).hostname.trim();return WT(n)&&n!=="localhost"?n:"127.0.0.1"}function WT(e){let t=e.split(".").map(o=>Number.parseInt(o,10));if(t.length!==4||t.some(o=>!Number.isInteger(o)||o<0||o>255))return e==="localhost";let[r,n]=t;return r===void 0||n===void 0?!1:r===10||r===127||r===172&&n>=16&&n<=31||r===192&&n===168||r===169&&n===254||r===100&&n>=64&&n<=127}function HT(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 KT(e){let t=await fetch(new URL("/api/v2/local-codex-runner/oauth/token",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({code:e.code,redirect_uri:e.redirectUri})}),r=await t.json();if(!t.ok||typeof r!="object"||r===null){let s=typeof r=="object"&&r!==null&&"error"in r&&typeof r.error=="string"?r.error:void 0;throw s==="admin_role_required"?new Error("This token requires a Linzumi admin account. Approve the request while signed in as an admin."):new Error(s!==void 0?`local runner OAuth token exchange failed: ${s}`:"local runner OAuth token exchange failed")}let n="access_token"in r?r.access_token:void 0;if(typeof n!="string"||n.trim()==="")throw new Error("local runner OAuth token response did not include access_token");let o="expires_in"in r?r.expires_in:void 0;return{accessToken:n,expiresInSeconds:typeof o=="number"?o:void 0,workspaceSlug:Ei(r,"workspace"),channelSlug:Ei(r,"channel")}}async function s_(e){let t=await fetch(new URL("/api/v2/local-codex-runner/device/start",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({workspace:e.workspaceSlug,channel:e.channelSlug,onboarding:e.onboarding,runner_id:e.identity?.runnerId,machine_fingerprint:e.identity?.machineFingerprint,hostname:e.identity?.hostname})}),r=await t.json();if(!t.ok||typeof r!="object"||r===null){let a=vl(r);throw new Error(a===void 0?`local runner device authorization failed to start (HTTP ${t.status})`:`local runner device authorization failed to start (server said: ${a})`)}let n="device_code"in r?r.device_code:void 0,o="user_code"in r?r.user_code:void 0,s="verification_uri"in r?r.verification_uri:void 0,i="expires_in"in r?r.expires_in:void 0;if(typeof n!="string"||n.trim()===""||typeof o!="string"||o.trim()===""||typeof s!="string"||s.trim()==="")throw new Error("local runner device authorization response was incomplete");return{deviceCode:n,userCode:o,verificationUri:s,expiresInSeconds:typeof i=="number"?i:void 0}}async function i_(e){let t=e.now??Date.now,r=typeof e.expiresInSeconds=="number"&&e.expiresInSeconds>=0?e.expiresInSeconds:600,n=t()+r*1e3;for(;t()<n;){let o=Math.max(0,Math.min(3e4,n-t())),s=new AbortController,i=setTimeout(()=>s.abort(),o+VT),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&&vl(c)==="authorization_pending")continue;if(!a.ok||typeof c!="object"||c===null){let l=vl(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 d="access_token"in c?c.access_token:void 0;if(typeof d!="string"||d.trim()==="")return{kind:"rejected",reason:"device token response did not include access_token",httpStatus:a.status};let u="expires_in"in c?c.expires_in:void 0;return{kind:"token",token:{accessToken:d,expiresInSeconds:typeof u=="number"?u:void 0,workspaceSlug:Ei(c,"workspace"),channelSlug:Ei(c,"channel")}}}return{kind:"code_expired"}}function vl(e){if(!(typeof e!="object"||e===null||!("error"in e)))return typeof e.error=="string"?e.error:void 0}function a_(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 Ei(e,t){let r=e[t];return typeof r=="string"&&r.trim()!==""?r:void 0}function GT(e){return new Promise((t,r)=>{let n,o,s=!1,i=new Promise((u,l)=>{n=u,o=l});i.catch(()=>{});let a=u=>s?!1:(s=!0,u(),!0),c=`http://${e.host}/callback`,d=JT((u,l)=>{(async()=>{try{let m=new URL(u.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}`))),Ao(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()===""){Ao(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)),Ao(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(()=>n?.(y));Ao(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)),Ao(l,{title:"Authorization callback failed",body:"Return to your terminal and rerun the bootstrap command.",status:500})}})()});d.once("error",r),d.listen(0,e.host,()=>{let u=d.address();if(!QT(u)){r(new Error("local runner OAuth callback server did not bind to a TCP port"));return}c=`http://${e.host}:${u.port}/callback`,t({redirectUri:c,waitForToken:l=>{let m=r_(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."))),d.close()},m);return f.unref?.(),i.finally(()=>{clearTimeout(f)}).catch(()=>{}),i},close:()=>{d.close()}})})})}function QT(e){return typeof e=="object"&&e!==null&&typeof e.port=="number"}function Ao(e,t){e.writeHead(t.status,{"content-type":"text/html; charset=utf-8"}),e.end(XT(t))}var YT='<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path fill="currentColor" d="M206.7,82.37l2.55-6.45,2.01-3.63c.67-1.21,1.07-1.88,2.55-3.63,1.34-1.61,3.36-4.43,5.64-6.58,2.42-2.24,5.06-4.3,7.93-6.18,3.92-2.53,8.17-4.52,12.63-5.91,1.79-.63,4.03-1.16,6.72-1.61,6.1-.88,12.29-.92,18.4-.13,2.69.45,5.06,1.03,7.12,1.75,2.15.67,3.49,1.07,5.64,2.15,4.55,2.16,8.87,4.77,12.9,7.79,1.61,1.34,2.42,2.15,4.16,4.16l5.91,7.66c1.34,2.01,1.34,2.28,2.15,4.03l2.55,6.58c.67,1.34-.13,1.34,1.07.94,1.21-.27,4.3-2.01,6.45-2.82,4.7-1.83,9.62-3,14.64-3.49,2.42-.27,3.76-.54,7.12-.27s9.27,1.21,12.76,2.15c3.63.94,6.58,2.55,8.73,3.49,2.15,1.07,2.55,1.48,4.16,2.55,3.49,2.51,6.77,5.29,9.81,8.33,1.52,1.7,3.04,3.58,4.57,5.64,2.74,4.49,4.86,9.32,6.31,14.37.67,2.28,1.07,3.49,1.34,6.72.27,3.22,0,10.48.4,12.76.27,2.28.27.67,1.61.94,1.48.27,4.3,0,6.72.4,2.42.27,4.97.85,7.66,1.75,6.76,2.32,13.01,5.92,18.4,10.61,2.28,1.75,2.96,2.69,4.3,4.3,3.51,3.93,6.32,8.43,8.33,13.3,1.07,2.15,1.21,2.28,1.88,5.1.54,2.96,1.61,8.19,1.61,12.36s-.81,9.67-1.34,12.76c-.67,3.22-1.07,4.03-2.15,6.18-2.16,4.54-4.81,8.82-7.93,12.76-1.25,1.61-2.6,3-4.03,4.16-1.48,1.34-2.69,2.42-4.7,3.76-3.79,2.34-7.74,4.4-11.82,6.18l-6.58,2.15c-2.06.45-4.12.72-6.18.81l-7.25.13c-2.28,0-2.82.27-6.58-.4-3.76-.81-11.69-2.82-15.99-4.3-4.16-1.34-6.31-2.69-9.67-4.43-3.49-1.75-10.48-6.18-12.9-7.39-8.26-4.54-16.78-8.58-25.52-12.09-4.3-1.75-9.27-3.22-11.82-4.03-2.55-.81-5.24-1.61-7.66-2.15-8.39-2.25-16.99-3.6-25.66-4.03-3.9-.27-4.84-.27-8.19-.13-3.67-.09-7.79.04-12.36.4-7.9.79-15.75,2.04-23.51,3.76-8.37,2.26-16.62,4.95-24.72,8.06-3.22,1.34-2.82.81-9.13,4.16-6.31,3.36-22.03,12.22-28.75,15.58-6.72,3.36-8.73,3.49-11.82,4.43-3.09,1.07-4.3,1.21-6.58,1.61-7.3,1.09-14.71,1.18-22.03.27-2.55-.54-5.78-1.61-7.79-2.28-2.01-.54-2.15-.67-4.03-1.75-2.02-1.07-5.64-3.22-7.79-4.7-3.24-2.15-6.14-4.77-8.6-7.79-1.34-1.52-2.69-3.36-4.03-5.51-1.52-2.51-2.96-5.24-4.3-8.19-2.03-5.46-3.03-11.24-2.96-17.06,0-2.96.13-6.72.67-9.67.54-2.87,1.34-5.6,2.42-8.19,4.24-10.52,12.04-19.22,22.03-24.58,5.19-2.98,10.88-4.98,16.79-5.91,2.55-.4,5.37-.13,6.72-.4,1.34-.27,1.34,1.34,1.61-.94.4-2.28,0-9.4.4-12.76.27-3.36.81-4.97,1.48-7.25,1.87-6.19,4.88-11.97,8.87-17.06,3.47-3.98,7.39-7.54,11.69-10.61,4.43-2.61,9.11-4.77,13.97-6.45,2.55-.67,6.99-1.34,9.13-1.75,2.15-.27,1.88-.13,3.63-.13,1.79-.09,4.03,0,6.72.27,2.69.18,5.73.72,9.13,1.61,3.49,1.07,9.27,4.03,11.28,4.7s.4.27,1.07-.94ZM512.27,255.7c0,141.39-114.62,256-256,256S.27,397.09.27,255.7,114.89-.3,256.27-.3s256,114.62,256,256ZM449.33,352.66c14.67-29.16,22.94-62.09,22.94-96.95,0-119.29-96.71-216-216-216S40.27,136.41,40.27,255.7c0,41.89,11.94,80.98,32.57,114.09,1.7,1.79,2.94.65,3.05-.57.27-1.61,2.75-20.85,4.43-27.27,1.87-7.6,4.52-14.98,7.93-22.03,1.75-3.49,3.76-7.93,6.18-11.82,8.77-13.95,19.75-26.38,32.51-36.81,7.24-5.32,14.87-10.08,22.84-14.24,9.74-4.78,20.09-8.22,30.76-10.21,4.03-.99,7.61-1.66,10.75-2.02,3.36-.54,5.78-.54,9.27-.94,3.49-.54,9.32-1.16,11.82-2.01,6.65-2.27,5.64-6.72,3.09-7.52-2.55-.81-9.67-1.88-13.84-2.96-4.16-1.21-8.73-2.82-11.28-3.76-2.55-.94-2.28-.94-3.9-2.02l-5.91-4.03c-.94-.94-1.34-.94.54-2.02l10.21-5.51c2.01-1.07,1.75-.67,3.09-.13,1.34.67,4.3,2.42,6.72,3.36,7.2,2.69,14.96,3.52,22.57,2.42,1.34-.27,1.34-.54,1.61-1.21.27-.67.81-.94-.13-2.69-.94-1.88-4.43-6.58-5.64-8.46l-1.21-2.28c-.27-.45-1.07-1.07,1.21-1.75,2.42-.54,10.48-2.58,12.9-2.82.86-.09.67,0,1.75,1.07,1.07,1.07,3.09,3.63,4.84,5.24,1.88,1.61,4.43,3.22,6.18,4.3,2.8,1.71,5.99,2.68,9.27,2.82,1.88,0,4.97-.13,7.12-.67,2.15-.4,3.63-.94,5.64-2.02,2.01-1.07,4.7-2.69,6.72-4.43,2.01-1.75,3.49-5.1,5.64-6.04,2.15-.81,4.97.54,7.12.94,2.28.4,4.97,1.21,6.18,1.61,1.21.4,2.01.4.67,2.28l-8.06,10.34c-1.34,1.88.13,5.51,1.21,5.64l5.64.27c2.28-.13,4.43.13,7.66-.67,3.36-.81,9.27-2.96,11.82-3.9,2.69-.94,3.22-1.34,4.16-2.01.81-.54,1.39-1.03,1.75-1.48.45-.27.67-1.07,2.82,0s9.4,4.97,11.28,6.18c2.01,1.21,1.07.94,0,1.75l-5.51,3.9c-1.48.94-1.07.94-3.22,1.88-2.15,1.07-6.58,2.96-9.67,4.03s-4.03,1.75-8.73,2.69c-4.7.81-14.51,1.75-19.48,2.55-4.97.81-7.93,1.34-10.34,2.01-2.28.67-2.15.94-3.49,1.88-1.48,1.07-2.69,1.61-4.97,3.9-2.28,2.28-5.91,6.85-8.73,9.81-2.82,2.96-6.45,6.04-8.33,7.79-2.02,1.61-1.61,1.34-3.36,2.42l-6.99,4.03-4.03,2.02-6.72,2.15c-2.42.67-3.9,1.21-7.66,2.01l-14.91,2.82c-3.63.81-4.3,1.07-7.12,2.01-2.96,1.07-6.22,2.46-9.81,4.16-3.22,1.43-6.81,3.45-10.75,6.04-13.6,9.14-24.61,21.63-31.97,36.27-2.01,3.76-2.96,6.58-3.9,9.27-1.07,2.69-1.61,4.03-2.28,6.58-.67,2.69-1.48,5.24-2.15,9.27-.54,4.16-1.48,11.15-1.75,15.45-.27,4.16-.27,6.04,0,10.21l1.88,14.91c.67,3.76,1.48,5.91,2.15,8.19l1.88,5.64c.99,2.6,2.42,5.78,4.3,9.54,2.15,3.76,5.37,9.13,8.06,13.03,10.08,14.51,23.81,26.36,40.17,33.05,22.55,9.22,43.32,10.46,61.89,10.46,3.25,0,6.49-.09,9.71-.23,3.07-.42,2.74-6.09,10.48-9.42,5.26-2.26,13.7-2.42,14.91-2.55,1.07-.13-5.24-4.57-7.79-6.45-2.55-1.88-4.97-4.3-6.72-5.91-1.75-1.75-2.42-2.28-3.9-4.16-1.61-1.88-3.9-5.51-5.24-7.12-1.34-1.61-1.48-2.28-2.55-2.55-.98-.27-2.37-.09-4.16.54-1.88.4-5.37,1.21-7.12,1.88-1.75.67-2.02.81-3.09,2.01-1.07,1.07-2.69,3.76-3.63,4.7-.81.94-.67.67-1.48.94-.81.27-2.42.67-3.63.54-1.34-.18-2.55-.58-3.63-1.21-.81-.81-1.48-2.42-1.88-3.22-.4-.94-.54-1.21-.54-2.15l.4-3.49c.18-1.52.72-3.27,1.61-5.24.94-1.75,1.88-3.49,4.16-5.64,2.15-2.02,7.52-5.51,9.13-6.85,1.61-1.34,1.21-2.15.54-3.63-2.69-5.16-6.33-9.77-10.75-13.57-2.42-1.88-5.51-3.22-7.79-4.3-2.15-1.21-2.01-1.21-5.78-2.42-3.76-1.07-13.16-3.63-16.79-4.84-3.63-1.07-2.82-.94-5.1-2.01l-8.19-4.3c-1.75-.94-1.34-.54-2.69-1.61l-5.51-4.57c-2.18-1.93-3.77-4.45-4.57-7.25-.45-1.52-.45-2.87,0-4.03.4-1.34,0-1.21,2.01-3.63,2.15-2.42,7.25-7.93,10.21-10.75,3.09-2.82,4.97-4.03,7.79-6.04,5.43-3.82,11.09-7.32,16.93-10.48,2.42-1.21,5.37-2.02,7.12-2.69,1.61-.81,2.64-1.43,3.09-1.88.54-.4.67.54.4-.94-.4-1.48-1.88-4.97-2.28-7.66-.4-2.82-.4-6.18,0-8.73.36-2.42,1.03-4.66,2.01-6.72,1.16-2.24,2.46-4.3,3.9-6.18,1.34-1.7,2.91-3.04,4.7-4.03,1.75-1.07,4.3-2.01,6.18-2.42,1.61-.45,3.13-.58,4.57-.4l4.57.27c1.34.18,2.55.49,3.63.94,1.07.54,2.55,1.48,3.09,2.01.4.67.67.13-.27,1.61-1.07,1.48-4.16,4.57-5.78,7.12-1.61,2.69-2.96,5.6-4.03,8.73-.94,3.22-1.88,8.73-2.01,10.75-.27,2.15,4.7,1.75,5.1.54.54-1.07.27-2.55,1.07-5.1.81-2.42,2.42-7.25,3.9-9.81,1.34-2.55,2.82-3.76,4.57-5.51,1.79-1.88,3.67-3.45,5.64-4.7,1.88-1.21,3.22-1.75,5.64-2.28,2.42-.4,6.18-.67,8.73-.67,2.42,0,3.9.13,6.18.94,2.15.81,5.24,2.69,7.12,4.03,1.79,1.52,3.22,3.09,4.3,4.7,1.21,1.61,1.88,2.96,2.55,5.1.67,2.15,1.34,5.1,1.34,7.66,0,2.69-.54,6.04-1.21,8.19-.63,2.24-1.43,4.03-2.42,5.37-.67,1.34-.94,1.61-2.15,2.82-1.21,1.34-3.22,3.22-4.97,4.57-1.75,1.21-4.43,2.28-5.51,3.22-.94.81-.4,2.51.4,2.42.94.13,1.75.4,4.57-.13,2.82-.4,8.33-2.15,12.22-2.82,11.99-2.63,24.41-2.63,36.4,0,3.22.54,4.16,1.07,6.31,1.75l6.04,2.28c2.42,1.07,5.51,2.42,8.19,4.16,8.15,5.36,15.14,12.3,20.55,20.42,1.61,2.42,2.87,4.66,3.76,6.72,1.85,4.51,3.42,9.13,4.7,13.84.67,2.82,1.21,4.43,1.61,8.19.4,3.76.4,11.82.54,14.37.27,2.55-.13,2.28,1.75,1.34,1.75-.94,20.09-7.74,30.63-31.57,9.16-20.71,1.9-47.26-2.28-55.34-1.75-3.22-4.16-6.99-6.31-9.81-4.44-5.14-9.6-9.62-15.31-13.3-2.96-1.7-5.55-3.09-7.79-4.16-4.33-1.6-8.77-2.86-13.3-3.76l-6.18-.4h-14.37c-2.69-.27-3.1-3.18-.54-4.3,3.64-1.58,9.88-2.63,18.54-2.42,8.78.21,14.91,1.88,17.33,2.55,13.98,3.94,30.19,16.65,38.55,30.76,6.61,11.16,9.81,29.96,9.81,29.96.37,1.75,2.18,1.66,3.08.35ZM232.78,345.3c-3.91,0-7.08,3.17-7.08,7.08s3.17,7.08,7.08,7.08,7.08-3.17,7.08-7.08-3.17-7.08-7.08-7.08Z"/></svg>';function XT(e){let t=e.status>=200&&e.status<300,r=t?"badge badge--success":"badge badge--notice",n=t?'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M5 12.5l4.2 4.2L19 7"/></svg>':'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 7v6M12 17h.01"/></svg>';return`<!doctype html>
46
+ `);try{return await(e.openAuthorizationUrl??nR)(o),await n.waitForToken(r_(e.waitForTokenTimeoutMs))}finally{n.close()}}async function o_(e){return await Mo(e)==="usable"}async function Mo(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 n of e.requiredScopes??[])t.searchParams.append("required_scope",n);let r=await fetch(t,{method:"GET",headers:{authorization:`Bearer ${e.accessToken}`}});switch(r.status){case 200:{let n=await r.json();return typeof n=="object"&&n!==null&&"ok"in n&&n.ok===!0?"usable":"rejected"}case 401:case 403:return"rejected";case 404:return"not_found";default:throw new Error(`local runner auth validation failed with HTTP ${r.status}`)}}function 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 HT(e,t){let r=t?.trim();if(r!==void 0&&r!=="")return r;let n=new URL(e).hostname.trim();return KT(n)&&n!=="localhost"?n:"127.0.0.1"}function KT(e){let t=e.split(".").map(o=>Number.parseInt(o,10));if(t.length!==4||t.some(o=>!Number.isInteger(o)||o<0||o>255))return e==="localhost";let[r,n]=t;return r===void 0||n===void 0?!1:r===10||r===127||r===172&&n>=16&&n<=31||r===192&&n===168||r===169&&n===254||r===100&&n>=64&&n<=127}function GT(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 QT(e){let t=await fetch(new URL("/api/v2/local-codex-runner/oauth/token",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({code:e.code,redirect_uri:e.redirectUri})}),r=await t.json();if(!t.ok||typeof r!="object"||r===null){let s=typeof r=="object"&&r!==null&&"error"in r&&typeof r.error=="string"?r.error:void 0;throw s==="admin_role_required"?new Error("This token requires a Linzumi admin account. Approve the request while signed in as an admin."):new Error(s!==void 0?`local runner OAuth token exchange failed: ${s}`:"local runner OAuth token exchange failed")}let n="access_token"in r?r.access_token:void 0;if(typeof n!="string"||n.trim()==="")throw new Error("local runner OAuth token response did not include access_token");let o="expires_in"in r?r.expires_in:void 0;return{accessToken:n,expiresInSeconds:typeof o=="number"?o:void 0,workspaceSlug:Ei(r,"workspace"),channelSlug:Ei(r,"channel")}}async function s_(e){let t=await fetch(new URL("/api/v2/local-codex-runner/device/start",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({workspace:e.workspaceSlug,channel:e.channelSlug,onboarding:e.onboarding,runner_id:e.identity?.runnerId,machine_fingerprint:e.identity?.machineFingerprint,hostname:e.identity?.hostname})}),r=await t.json();if(!t.ok||typeof r!="object"||r===null){let a=vl(r);throw new Error(a===void 0?`local runner device authorization failed to start (HTTP ${t.status})`:`local runner device authorization failed to start (server said: ${a})`)}let n="device_code"in r?r.device_code:void 0,o="user_code"in r?r.user_code:void 0,s="verification_uri"in r?r.verification_uri:void 0,i="expires_in"in r?r.expires_in:void 0;if(typeof n!="string"||n.trim()===""||typeof o!="string"||o.trim()===""||typeof s!="string"||s.trim()==="")throw new Error("local runner device authorization response was incomplete");return{deviceCode:n,userCode:o,verificationUri:s,expiresInSeconds:typeof i=="number"?i:void 0}}async function i_(e){let t=e.now??Date.now,r=typeof e.expiresInSeconds=="number"&&e.expiresInSeconds>=0?e.expiresInSeconds:600,n=t()+r*1e3;for(;t()<n;){let o=Math.max(0,Math.min(3e4,n-t())),s=new AbortController,i=setTimeout(()=>s.abort(),o+WT),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&&vl(c)==="authorization_pending")continue;if(!a.ok||typeof c!="object"||c===null){let l=vl(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 d="access_token"in c?c.access_token:void 0;if(typeof d!="string"||d.trim()==="")return{kind:"rejected",reason:"device token response did not include access_token",httpStatus:a.status};let u="expires_in"in c?c.expires_in:void 0;return{kind:"token",token:{accessToken:d,expiresInSeconds:typeof u=="number"?u:void 0,workspaceSlug:Ei(c,"workspace"),channelSlug:Ei(c,"channel")}}}return{kind:"code_expired"}}function vl(e){if(!(typeof e!="object"||e===null||!("error"in e)))return typeof e.error=="string"?e.error:void 0}function a_(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 Ei(e,t){let r=e[t];return typeof r=="string"&&r.trim()!==""?r:void 0}function YT(e){return new Promise((t,r)=>{let n,o,s=!1,i=new Promise((u,l)=>{n=u,o=l});i.catch(()=>{});let a=u=>s?!1:(s=!0,u(),!0),c=`http://${e.host}/callback`,d=VT((u,l)=>{(async()=>{try{let m=new URL(u.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}`))),Ao(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()===""){Ao(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)),Ao(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(()=>n?.(y));Ao(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)),Ao(l,{title:"Authorization callback failed",body:"Return to your terminal and rerun the bootstrap command.",status:500})}})()});d.once("error",r),d.listen(0,e.host,()=>{let u=d.address();if(!XT(u)){r(new Error("local runner OAuth callback server did not bind to a TCP port"));return}c=`http://${e.host}:${u.port}/callback`,t({redirectUri:c,waitForToken:l=>{let m=r_(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."))),d.close()},m);return f.unref?.(),i.finally(()=>{clearTimeout(f)}).catch(()=>{}),i},close:()=>{d.close()}})})})}function XT(e){return typeof e=="object"&&e!==null&&typeof e.port=="number"}function Ao(e,t){e.writeHead(t.status,{"content-type":"text/html; charset=utf-8"}),e.end(tR(t))}var eR='<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 tR(e){let t=e.status>=200&&e.status<300,r=t?"badge badge--success":"badge badge--notice",n=t?'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M5 12.5l4.2 4.2L19 7"/></svg>':'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 7v6M12 17h.01"/></svg>';return`<!doctype html>
47
47
  <html lang="en">
48
48
  <head>
49
49
  <meta charset="utf-8" />
@@ -141,11 +141,11 @@ ${o}
141
141
  <div class="${r}">${n}</div>
142
142
  <h1>${bl(e.title)}</h1>
143
143
  <p>${bl(e.body)}</p>
144
- <div class="logo">${YT}</div>
144
+ <div class="logo">${eR}</div>
145
145
  </main>
146
146
  </body>
147
- </html>`}function bl(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function eR(e){return e.replace(/[&^|<>()%"]/g,t=>`^${t}`)}function tR(e){let t=process.platform==="darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",r=process.platform==="win32"?["/c","start","",eR(e)]:[e];return new Promise(n=>{yl("process.spawn",{command:t,args:r,purpose:"oauth.open_browser"});let o=UT(t,r,{stdio:"ignore",detached:!0});yl("process.spawned",{command:t,args:r,pid:o.pid,purpose:"oauth.open_browser"}),o.on("error",()=>n()),o.on("spawn",()=>{o.unref(),n()})})}function c_(){return dR(aR(),".linzumi","auth.json")}function Ii(e,t=c_()){if(!wl(t))return;let r=xl(kl(t,"utf8")),n=Be(e),o=r.local_codex_runner?.[n];if(!(o===void 0||o.access_token.trim()==="")&&!(o.expires_at!==void 0&&Date.parse(o.expires_at)<=Date.now()))return{accessToken:o.access_token,kandanBaseUrl:n,issuedAt:o.issued_at,expiresAt:o.expires_at}}function d_(e){if(!wl(e))throw new Error(`missing personal-agent delegation auth file: ${e}`);let r=xl(kl(e,"utf8")).personal_agent_delegation;if(r===void 0||r.access_token.trim()==="")throw new Error("personal-agent delegation auth file is missing access_token");if(r.expires_at!==void 0&&Date.parse(r.expires_at)<=Date.now())throw new Error("personal-agent delegation auth file token is expired");return{accessToken:r.access_token,issuedAt:r.issued_at,expiresAt:r.expires_at}}function u_(e){let t=e.authFilePath??c_(),r=wl(t)?xl(kl(t,"utf8")):{version:1},n=Be(e.kandanUrl),o=new Date,s=e.expiresInSeconds===void 0?void 0:new Date(o.getTime()+e.expiresInSeconds*1e3).toISOString(),i={...r,version:1,local_codex_runner:{...r.local_codex_runner??{},[n]:{access_token:e.accessToken,issued_at:o.toISOString(),expires_at:s}}};nR(cR(t),{recursive:!0});let a=`${t}.tmp.${process.pid}.${rR(6).toString("hex")}`;try{iR(a,`${JSON.stringify(i,null,2)}
148
- `,{encoding:"utf8",mode:384}),oR(a,t)}catch(c){try{sR(a,{force:!0})}catch{}throw c}return{accessToken:e.accessToken,kandanBaseUrl:n,issuedAt:o.toISOString(),expiresAt:s}}function xl(e){let t=JSON.parse(e);if(typeof t!="object"||t===null||Array.isArray(t))throw new Error("Kandan auth cache must contain a JSON object");let r=t,n=r.local_codex_runner,o=r.personal_agent_delegation;if(n!==void 0&&(typeof n!="object"||n===null||Array.isArray(n)))throw new Error("Kandan auth cache local_codex_runner must be an object");if(o!==void 0&&(typeof o!="object"||o===null||Array.isArray(o)))throw new Error("Kandan auth cache personal_agent_delegation must be an object");return{version:1,local_codex_runner:lR(n),personal_agent_delegation:uR(o)}}function uR(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.access_token,r=e.issued_at,n=e.expires_at;if(!(typeof t!="string"||typeof r!="string"))return{access_token:t,issued_at:r,expires_at:typeof n=="string"?n:void 0}}function lR(e){if(!(typeof e!="object"||e===null||Array.isArray(e)))return Object.fromEntries(Object.entries(e).flatMap(([t,r])=>{if(typeof r!="object"||r===null||Array.isArray(r))return[];let n=r.access_token,o=r.issued_at,s=r.expires_at;return typeof n!="string"||typeof o!="string"?[]:[[t,{access_token:n,issued_at:o,expires_at:typeof s=="string"?s:void 0}]]}))}var pR=3,mR=3600*1e3,fR=5e3,hR=5e3,gR=6e4;function yR(e){return e.cycle<=pR?"prompt":e.lastLoudPromptAtMs===void 0||e.nowMs-e.lastLoudPromptAtMs>=mR?"summary":e.isInteractive?"refresh_line":"silent"}function _R(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 bl(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function rR(e){return e.replace(/[&^|<>()%"]/g,t=>`^${t}`)}function nR(e){let t=process.platform==="darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",r=process.platform==="win32"?["/c","start","",rR(e)]:[e];return new Promise(n=>{yl("process.spawn",{command:t,args:r,purpose:"oauth.open_browser"});let o=JT(t,r,{stdio:"ignore",detached:!0});yl("process.spawned",{command:t,args:r,pid:o.pid,purpose:"oauth.open_browser"}),o.on("error",()=>n()),o.on("spawn",()=>{o.unref(),n()})})}function c_(){return lR(dR(),".linzumi","auth.json")}function Ii(e,t=c_()){if(!wl(t))return;let r=xl(kl(t,"utf8")),n=Be(e),o=r.local_codex_runner?.[n];if(!(o===void 0||o.access_token.trim()==="")&&!(o.expires_at!==void 0&&Date.parse(o.expires_at)<=Date.now()))return{accessToken:o.access_token,kandanBaseUrl:n,issuedAt:o.issued_at,expiresAt:o.expires_at}}function d_(e){if(!wl(e))throw new Error(`missing personal-agent delegation auth file: ${e}`);let r=xl(kl(e,"utf8")).personal_agent_delegation;if(r===void 0||r.access_token.trim()==="")throw new Error("personal-agent delegation auth file is missing access_token");if(r.expires_at!==void 0&&Date.parse(r.expires_at)<=Date.now())throw new Error("personal-agent delegation auth file token is expired");return{accessToken:r.access_token,issuedAt:r.issued_at,expiresAt:r.expires_at}}function u_(e){let t=e.authFilePath??c_(),r=wl(t)?xl(kl(t,"utf8")):{version:1},n=Be(e.kandanUrl),o=new Date,s=e.expiresInSeconds===void 0?void 0:new Date(o.getTime()+e.expiresInSeconds*1e3).toISOString(),i={...r,version:1,local_codex_runner:{...r.local_codex_runner??{},[n]:{access_token:e.accessToken,issued_at:o.toISOString(),expires_at:s}}};sR(uR(t),{recursive:!0});let a=`${t}.tmp.${process.pid}.${oR(6).toString("hex")}`;try{cR(a,`${JSON.stringify(i,null,2)}
148
+ `,{encoding:"utf8",mode:384}),iR(a,t)}catch(c){try{aR(a,{force:!0})}catch{}throw c}return{accessToken:e.accessToken,kandanBaseUrl:n,issuedAt:o.toISOString(),expiresAt:s}}function xl(e){let t=JSON.parse(e);if(typeof t!="object"||t===null||Array.isArray(t))throw new Error("Kandan auth cache must contain a JSON object");let r=t,n=r.local_codex_runner,o=r.personal_agent_delegation;if(n!==void 0&&(typeof n!="object"||n===null||Array.isArray(n)))throw new Error("Kandan auth cache local_codex_runner must be an object");if(o!==void 0&&(typeof o!="object"||o===null||Array.isArray(o)))throw new Error("Kandan auth cache personal_agent_delegation must be an object");return{version:1,local_codex_runner:mR(n),personal_agent_delegation:pR(o)}}function pR(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.access_token,r=e.issued_at,n=e.expires_at;if(!(typeof t!="string"||typeof r!="string"))return{access_token:t,issued_at:r,expires_at:typeof n=="string"?n:void 0}}function mR(e){if(!(typeof e!="object"||e===null||Array.isArray(e)))return Object.fromEntries(Object.entries(e).flatMap(([t,r])=>{if(typeof r!="object"||r===null||Array.isArray(r))return[];let n=r.access_token,o=r.issued_at,s=r.expires_at;return typeof n!="string"||typeof o!="string"?[]:[[t,{access_token:n,issued_at:o,expires_at:typeof s=="string"?s:void 0}]]}))}var fR=3,hR=3600*1e3,gR=5e3,yR=5e3,_R=6e4;function bR(e){return e.cycle<=fR?"prompt":e.lastLoudPromptAtMs===void 0||e.nowMs-e.lastLoudPromptAtMs>=hR?"summary":e.isInteractive?"refresh_line":"silent"}function vR(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}
@@ -155,10 +155,10 @@ Code: ${e.userCode}
155
155
  Open: ${e.verificationUri}
156
156
  `;case"refresh_line":return`\r\x1B[2KCode: ${e.userCode} (waiting ${l_(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 l_(e){let t=Math.floor(e/6e4),r=Math.floor(t/60),n=t%60;return r>0?`${r}h ${n}m`:`${n}m`}async function p_(e){let t=e.deps??{},r=t.startDeviceAuthorization??s_,n=t.pollDeviceCodeForToken??i_,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(_R(g))),d=t.log??(()=>{}),u=Be(e.kandanUrl),l=o(),m=0,f,h=0;for(;;){let g;try{g=await r({httpBaseUrl:u,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:e.identity})}catch(w){h+=1;let k=Math.min(gR,hR*2**(h-1)),j=w instanceof Error?w.message:String(w);c({kind:"start_failed",reason:j,retryInMs:k}),d("device_wait.start_failed",{reason:j,retryInMs:k,attempt:h}),await s(k);continue}h=0,m+=1;let y=yR({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}),d("device_wait.code_issued",{cycle:m,verificationUri:g.verificationUri});let v;for(;v=await n({httpBaseUrl:u,deviceCode:g.deviceCode,expiresInSeconds:g.expiresInSeconds}),v.kind==="transient";)c({kind:"transient",reason:v.reason,waitedMs:o()-l}),d("device_wait.transient_poll_failure",{cycle:m,reason:v.reason,httpStatus:v.httpStatus??null}),await s(fR);switch(v.kind){case"token":return d("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":d("device_wait.code_retired",{cycle:m,outcome:v.kind});continue;case"rejected":c({kind:"transient",reason:a_(v.reason,v.httpStatus),waitedMs:o()-l}),d("device_wait.code_rejected",{cycle:m,reason:v.reason??null,httpStatus:v.httpStatus});continue}}}import{randomUUID as k_}from"node:crypto";import{chmodSync as y_,existsSync as Tl,linkSync as wR,mkdirSync as x_,readFileSync as S_,realpathSync as L4,unlinkSync as kR,writeFileSync as $_}from"node:fs";import{homedir as xR}from"node:os";import{basename as $l,dirname as No,join as zl,resolve as __}from"node:path";var m_="wss://serve.linzumi.com";import{homedir as bR}from"node:os";import{isAbsolute as I4,relative as C4,resolve as vR}from"node:path";import{delimiter as x4,isAbsolute as S4,join as f_,parse as $4,resolve as z4,sep as P4}from"node:path";var T4=[".volta",".nvm",".npm",".asdf",".fnm",".bun",f_(".cargo","bin"),f_(".local","bin")];function g_(e){return e==="~"?h_():e.startsWith("~/")?vR(h_(),e.slice(2)):e}function h_(){let e=process.env.HOME;return e===void 0||e.trim()===""?bR():e}var Sl=384,Dt="prod";function Pn(e=process.env){let t=e.LINZUMI_CONFIG_FILE;return t!==void 0&&t.trim()!==""?__(g_(t)):__(xR(),".linzumi","config.json")}function Do(e){let t=Be(e),r=Be(m_);return t===r?Dt:t}function SR(e){let t=Do(e);return t===Dt?Dt:Buffer.from(t).toString("base64url")}function b_(e=Pn()){return P_(e)}function v_(e,t=Pn()){return P_(t,e)}function z_(e,t=Pn(),r=E_){if(Do(e)===Dt)return $R(t,r);let n=v_(e,t);if(n.runnerId!==void 0)return n.runnerId;let o=O_(t,r,e),s=v_(e,t),i=s.runnerId;return i!==void 0?i:(T_({...s,runnerId:o},t,e),o)}function $R(e=Pn(),t=E_){let r=b_(e);if(r.runnerId!==void 0)return r.runnerId;let n=O_(e,t),o=b_(e),s=o.runnerId;return s!==void 0?s:(PR({...o,runnerId:n},e),n)}function zR(e=Pn(),t){return t!==void 0&&Do(t)!==Dt?zl(No(e),`${$l(e)}.${SR(t)}.runner-id`):zl(No(e),`${$l(e)}.runner-id`)}function PR(e,t=Pn()){T_(e,t)}function TR(e,t){Tl(e)&&y_(e,Sl),$_(e,`${JSON.stringify(t,null,2)}
159
- `,{encoding:"utf8",mode:Sl}),y_(e,Sl)}function Pl(e){if(!Tl(e))return{version:1,allowedCwds:[]};let t=JSON.parse(S_(e,"utf8"));if(!R_(t))throw new Error(`invalid Linzumi config: ${e}`);return t}function P_(e,t){let r=Pl(e),n=t===void 0?Dt:Do(t),o=n===Dt?r:r[n]??jR();if(!j_(o))throw new Error(`invalid Linzumi config section ${n}: ${e}`);let s=I_(o.allowedCwds);return{version:1,...o.machineId===void 0?{}:{machineId:o.machineId},...o.runnerId===void 0?{}:{runnerId:o.runnerId},allowedCwds:s}}function T_(e,t,r){let n=r===void 0?Dt:Do(r),o=RR(e),s=n===Dt?{...Pl(t),...o,version:1}:{...Pl(t),version:1,[n]:o};x_(No(t),{recursive:!0}),TR(t,s)}function R_(e){return typeof e=="object"&&e!==null&&e.version===1&&j_(e)}function j_(e){return typeof e=="object"&&e!==null&&Array.isArray(e.allowedCwds)&&OR(e.machineId)&&Rl(e.runnerId)&&e.allowedCwds.every(t=>typeof t=="string"&&t.trim()!=="")}function RR(e){if(!R_(e))throw new Error("invalid Linzumi config");let t=I_(e.allowedCwds);return{...e.machineId===void 0?{}:{machineId:e.machineId},...e.runnerId===void 0?{}:{runnerId:e.runnerId},allowedCwds:t}}function jR(){return{allowedCwds:[]}}function OR(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 Rl(e){return e===void 0||typeof e=="string"&&/^[a-zA-Z0-9_.-]+$/.test(e)}function O_(e,t,r){let n=zR(e,r);if(Tl(n))return w_(n);let o=t();if(!Rl(o))throw new Error(`invalid generated Linzumi runner id: ${o}`);x_(No(n),{recursive:!0});let s=zl(No(n),`.${$l(n)}.${process.pid}.${k_()}.tmp`);$_(s,`${o}
160
- `,{encoding:"utf8",flag:"wx"});try{return wR(s,n),o}catch(i){if(ER(i,"EEXIST"))return w_(n);throw i}finally{kR(s)}}function w_(e){let t=S_(e,"utf8").trim();if(!Rl(t))throw new Error(`invalid Linzumi runner id seed: ${e}`);return t}function E_(){return`runner-${k_()}`}function I_(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t!==""))]}function ER(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}import{execFileSync as IR}from"node:child_process";import{createHash as CR}from"node:crypto";import{readFileSync as AR}from"node:fs";var MR="linzumi-machine-fingerprint:v1:";function NR(e,t){return IR(e,[...t],{encoding:"utf8",timeout:5e3,maxBuffer:1024*1024})}function DR(e){return AR(e,"utf8")}function LR(e={}){let t=e.platform??process.platform,r=e.execFile??NR,n=e.readFile??DR;try{if(t==="darwin"){let i=r("ioreg",["-rd1","-c","IOPlatformExpertDevice"]).match(/"IOPlatformUUID"\s*=\s*"([0-9A-Fa-f-]{36})"/)?.[1];return i===void 0?void 0:i.toLowerCase()}if(t==="linux"){for(let o of["/etc/machine-id","/var/lib/dbus/machine-id"])try{let s=n(o).trim().toLowerCase();if(/^[0-9a-f]{32}$/.test(s))return s}catch{}return}return}catch{return}}function C_(e={}){let t=LR(e);return t===void 0?void 0:`mfp-${CR("sha256").update(`${MR}${t}`).digest("hex").slice(0,32)}`}async function A_(e,t={readCachedToken:Ii,validateToken:Mo,acquireAndCacheToken:JR}){if(e.explicitToken!==void 0)return e.explicitToken;let r=t.readCachedToken(e.kandanUrl,e.authFilePath);if(r!==void 0){let o=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:r.accessToken,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes});if(o==="usable")return r.accessToken;e.reportRejectedCachedToken?.(o)}let n=await t.acquireAndCacheToken(e);return e.workspaceSlug!==void 0&&await UR(e,t,n),n}async function UR(e,t,r){let n;try{n=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes})}catch{return}if(n==="not_found")throw new Error(qR(e))}function qR(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 JR(e){let t=e.authMode??{kind:"browser",callbackHost:e.callbackHost},r=t.kind==="device"?await p_({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:{runnerId:z_(e.kandanUrl),machineFingerprint:C_(),hostname:ZR()}}):await n_({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,callbackHost:t.callbackHost??e.callbackHost});return u_({kandanUrl:e.kandanUrl,accessToken:r.accessToken,expiresInSeconds:r.expiresInSeconds,authFilePath:e.authFilePath}),r.accessToken}import{realpath as Il,writeFile as aN,mkdir as cN,open as FR}from"node:fs/promises";import{constants as N_}from"node:fs";import{homedir as VR}from"node:os";import{basename as BR,extname as WR,isAbsolute as D_,join as pN,relative as L_,resolve as El}from"node:path";function We(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function jl(e){let t=e.split(".")[1];if(t===void 0||t.length===0)return!1;try{let r=JSON.parse(Buffer.from(t,"base64url").toString("utf8"));if(!We(r)||r.document_surfaces!==!0)return!1;let n=/^[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 r.linzumi_agent_session=="string"&&n.test(r.linzumi_agent_session),s=typeof r.coding_job_id=="string"&&n.test(r.coding_job_id)&&typeof r.coding_job_thread_id=="string"&&n.test(r.coding_job_thread_id);return o||s}catch{return!1}}function Te(e){return e!==void 0&&We(e)?e:void 0}function Zr(e){return Array.isArray(e)?e:void 0}function ye(e){return typeof e=="string"&&e.trim()!==""?e.trim():void 0}function M_(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}var HR=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 Cl(e,t){let r=await Il(e),n=await QR(r),o=await KR(r,t),s=await GR(n,o);return{fileName:BR(o),contentType:ej(o,s.classification),sizeBytes:s.bytes.byteLength,bytes:s.bytes}}async function KR(e,t){if(t==="")throw new Error("Kandan attachment path must not be empty");let r=D_(t)?El(t):El(e,t);return await Il(r)}var Ol=8192;async function GR(e,t){let r=e.find(i=>YR(i.path,t));if(r===void 0){let i=e.map(a=>a.label).join(", ");throw new Error(`Kandan attachment path must resolve inside an allowed upload root (${i}): ${t}`)}if(L_(r.path,t).split(/[\\/]+/).find(i=>i.startsWith("."))!==void 0)throw new Error(`Kandan attachment upload path must not include hidden path segments: ${t}`);let s=await FR(t,N_.O_RDONLY|N_.O_NONBLOCK);try{if(!(await s.stat()).isFile())throw new Error(`Kandan attachment path is not a file: ${t}`);let a=WR(t).toLowerCase();if(HR.has(a))return{classification:"known-type",bytes:await s.readFile()};let c=Buffer.alloc(Ol),{bytesRead:d}=await s.read(c,0,Ol,0);if(c.subarray(0,d).includes(0))throw new Error(`Kandan attachment upload requires a known media/document type or text content (binary content is not allowed): ${t}`);let u=await s.readFile();if(u.subarray(0,Ol).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:u}}finally{await s.close()}}async function QR(e){let t=[{path:e,label:"runner cwd"}],r=process.env.HOME?.trim(),n=El(r===void 0||r===""?VR():r,"Downloads");try{let o=await Il(n);t.some(s=>s.path===o)||t.push({path:o,label:"~/Downloads"})}catch{return t}return t}function YR(e,t){let r=L_(e,t);return r===""||!r.startsWith("..")&&!D_(r)}function XR(e){let t=e.toLowerCase();return t.endsWith(".png")?"image/png":t.endsWith(".jpg")||t.endsWith(".jpeg")?"image/jpeg":t.endsWith(".gif")?"image/gif":t.endsWith(".webp")?"image/webp":t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".md")||t.endsWith(".txt")||t.endsWith(".log")?"text/plain":"application/octet-stream"}function ej(e,t){if(e.toLowerCase().endsWith(".py"))return"text/x-python";let n=XR(e);return t==="text-content"&&n==="application/octet-stream"?"text/plain":n}function Al(e){let t=e.fetchImpl??fetch,r=Be(e.kandanUrl),n=e.authMode==="personal-agent-delegation"?"/api/v2/personal-agent-mcp":"/api/v2/local-runner-mcp",o=e.operatingMode??"text",s=async(i,a,c,d={})=>{let u=new URL(a,r),l={...c,operating_mode:o},m={method:i,headers:{authorization:`Bearer ${e.accessToken}`},...d.signal===void 0?{}:{signal:d.signal}};if(i==="GET")for(let[w,k]of Object.entries(l))k!=null&&u.searchParams.set(w,String(k));else m.headers={...m.headers,"content-type":"application/json"},m.body=JSON.stringify(l);let f=await t(u,m),h=await f.json(),g=We(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",`${n}/validate`,{}),issueOnboardingDiscoveryToken:i=>s("POST",`${n}/onboarding-discovery-token`,i),getMessage:i=>s("GET",`${n}/message`,i),getThread:i=>s("GET",`${n}/thread`,i),getThreadTranscript:i=>s("GET",`${n}/thread-transcript`,i),getChannel:i=>s("GET",`${n}/channel`,i),searchWorkspace:i=>s("GET",`${n}/search`,i),askWorkspace:i=>s("POST",`${n}/ask`,i),aboutMe:i=>s("GET",`${n}/about-me`,i),webSearch:i=>s("GET",`${n}/web-search`,i),fetchUrl:i=>s("GET",`${n}/fetch-url`,i),listUiTargets:i=>s("GET",`${n}/ui-targets`,i),openUi:i=>s("POST",`${n}/open-ui`,i),getCodingJobMetadata:i=>s("GET",`${n}/coding-job-metadata`,i),listProjects:i=>s("GET",`${n}/projects`,i),getProjectTasks:i=>s("GET",`${n}/project-tasks`,i),createProjectTask:i=>s("POST",`${n}/project-tasks/create`,i),updateProjectTask:i=>s("POST",`${n}/project-tasks/update`,i),deleteProjectTask:i=>s("POST",`${n}/project-tasks/delete`,i),addProjectTaskDependency:i=>s("POST",`${n}/project-tasks/add-dependency`,i),removeProjectTaskDependency:i=>s("POST",`${n}/project-tasks/remove-dependency`,i),getCallTranscript:i=>s("GET",`${n}/call-transcript`,i),renameCodingJob:i=>s("POST",`${n}/coding-job-title`,i),upsertCodingJobPlan:(i,a)=>s("POST",`${n}/coding-job-plan`,i,a),replaceCodingJobPlanSteps:i=>s("POST",`${n}/coding-job-plan/steps`,i),updateCodingJobPlanStep:i=>s("POST",`${n}/coding-job-plan/step`,i),linkCodingJobPullRequest:i=>s("POST",`${n}/coding-job-primary-pr`,i),listVaultSecrets:i=>s("GET",`${n}/vault-secrets`,i),noteProjectDirectory:i=>s("POST",`${n}/discovered-project`,i),noteAgentConversation:i=>s("POST",`${n}/discovered-conversation`,i),noteOnboardingDiscoveryStatus:i=>s("POST",`${n}/discovery-status`,i),sendChannelMessage:i=>s("POST",`${n}/channel-message`,i),editMessage:i=>s("POST",`${n}/message/edit`,i),agentReply:i=>s("POST",`${n}/agent-reply`,i),declineDocumentAction:i=>s("POST",`${n}/agent/decline-document-action`,i),agentTurnProgress:i=>s("POST",`${n}/agent-turn-progress`,i),agentDocumentTool:i=>s("POST",`${n}/agent/document-tool`,i),agentTopicTool:i=>s("POST",`${n}/agent/topic-tool`,i),agentListCodingJobs:i=>s("GET",`${n}/agent/coding-jobs`,i),agentStartCodingJob:i=>s("POST",`${n}/agent/start-coding-job`,i),agentSpawnChildJob:i=>s("POST",`${n}/agent/spawn-child-job`,i),agentArchiveChildJob:i=>s("POST",`${n}/agent/archive-child-job`,i),agentUnarchiveChildJob:i=>s("POST",`${n}/agent/unarchive-child-job`,i),agentInterruptCodingJob:i=>s("POST",`${n}/agent/interrupt-coding-job`,i),agentSendCodingJobMessage:i=>s("POST",`${n}/agent/send-coding-job-message`,i),agentDiscoverCodingJobs:i=>s("GET",`${n}/agent/discover-coding-jobs`,i),agentReadCodingJobThread:i=>s("GET",`${n}/agent/coding-job-thread`,i),agentResolveJobApproval:i=>s("POST",`${n}/agent/resolve-job-approval`,i),agentArchiveCodingJob:i=>s("POST",`${n}/agent/archive-coding-job`,i),agentUnarchiveCodingJob:i=>s("POST",`${n}/agent/unarchive-coding-job`,i),agentSetThreadStatus:i=>s("POST",`${n}/agent/set-thread-status`,i),agentCreateChannel:i=>s("POST",`${n}/agent/create-channel`,i),agentRenameChannel:i=>s("POST",`${n}/agent/rename-channel`,i),agentArchiveChannel:i=>s("POST",`${n}/agent/archive-channel`,i),agentUnarchiveChannel:i=>s("POST",`${n}/agent/unarchive-channel`,i),agentAddReaction:i=>s("POST",`${n}/agent/add-reaction`,i),agentRemoveReaction:i=>s("POST",`${n}/agent/remove-reaction`,i),agentPinMessage:i=>s("POST",`${n}/agent/pin-message`,i),agentUnpinMessage:i=>s("POST",`${n}/agent/unpin-message`,i),prepareMessageUploads:i=>s("POST",`${n}/message-uploads/prepare`,i),attachMessageFiles:i=>s("POST",`${n}/message-files/attach`,i),prepareCustomEmoji:i=>s("POST",`${n}/custom-emoji/prepare`,i),renameCustomEmoji:i=>s("POST",`${n}/custom-emoji/rename`,i),sendThreadReply:i=>s("POST",`${n}/thread-reply`,i),sendDm:i=>s("POST",`${n}/dm`,i),dmOwner:i=>s("POST",`${n}/dm-owner`,i),getVaultValues:i=>s("POST",`${n}/vault-values`,i)}}import{closeSync as Ci,fstatSync as tj,mkdirSync as Lo,openSync as Z_,readdirSync as rj,readFileSync as U_,readSync as nj,renameSync as oj,rmSync as Ai,statSync as q_,writeFileSync as J_}from"node:fs";import{spawn as sj,execFile as kN}from"node:child_process";import{createHash as ij}from"node:crypto";import{createRequire as aj}from"node:module";import{createConnection as cj}from"node:net";import{homedir as dj}from"node:os";import{dirname as Mi,join as qr}from"node:path";var uj=(()=>{let e;return()=>{if(e!==void 0)return e;let{lockSync:t}=aj(import.meta.url)("proper-lockfile");return e=t,t}})(),Ll=()=>{},F_=1,lj=1;function pj(){let e=process.env.LINZUMI_DEV_SERVICES_DIR?.trim();return e!==void 0&&e!==""?e:qr(dj(),".linzumi","dev-services")}function V_(e){let t=e.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^[-.]+|[-.]+$/g,"").slice(0,80),r=ij("sha256").update(e).digest("hex").slice(0,8),n=t===""?"runner":t;return qr(pj(),`${n}.${r}`)}function Ni(e){let t=e.trim().toLowerCase();return/^[a-z0-9][a-z0-9._-]{0,63}$/.test(t)&&!t.includes("..")?t:void 0}function Tn(e,t){return qr(e,"services",`${t}.json`)}function Zl(e,t){return qr(e,"exits",`${t}.json`)}function B_(e,t){return qr(e,"logs",`${t}.log`)}function Ur(e){return typeof e=="string"&&e!==""?e:void 0}function Lt(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function mj(e){return Array.isArray(e)?e.filter(t=>typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535):[]}function fj(e){if(!We(e)||e.version!==F_)return;let t=Ur(e.name),r=t===void 0?void 0:Ni(t),n=Ur(e.command),o=Ur(e.cwd),s=e.desiredState==="running"||e.desiredState==="stopped"?e.desiredState:void 0,i=Lt(e.updatedAtMs),a=Ur(e.logPath);if(r===void 0||r!==t||n===void 0||o===void 0||s===void 0||i===void 0||a===void 0)return;let c=e.failure,d;if(c!=null){let u=We(c)?Ur(c.reason):void 0,l=We(c)?Lt(c.atMs):void 0,m=[...u===void 0?["reason"]:[],...l===void 0?["atMs"]:[]];if(m.length===0&&u!==void 0&&l!==void 0)d={reason:u,atMs:l};else{let f=`dev-service "${r}" has a malformed persisted failure record: invalid ${m.join(", ")}`;console.warn(`[dev_services.failure_record_malformed] name=${r} invalid_fields=${m.join(",")}`),d={reason:f,atMs:i}}}return{watchdogVersion:Lt(e.watchdogVersion),name:r,command:n,cwd:o,ports:mj(e.ports),restartOnBranchChange:e.restartOnBranchChange===!0,desiredState:s,pid:Lt(e.pid),ownerPid:Lt(e.ownerPid),startedAtMs:Lt(e.startedAtMs),updatedAtMs:i,lastBranch:Ur(e.lastBranch),logPath:a,automaticRestartAttempts:Lt(e.automaticRestartAttempts)??0,automaticRestartWindowStartedAtMs:Lt(e.automaticRestartWindowStartedAtMs),automaticRestartCause:Ur(e.automaticRestartCause),failure:d}}function hj(e){return{version:F_,watchdogVersion:e.watchdogVersion??null,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,automaticRestartAttempts:e.automaticRestartAttempts,automaticRestartWindowStartedAtMs:e.automaticRestartWindowStartedAtMs??null,automaticRestartCause:e.automaticRestartCause??null,failure:e.failure===void 0?null:{reason:e.failure.reason,atMs:e.failure.atMs}}}function gj(e){return`${JSON.stringify(hj(e))}
161
- `}var Ml=5e3;function yj(e,t,r){let n=`${Tn(e,t)}.lock`;try{Lo(Mi(n),{recursive:!0});let o=(()=>{try{let i=q_(n),a=Date.now()-i.mtimeMs;if(i.isFile()&&a>=Ml){Ai(n),r("dev_services.legacy_record_lock_recovered",{name:t,path:n,age_ms:a});return}return i.isDirectory()&&a>=Ml?a:void 0}catch(i){if((i!==null&&typeof i=="object"&&"code"in i?i.code:void 0)!=="ENOENT")throw i;return}})(),s=uj()(Tn(e,t),{lockfilePath:n,realpath:!1,retries:0,stale:Ml,update:1e3,onCompromised:i=>{throw r("dev_services.record_lock_compromised",{name:t,path:n,message:i.message}),i}});return o!==void 0&&r("dev_services.record_lease_recovered",{name:t,path:n,age_ms:o}),{ok:!0,release:s,path:n}}catch(o){let s=o instanceof Error?o.message:String(o);return r("dev_services.record_lock_failed",{name:t,path:n,message:s}),{ok:!1,error:`could not lock dev-service state at ${n}: ${s}`}}}function _j(e,t,r){try{return e.release(),{ok:!0}}catch(n){let o=n instanceof Error?n.message:String(n);return r("dev_services.record_unlock_failed",{name:t,path:e.path,message:o}),{ok:!1,error:`could not unlock dev-service state at ${e.path}: ${o}`}}}function bj(e,t,r){let n=Tn(e,t.name);try{Lo(Mi(n),{recursive:!0});let o=`${n}.tmp`;return J_(o,gj(t),"utf8"),oj(o,n),{ok:!0}}catch(o){let s=o instanceof Error?o.message:String(o);return r("dev_services.record_write_failed",{path:n,message:s}),{ok:!1,error:`could not persist dev-service state at ${n}: ${s}`}}}function Nl(e,t,r,n){let o=yj(e,t.name,r);if(!o.ok)return{ok:!1,error:o.error,persisted:!1};n?.(o.path);let s=bj(e,t,r),i=_j(o,t.name,r);return s.ok?i.ok?{ok:!0}:{ok:!1,error:i.error,persisted:!0}:{ok:!1,error:s.error,persisted:!1}}function Ul(e,t){let r=Ni(t);if(r===void 0)return;let n;try{n=U_(Tn(e,r),"utf8")}catch{return}try{return fj(JSON.parse(n))}catch{return}}function vj(e){let t;try{t=rj(qr(e,"services"))}catch{return[]}let r=[];for(let n of t){if(!n.endsWith(".json"))continue;let o=Ul(e,n.slice(0,-5));o!==void 0&&r.push(o)}return r.sort((n,o)=>n.name.localeCompare(o.name))}function W_(e,t){let r;try{r=U_(Zl(e,t),"utf8")}catch{return}try{let n=JSON.parse(r);if(!We(n))return;let o=Lt(n.atMs);return o===void 0?void 0:{code:typeof n.code=="number"?n.code:null,signal:typeof n.signal=="string"?n.signal:null,atMs:o}}catch{return}}function wj(e){return JSON.stringify(e)}function kj(){return`
158
+ `}}function l_(e){let t=Math.floor(e/6e4),r=Math.floor(t/60),n=t%60;return r>0?`${r}h ${n}m`:`${n}m`}async function p_(e){let t=e.deps??{},r=t.startDeviceAuthorization??s_,n=t.pollDeviceCodeForToken??i_,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(vR(g))),d=t.log??(()=>{}),u=Be(e.kandanUrl),l=o(),m=0,f,h=0;for(;;){let g;try{g=await r({httpBaseUrl:u,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:e.identity})}catch(w){h+=1;let k=Math.min(_R,yR*2**(h-1)),j=w instanceof Error?w.message:String(w);c({kind:"start_failed",reason:j,retryInMs:k}),d("device_wait.start_failed",{reason:j,retryInMs:k,attempt:h}),await s(k);continue}h=0,m+=1;let y=bR({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}),d("device_wait.code_issued",{cycle:m,verificationUri:g.verificationUri});let v;for(;v=await n({httpBaseUrl:u,deviceCode:g.deviceCode,expiresInSeconds:g.expiresInSeconds}),v.kind==="transient";)c({kind:"transient",reason:v.reason,waitedMs:o()-l}),d("device_wait.transient_poll_failure",{cycle:m,reason:v.reason,httpStatus:v.httpStatus??null}),await s(gR);switch(v.kind){case"token":return d("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":d("device_wait.code_retired",{cycle:m,outcome:v.kind});continue;case"rejected":c({kind:"transient",reason:a_(v.reason,v.httpStatus),waitedMs:o()-l}),d("device_wait.code_rejected",{cycle:m,reason:v.reason??null,httpStatus:v.httpStatus});continue}}}import{randomUUID as k_}from"node:crypto";import{chmodSync as y_,existsSync as Tl,linkSync as xR,mkdirSync as x_,readFileSync as S_,realpathSync as q4,unlinkSync as SR,writeFileSync as $_}from"node:fs";import{homedir as $R}from"node:os";import{basename as $l,dirname as No,join as zl,resolve as __}from"node:path";var m_="wss://serve.linzumi.com";import{homedir as wR}from"node:os";import{isAbsolute as M4,relative as N4,resolve as kR}from"node:path";import{delimiter as z4,isAbsolute as P4,join as f_,parse as T4,resolve as R4,sep as j4}from"node:path";var O4=[".volta",".nvm",".npm",".asdf",".fnm",".bun",f_(".cargo","bin"),f_(".local","bin")];function g_(e){return e==="~"?h_():e.startsWith("~/")?kR(h_(),e.slice(2)):e}function h_(){let e=process.env.HOME;return e===void 0||e.trim()===""?wR():e}var Sl=384,Dt="prod";function Pn(e=process.env){let t=e.LINZUMI_CONFIG_FILE;return t!==void 0&&t.trim()!==""?__(g_(t)):__($R(),".linzumi","config.json")}function Do(e){let t=Be(e),r=Be(m_);return t===r?Dt:t}function zR(e){let t=Do(e);return t===Dt?Dt:Buffer.from(t).toString("base64url")}function b_(e=Pn()){return P_(e)}function v_(e,t=Pn()){return P_(t,e)}function z_(e,t=Pn(),r=E_){if(Do(e)===Dt)return PR(t,r);let n=v_(e,t);if(n.runnerId!==void 0)return n.runnerId;let o=O_(t,r,e),s=v_(e,t),i=s.runnerId;return i!==void 0?i:(T_({...s,runnerId:o},t,e),o)}function PR(e=Pn(),t=E_){let r=b_(e);if(r.runnerId!==void 0)return r.runnerId;let n=O_(e,t),o=b_(e),s=o.runnerId;return s!==void 0?s:(RR({...o,runnerId:n},e),n)}function TR(e=Pn(),t){return t!==void 0&&Do(t)!==Dt?zl(No(e),`${$l(e)}.${zR(t)}.runner-id`):zl(No(e),`${$l(e)}.runner-id`)}function RR(e,t=Pn()){T_(e,t)}function jR(e,t){Tl(e)&&y_(e,Sl),$_(e,`${JSON.stringify(t,null,2)}
159
+ `,{encoding:"utf8",mode:Sl}),y_(e,Sl)}function Pl(e){if(!Tl(e))return{version:1,allowedCwds:[]};let t=JSON.parse(S_(e,"utf8"));if(!R_(t))throw new Error(`invalid Linzumi config: ${e}`);return t}function P_(e,t){let r=Pl(e),n=t===void 0?Dt:Do(t),o=n===Dt?r:r[n]??ER();if(!j_(o))throw new Error(`invalid Linzumi config section ${n}: ${e}`);let s=I_(o.allowedCwds);return{version:1,...o.machineId===void 0?{}:{machineId:o.machineId},...o.runnerId===void 0?{}:{runnerId:o.runnerId},allowedCwds:s}}function T_(e,t,r){let n=r===void 0?Dt:Do(r),o=OR(e),s=n===Dt?{...Pl(t),...o,version:1}:{...Pl(t),version:1,[n]:o};x_(No(t),{recursive:!0}),jR(t,s)}function R_(e){return typeof e=="object"&&e!==null&&e.version===1&&j_(e)}function j_(e){return typeof e=="object"&&e!==null&&Array.isArray(e.allowedCwds)&&IR(e.machineId)&&Rl(e.runnerId)&&e.allowedCwds.every(t=>typeof t=="string"&&t.trim()!=="")}function OR(e){if(!R_(e))throw new Error("invalid Linzumi config");let t=I_(e.allowedCwds);return{...e.machineId===void 0?{}:{machineId:e.machineId},...e.runnerId===void 0?{}:{runnerId:e.runnerId},allowedCwds:t}}function ER(){return{allowedCwds:[]}}function IR(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 Rl(e){return e===void 0||typeof e=="string"&&/^[a-zA-Z0-9_.-]+$/.test(e)}function O_(e,t,r){let n=TR(e,r);if(Tl(n))return w_(n);let o=t();if(!Rl(o))throw new Error(`invalid generated Linzumi runner id: ${o}`);x_(No(n),{recursive:!0});let s=zl(No(n),`.${$l(n)}.${process.pid}.${k_()}.tmp`);$_(s,`${o}
160
+ `,{encoding:"utf8",flag:"wx"});try{return xR(s,n),o}catch(i){if(CR(i,"EEXIST"))return w_(n);throw i}finally{SR(s)}}function w_(e){let t=S_(e,"utf8").trim();if(!Rl(t))throw new Error(`invalid Linzumi runner id seed: ${e}`);return t}function E_(){return`runner-${k_()}`}function I_(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t!==""))]}function CR(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}import{execFileSync as AR}from"node:child_process";import{createHash as MR}from"node:crypto";import{readFileSync as NR}from"node:fs";var DR="linzumi-machine-fingerprint:v1:";function LR(e,t){return AR(e,[...t],{encoding:"utf8",timeout:5e3,maxBuffer:1024*1024})}function ZR(e){return NR(e,"utf8")}function UR(e={}){let t=e.platform??process.platform,r=e.execFile??LR,n=e.readFile??ZR;try{if(t==="darwin"){let i=r("ioreg",["-rd1","-c","IOPlatformExpertDevice"]).match(/"IOPlatformUUID"\s*=\s*"([0-9A-Fa-f-]{36})"/)?.[1];return i===void 0?void 0:i.toLowerCase()}if(t==="linux"){for(let o of["/etc/machine-id","/var/lib/dbus/machine-id"])try{let s=n(o).trim().toLowerCase();if(/^[0-9a-f]{32}$/.test(s))return s}catch{}return}return}catch{return}}function C_(e={}){let t=UR(e);return t===void 0?void 0:`mfp-${MR("sha256").update(`${DR}${t}`).digest("hex").slice(0,32)}`}async function A_(e,t={readCachedToken:Ii,validateToken:Mo,acquireAndCacheToken:VR}){if(e.explicitToken!==void 0)return e.explicitToken;let r=t.readCachedToken(e.kandanUrl,e.authFilePath);if(r!==void 0){let o=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:r.accessToken,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes});if(o==="usable")return r.accessToken;e.reportRejectedCachedToken?.(o)}let n=await t.acquireAndCacheToken(e);return e.workspaceSlug!==void 0&&await JR(e,t,n),n}async function JR(e,t,r){let n;try{n=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes})}catch{return}if(n==="not_found")throw new Error(FR(e))}function FR(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 VR(e){let t=e.authMode??{kind:"browser",callbackHost:e.callbackHost},r=t.kind==="device"?await p_({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:{runnerId:z_(e.kandanUrl),machineFingerprint:C_(),hostname:qR()}}):await n_({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,callbackHost:t.callbackHost??e.callbackHost});return u_({kandanUrl:e.kandanUrl,accessToken:r.accessToken,expiresInSeconds:r.expiresInSeconds,authFilePath:e.authFilePath}),r.accessToken}import{realpath as Il,writeFile as uN,mkdir as lN,open as BR}from"node:fs/promises";import{constants as N_}from"node:fs";import{homedir as WR}from"node:os";import{basename as HR,extname as KR,isAbsolute as D_,join as hN,relative as L_,resolve as El}from"node:path";function We(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function jl(e){let t=e.split(".")[1];if(t===void 0||t.length===0)return!1;try{let r=JSON.parse(Buffer.from(t,"base64url").toString("utf8"));if(!We(r)||r.document_surfaces!==!0)return!1;let n=/^[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 r.linzumi_agent_session=="string"&&n.test(r.linzumi_agent_session),s=typeof r.coding_job_id=="string"&&n.test(r.coding_job_id)&&typeof r.coding_job_thread_id=="string"&&n.test(r.coding_job_thread_id);return o||s}catch{return!1}}function Te(e){return e!==void 0&&We(e)?e:void 0}function Zr(e){return Array.isArray(e)?e:void 0}function ye(e){return typeof e=="string"&&e.trim()!==""?e.trim():void 0}function M_(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}var GR=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 Cl(e,t){let r=await Il(e),n=await XR(r),o=await QR(r,t),s=await YR(n,o);return{fileName:HR(o),contentType:rj(o,s.classification),sizeBytes:s.bytes.byteLength,bytes:s.bytes}}async function QR(e,t){if(t==="")throw new Error("Kandan attachment path must not be empty");let r=D_(t)?El(t):El(e,t);return await Il(r)}var Ol=8192;async function YR(e,t){let r=e.find(i=>ej(i.path,t));if(r===void 0){let i=e.map(a=>a.label).join(", ");throw new Error(`Kandan attachment path must resolve inside an allowed upload root (${i}): ${t}`)}if(L_(r.path,t).split(/[\\/]+/).find(i=>i.startsWith("."))!==void 0)throw new Error(`Kandan attachment upload path must not include hidden path segments: ${t}`);let s=await BR(t,N_.O_RDONLY|N_.O_NONBLOCK);try{if(!(await s.stat()).isFile())throw new Error(`Kandan attachment path is not a file: ${t}`);let a=KR(t).toLowerCase();if(GR.has(a))return{classification:"known-type",bytes:await s.readFile()};let c=Buffer.alloc(Ol),{bytesRead:d}=await s.read(c,0,Ol,0);if(c.subarray(0,d).includes(0))throw new Error(`Kandan attachment upload requires a known media/document type or text content (binary content is not allowed): ${t}`);let u=await s.readFile();if(u.subarray(0,Ol).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:u}}finally{await s.close()}}async function XR(e){let t=[{path:e,label:"runner cwd"}],r=process.env.HOME?.trim(),n=El(r===void 0||r===""?WR():r,"Downloads");try{let o=await Il(n);t.some(s=>s.path===o)||t.push({path:o,label:"~/Downloads"})}catch{return t}return t}function ej(e,t){let r=L_(e,t);return r===""||!r.startsWith("..")&&!D_(r)}function tj(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 rj(e,t){if(e.toLowerCase().endsWith(".py"))return"text/x-python";let n=tj(e);return t==="text-content"&&n==="application/octet-stream"?"text/plain":n}function Al(e){let t=e.fetchImpl??fetch,r=Be(e.kandanUrl),n=e.authMode==="personal-agent-delegation"?"/api/v2/personal-agent-mcp":"/api/v2/local-runner-mcp",o=e.operatingMode??"text",s=async(i,a,c,d={})=>{let u=new URL(a,r),l={...c,operating_mode:o},m={method:i,headers:{authorization:`Bearer ${e.accessToken}`},...d.signal===void 0?{}:{signal:d.signal}};if(i==="GET")for(let[w,k]of Object.entries(l))k!=null&&u.searchParams.set(w,String(k));else m.headers={...m.headers,"content-type":"application/json"},m.body=JSON.stringify(l);let f=await t(u,m),h=await f.json(),g=We(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",`${n}/validate`,{}),issueOnboardingDiscoveryToken:i=>s("POST",`${n}/onboarding-discovery-token`,i),getMessage:i=>s("GET",`${n}/message`,i),getThread:i=>s("GET",`${n}/thread`,i),getThreadTranscript:i=>s("GET",`${n}/thread-transcript`,i),getChannel:i=>s("GET",`${n}/channel`,i),searchWorkspace:i=>s("GET",`${n}/search`,i),askWorkspace:i=>s("POST",`${n}/ask`,i),aboutMe:i=>s("GET",`${n}/about-me`,i),webSearch:i=>s("GET",`${n}/web-search`,i),fetchUrl:i=>s("GET",`${n}/fetch-url`,i),listUiTargets:i=>s("GET",`${n}/ui-targets`,i),openUi:i=>s("POST",`${n}/open-ui`,i),getCodingJobMetadata:i=>s("GET",`${n}/coding-job-metadata`,i),listProjects:i=>s("GET",`${n}/projects`,i),getProjectTasks:i=>s("GET",`${n}/project-tasks`,i),createProjectTask:i=>s("POST",`${n}/project-tasks/create`,i),updateProjectTask:i=>s("POST",`${n}/project-tasks/update`,i),deleteProjectTask:i=>s("POST",`${n}/project-tasks/delete`,i),addProjectTaskDependency:i=>s("POST",`${n}/project-tasks/add-dependency`,i),removeProjectTaskDependency:i=>s("POST",`${n}/project-tasks/remove-dependency`,i),getCallTranscript:i=>s("GET",`${n}/call-transcript`,i),renameCodingJob:i=>s("POST",`${n}/coding-job-title`,i),upsertCodingJobPlan:(i,a)=>s("POST",`${n}/coding-job-plan`,i,a),replaceCodingJobPlanSteps:i=>s("POST",`${n}/coding-job-plan/steps`,i),updateCodingJobPlanStep:i=>s("POST",`${n}/coding-job-plan/step`,i),linkCodingJobPullRequest:i=>s("POST",`${n}/coding-job-primary-pr`,i),listVaultSecrets:i=>s("GET",`${n}/vault-secrets`,i),noteProjectDirectory:i=>s("POST",`${n}/discovered-project`,i),noteAgentConversation:i=>s("POST",`${n}/discovered-conversation`,i),noteOnboardingDiscoveryStatus:i=>s("POST",`${n}/discovery-status`,i),sendChannelMessage:i=>s("POST",`${n}/channel-message`,i),editMessage:i=>s("POST",`${n}/message/edit`,i),agentReply:i=>s("POST",`${n}/agent-reply`,i),declineDocumentAction:i=>s("POST",`${n}/agent/decline-document-action`,i),agentTurnProgress:i=>s("POST",`${n}/agent-turn-progress`,i),agentDocumentTool:i=>s("POST",`${n}/agent/document-tool`,i),agentTopicTool:i=>s("POST",`${n}/agent/topic-tool`,i),agentListCodingJobs:i=>s("GET",`${n}/agent/coding-jobs`,i),agentStartCodingJob:i=>s("POST",`${n}/agent/start-coding-job`,i),agentSpawnChildJob:i=>s("POST",`${n}/agent/spawn-child-job`,i),agentArchiveChildJob:i=>s("POST",`${n}/agent/archive-child-job`,i),agentUnarchiveChildJob:i=>s("POST",`${n}/agent/unarchive-child-job`,i),agentInterruptCodingJob:i=>s("POST",`${n}/agent/interrupt-coding-job`,i),agentSendCodingJobMessage:i=>s("POST",`${n}/agent/send-coding-job-message`,i),agentDiscoverCodingJobs:i=>s("GET",`${n}/agent/discover-coding-jobs`,i),agentReadCodingJobThread:i=>s("GET",`${n}/agent/coding-job-thread`,i),agentResolveJobApproval:i=>s("POST",`${n}/agent/resolve-job-approval`,i),agentArchiveCodingJob:i=>s("POST",`${n}/agent/archive-coding-job`,i),agentUnarchiveCodingJob:i=>s("POST",`${n}/agent/unarchive-coding-job`,i),agentSetThreadStatus:i=>s("POST",`${n}/agent/set-thread-status`,i),agentCreateChannel:i=>s("POST",`${n}/agent/create-channel`,i),agentRenameChannel:i=>s("POST",`${n}/agent/rename-channel`,i),agentArchiveChannel:i=>s("POST",`${n}/agent/archive-channel`,i),agentUnarchiveChannel:i=>s("POST",`${n}/agent/unarchive-channel`,i),agentAddReaction:i=>s("POST",`${n}/agent/add-reaction`,i),agentRemoveReaction:i=>s("POST",`${n}/agent/remove-reaction`,i),agentPinMessage:i=>s("POST",`${n}/agent/pin-message`,i),agentUnpinMessage:i=>s("POST",`${n}/agent/unpin-message`,i),prepareMessageUploads:i=>s("POST",`${n}/message-uploads/prepare`,i),attachMessageFiles:i=>s("POST",`${n}/message-files/attach`,i),prepareCustomEmoji:i=>s("POST",`${n}/custom-emoji/prepare`,i),renameCustomEmoji:i=>s("POST",`${n}/custom-emoji/rename`,i),sendThreadReply:i=>s("POST",`${n}/thread-reply`,i),sendDm:i=>s("POST",`${n}/dm`,i),dmOwner:i=>s("POST",`${n}/dm-owner`,i),getVaultValues:i=>s("POST",`${n}/vault-values`,i)}}import{closeSync as Ci,fstatSync as nj,mkdirSync as Lo,openSync as Z_,readdirSync as oj,readFileSync as U_,readSync as sj,renameSync as ij,rmSync as Ai,statSync as q_,writeFileSync as J_}from"node:fs";import{spawn as aj,execFile as $N}from"node:child_process";import{createHash as cj}from"node:crypto";import{createRequire as dj}from"node:module";import{createConnection as uj}from"node:net";import{homedir as lj}from"node:os";import{dirname as Mi,join as qr}from"node:path";var pj=(()=>{let e;return()=>{if(e!==void 0)return e;let{lockSync:t}=dj(import.meta.url)("proper-lockfile");return e=t,t}})(),Ll=()=>{},F_=1,mj=1;function fj(){let e=process.env.LINZUMI_DEV_SERVICES_DIR?.trim();return e!==void 0&&e!==""?e:qr(lj(),".linzumi","dev-services")}function V_(e){let t=e.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^[-.]+|[-.]+$/g,"").slice(0,80),r=cj("sha256").update(e).digest("hex").slice(0,8),n=t===""?"runner":t;return qr(fj(),`${n}.${r}`)}function Ni(e){let t=e.trim().toLowerCase();return/^[a-z0-9][a-z0-9._-]{0,63}$/.test(t)&&!t.includes("..")?t:void 0}function Tn(e,t){return qr(e,"services",`${t}.json`)}function Zl(e,t){return qr(e,"exits",`${t}.json`)}function B_(e,t){return qr(e,"logs",`${t}.log`)}function Ur(e){return typeof e=="string"&&e!==""?e:void 0}function Lt(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function hj(e){return Array.isArray(e)?e.filter(t=>typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535):[]}function gj(e){if(!We(e)||e.version!==F_)return;let t=Ur(e.name),r=t===void 0?void 0:Ni(t),n=Ur(e.command),o=Ur(e.cwd),s=e.desiredState==="running"||e.desiredState==="stopped"?e.desiredState:void 0,i=Lt(e.updatedAtMs),a=Ur(e.logPath);if(r===void 0||r!==t||n===void 0||o===void 0||s===void 0||i===void 0||a===void 0)return;let c=e.failure,d;if(c!=null){let u=We(c)?Ur(c.reason):void 0,l=We(c)?Lt(c.atMs):void 0,m=[...u===void 0?["reason"]:[],...l===void 0?["atMs"]:[]];if(m.length===0&&u!==void 0&&l!==void 0)d={reason:u,atMs:l};else{let f=`dev-service "${r}" has a malformed persisted failure record: invalid ${m.join(", ")}`;console.warn(`[dev_services.failure_record_malformed] name=${r} invalid_fields=${m.join(",")}`),d={reason:f,atMs:i}}}return{watchdogVersion:Lt(e.watchdogVersion),name:r,command:n,cwd:o,ports:hj(e.ports),restartOnBranchChange:e.restartOnBranchChange===!0,desiredState:s,pid:Lt(e.pid),ownerPid:Lt(e.ownerPid),startedAtMs:Lt(e.startedAtMs),updatedAtMs:i,lastBranch:Ur(e.lastBranch),logPath:a,automaticRestartAttempts:Lt(e.automaticRestartAttempts)??0,automaticRestartWindowStartedAtMs:Lt(e.automaticRestartWindowStartedAtMs),automaticRestartCause:Ur(e.automaticRestartCause),failure:d}}function yj(e){return{version:F_,watchdogVersion:e.watchdogVersion??null,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,automaticRestartAttempts:e.automaticRestartAttempts,automaticRestartWindowStartedAtMs:e.automaticRestartWindowStartedAtMs??null,automaticRestartCause:e.automaticRestartCause??null,failure:e.failure===void 0?null:{reason:e.failure.reason,atMs:e.failure.atMs}}}function _j(e){return`${JSON.stringify(yj(e))}
161
+ `}var Ml=5e3;function bj(e,t,r){let n=`${Tn(e,t)}.lock`;try{Lo(Mi(n),{recursive:!0});let o=(()=>{try{let i=q_(n),a=Date.now()-i.mtimeMs;if(i.isFile()&&a>=Ml){Ai(n),r("dev_services.legacy_record_lock_recovered",{name:t,path:n,age_ms:a});return}return i.isDirectory()&&a>=Ml?a:void 0}catch(i){if((i!==null&&typeof i=="object"&&"code"in i?i.code:void 0)!=="ENOENT")throw i;return}})(),s=pj()(Tn(e,t),{lockfilePath:n,realpath:!1,retries:0,stale:Ml,update:1e3,onCompromised:i=>{throw r("dev_services.record_lock_compromised",{name:t,path:n,message:i.message}),i}});return o!==void 0&&r("dev_services.record_lease_recovered",{name:t,path:n,age_ms:o}),{ok:!0,release:s,path:n}}catch(o){let s=o instanceof Error?o.message:String(o);return r("dev_services.record_lock_failed",{name:t,path:n,message:s}),{ok:!1,error:`could not lock dev-service state at ${n}: ${s}`}}}function vj(e,t,r){try{return e.release(),{ok:!0}}catch(n){let o=n instanceof Error?n.message:String(n);return r("dev_services.record_unlock_failed",{name:t,path:e.path,message:o}),{ok:!1,error:`could not unlock dev-service state at ${e.path}: ${o}`}}}function wj(e,t,r){let n=Tn(e,t.name);try{Lo(Mi(n),{recursive:!0});let o=`${n}.tmp`;return J_(o,_j(t),"utf8"),ij(o,n),{ok:!0}}catch(o){let s=o instanceof Error?o.message:String(o);return r("dev_services.record_write_failed",{path:n,message:s}),{ok:!1,error:`could not persist dev-service state at ${n}: ${s}`}}}function Nl(e,t,r,n){let o=bj(e,t.name,r);if(!o.ok)return{ok:!1,error:o.error,persisted:!1};n?.(o.path);let s=wj(e,t,r),i=vj(o,t.name,r);return s.ok?i.ok?{ok:!0}:{ok:!1,error:i.error,persisted:!0}:{ok:!1,error:s.error,persisted:!1}}function Ul(e,t){let r=Ni(t);if(r===void 0)return;let n;try{n=U_(Tn(e,r),"utf8")}catch{return}try{return gj(JSON.parse(n))}catch{return}}function kj(e){let t;try{t=oj(qr(e,"services"))}catch{return[]}let r=[];for(let n of t){if(!n.endsWith(".json"))continue;let o=Ul(e,n.slice(0,-5));o!==void 0&&r.push(o)}return r.sort((n,o)=>n.name.localeCompare(o.name))}function W_(e,t){let r;try{r=U_(Zl(e,t),"utf8")}catch{return}try{let n=JSON.parse(r);if(!We(n))return;let o=Lt(n.atMs);return o===void 0?void 0:{code:typeof n.code=="number"?n.code:null,signal:typeof n.signal=="string"?n.signal:null,atMs:o}}catch{return}}function xj(e){return JSON.stringify(e)}function Sj(){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]);
@@ -244,15 +244,15 @@ const watchdog = setInterval(() => {
244
244
  }
245
245
  }
246
246
  }, config.pollIntervalMs);
247
- `.trim()}function xj(e,t){return{command:e,args:["-e",kj(),wj(t)]}}function H_(e,t=r=>process.kill(r,0)){if(e===void 0||e<=1)return!1;try{return t(-e),!0}catch(r){return r?.code==="EPERM"}}function ql(e,t){if(t.pid===void 0||t.pid<=1)return!1;let r=W_(e,t.name);return r!==void 0&&t.startedAtMs!==void 0&&r.atMs>=t.startedAtMs?!1:H_(t.pid)}async function Jl(e,t=750,r="127.0.0.1"){return await new Promise(n=>{let o=cj({port:e,host:r}),s=i=>{o.removeAllListeners(),o.destroy(),n(i)};o.setTimeout(t),o.once("connect",()=>s(!0)),o.once("timeout",()=>s(!1)),o.once("error",()=>s(!1))})}async function Sj(e,t){let r=ql(e,t),n=[];for(let s of t.ports)n.push({port:s,listening:r?await Jl(s):!1});let o=t.desiredState==="stopped"?"stopped":!r&&t.failure!==void 0?"failed":r?n.every(s=>s.listening)?"running":"unhealthy":"exited";return{record:t,liveness:o,portProbes:n,lastExit:W_(e,t.name),failure:t.failure}}async function Fl(e){let t=[];for(let r of vj(e))t.push(await Sj(e,r));return t}function $j(e=process.env){let t=e.SHELL?.trim();return t!==void 0&&t!==""?t:"/bin/sh"}async function K_(e){let t=e.log??Ll,r=Ni(e.definition.name);if(r===void 0)return{ok:!1,error:"invalid service name: use 1-64 lowercase letters, digits, ., _ or -"};let n=e.definition.command.trim();if(n==="")return{ok:!1,error:"service command must not be empty"};try{if(!q_(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=Ul(e.scopeDir,r);o!==void 0&&ql(e.scopeDir,o)&&await Dl(o.pid,t,r);let s=e.nowMs??Date.now(),i=B_(e.scopeDir,r),a=Zl(e.scopeDir,r),c;try{Lo(Mi(i),{recursive:!0}),Lo(qr(e.scopeDir,"services"),{recursive:!0}),Lo(Mi(a),{recursive:!0}),c=Z_(i,"a")}catch(y){return{ok:!1,error:`cannot open service log: ${y instanceof Error?y.message:String(y)}`}}try{Ai(a,{force:!0})}catch{}let d=e.shellPath??$j(),u=xj(e.nodeExecPath??process.execPath,{command:d,args:["-lc",n],cwd:e.definition.cwd,pollIntervalMs:e.watchdogPollIntervalMs??500,recordPath:Tn(e.scopeDir,r),exitStatusPath:a});try{J_(c,`
247
+ `.trim()}function $j(e,t){return{command:e,args:["-e",Sj(),xj(t)]}}function H_(e,t=r=>process.kill(r,0)){if(e===void 0||e<=1)return!1;try{return t(-e),!0}catch(r){return r?.code==="EPERM"}}function ql(e,t){if(t.pid===void 0||t.pid<=1)return!1;let r=W_(e,t.name);return r!==void 0&&t.startedAtMs!==void 0&&r.atMs>=t.startedAtMs?!1:H_(t.pid)}async function Jl(e,t=750,r="127.0.0.1"){return await new Promise(n=>{let o=uj({port:e,host:r}),s=i=>{o.removeAllListeners(),o.destroy(),n(i)};o.setTimeout(t),o.once("connect",()=>s(!0)),o.once("timeout",()=>s(!1)),o.once("error",()=>s(!1))})}async function zj(e,t){let r=ql(e,t),n=[];for(let s of t.ports)n.push({port:s,listening:r?await Jl(s):!1});let o=t.desiredState==="stopped"?"stopped":!r&&t.failure!==void 0?"failed":r?n.every(s=>s.listening)?"running":"unhealthy":"exited";return{record:t,liveness:o,portProbes:n,lastExit:W_(e,t.name),failure:t.failure}}async function Fl(e){let t=[];for(let r of kj(e))t.push(await zj(e,r));return t}function Pj(e=process.env){let t=e.SHELL?.trim();return t!==void 0&&t!==""?t:"/bin/sh"}async function K_(e){let t=e.log??Ll,r=Ni(e.definition.name);if(r===void 0)return{ok:!1,error:"invalid service name: use 1-64 lowercase letters, digits, ., _ or -"};let n=e.definition.command.trim();if(n==="")return{ok:!1,error:"service command must not be empty"};try{if(!q_(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=Ul(e.scopeDir,r);o!==void 0&&ql(e.scopeDir,o)&&await Dl(o.pid,t,r);let s=e.nowMs??Date.now(),i=B_(e.scopeDir,r),a=Zl(e.scopeDir,r),c;try{Lo(Mi(i),{recursive:!0}),Lo(qr(e.scopeDir,"services"),{recursive:!0}),Lo(Mi(a),{recursive:!0}),c=Z_(i,"a")}catch(y){return{ok:!1,error:`cannot open service log: ${y instanceof Error?y.message:String(y)}`}}try{Ai(a,{force:!0})}catch{}let d=e.shellPath??Pj(),u=$j(e.nodeExecPath??process.execPath,{command:d,args:["-lc",n],cwd:e.definition.cwd,pollIntervalMs:e.watchdogPollIntervalMs??500,recordPath:Tn(e.scopeDir,r),exitStatusPath:a});try{J_(c,`
248
248
  --- linzumi dev-service "${r}" starting at ${new Date(s).toISOString()} (owner pid ${e.ownerPid}) ---
249
249
  $ ${n}
250
- `)}catch{t("dev_services.start_banner_write_failed",{name:r,log_path:i})}let l={watchdogVersion:lj,name:r,command:n,cwd:e.definition.cwd,ports:[...new Set(e.definition.ports)].sort((y,v)=>y-v),restartOnBranchChange:e.definition.restartOnBranchChange===!0,desiredState:"stopped",pid:void 0,ownerPid:e.ownerPid,startedAtMs:s,updatedAtMs:s,lastBranch:void 0,logPath:i,automaticRestartAttempts:e.automaticRestartState?.attempts??0,automaticRestartWindowStartedAtMs:e.automaticRestartState?.windowStartedAtMs,automaticRestartCause:e.automaticRestartState?.cause,failure:{reason:`dev service "${r}" start did not complete`,atMs:s}},m=Nl(e.scopeDir,l,t);if(!m.ok){try{Ci(c)}catch(y){t("dev_services.log_close_failed",{name:r,message:y instanceof Error?y.message:String(y)})}return m}try{await e.beforeWatchdogSpawnForTest?.()}catch(y){try{Ci(c)}catch(v){t("dev_services.log_close_failed",{name:r,message:v instanceof Error?v.message:String(v)})}return{ok:!1,error:y instanceof Error?y.message:`start interrupted before watchdog spawn: ${String(y)}`}}let f;try{let y=sj(u.command,[...u.args],{cwd:e.definition.cwd,detached:!0,stdio:["ignore",c,c],env:{...process.env,ELECTRON_RUN_AS_NODE:"1"}});y.unref(),f=y.pid}catch(y){return{ok:!1,error:`spawn failed: ${y instanceof Error?y.message:String(y)}`}}finally{try{Ci(c)}catch(y){t("dev_services.log_close_failed",{name:r,message:y instanceof Error?y.message:String(y)})}}if(f===void 0)return{ok:!1,error:"spawn failed: no pid"};let h={...l,desiredState:"running",pid:f,failure:void 0},g=Nl(e.scopeDir,h,t,e.afterFinalRecordLockedForTest);return g.ok?(t("dev_services.started",{name:r,pid:f,owner_pid:e.ownerPid,cwd:e.definition.cwd,ports:[...h.ports]}),{ok:!0,record:h}):(g.persisted||await Dl(f,t,r,0),g)}async function Dl(e,t,r,n=3e3){if(e===void 0||e<=1)return;try{process.kill(-e,"SIGTERM")}catch{return}let o=Date.now()+n;for(;Date.now()<o;){if(!H_(e))return;await new Promise(s=>setTimeout(s,100))}try{process.kill(-e,"SIGKILL"),t("dev_services.stop_escalated",{name:r,pgid:e})}catch{}}async function Vl(e){let t=e.log??Ll,r=Ul(e.scopeDir,e.name);if(r===void 0)return{ok:!1,error:`unknown service: ${e.name}`};ql(e.scopeDir,r)&&await Dl(r.pid,t,r.name);let n={...r,desiredState:"stopped",pid:void 0,ownerPid:void 0,updatedAtMs:e.nowMs??Date.now(),failure:void 0},o=Nl(e.scopeDir,n,t);return o.ok?(t("dev_services.stopped",{name:r.name}),{ok:!0,record:n}):o}async function G_(e){let t=e.log??Ll,r=await Vl(e);if(!r.ok)return r;try{Ai(Tn(e.scopeDir,r.record.name),{force:!0}),Ai(Zl(e.scopeDir,r.record.name),{force:!0})}catch(n){let o=n instanceof Error?n.message:String(n);return t("dev_services.remove_failed",{name:r.record.name,message:o}),{ok:!1,error:`could not remove dev service "${r.record.name}": ${o}`}}return r}function Q_(e,t,r=16384){let n=Ni(t);if(n===void 0)return;let o=B_(e,n),s;try{s=Z_(o,"r");let i=tj(s).size,a=Math.min(i,r),c=Buffer.alloc(a);return nj(s,c,0,a,i-a),c.toString("utf8")}catch{return}finally{if(s!==void 0)try{Ci(s)}catch{}}}var RN=10*6e4;function Y_(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 X_(e){return`${JSON.stringify({mcpServers:{[e.name]:{command:e.command,args:e.args,env:e.env}}},null,2)}
250
+ `)}catch{t("dev_services.start_banner_write_failed",{name:r,log_path:i})}let l={watchdogVersion:mj,name:r,command:n,cwd:e.definition.cwd,ports:[...new Set(e.definition.ports)].sort((y,v)=>y-v),restartOnBranchChange:e.definition.restartOnBranchChange===!0,desiredState:"stopped",pid:void 0,ownerPid:e.ownerPid,startedAtMs:s,updatedAtMs:s,lastBranch:void 0,logPath:i,automaticRestartAttempts:e.automaticRestartState?.attempts??0,automaticRestartWindowStartedAtMs:e.automaticRestartState?.windowStartedAtMs,automaticRestartCause:e.automaticRestartState?.cause,failure:{reason:`dev service "${r}" start did not complete`,atMs:s}},m=Nl(e.scopeDir,l,t);if(!m.ok){try{Ci(c)}catch(y){t("dev_services.log_close_failed",{name:r,message:y instanceof Error?y.message:String(y)})}return m}try{await e.beforeWatchdogSpawnForTest?.()}catch(y){try{Ci(c)}catch(v){t("dev_services.log_close_failed",{name:r,message:v instanceof Error?v.message:String(v)})}return{ok:!1,error:y instanceof Error?y.message:`start interrupted before watchdog spawn: ${String(y)}`}}let f;try{let y=aj(u.command,[...u.args],{cwd:e.definition.cwd,detached:!0,stdio:["ignore",c,c],env:{...process.env,ELECTRON_RUN_AS_NODE:"1"}});y.unref(),f=y.pid}catch(y){return{ok:!1,error:`spawn failed: ${y instanceof Error?y.message:String(y)}`}}finally{try{Ci(c)}catch(y){t("dev_services.log_close_failed",{name:r,message:y instanceof Error?y.message:String(y)})}}if(f===void 0)return{ok:!1,error:"spawn failed: no pid"};let h={...l,desiredState:"running",pid:f,failure:void 0},g=Nl(e.scopeDir,h,t,e.afterFinalRecordLockedForTest);return g.ok?(t("dev_services.started",{name:r,pid:f,owner_pid:e.ownerPid,cwd:e.definition.cwd,ports:[...h.ports]}),{ok:!0,record:h}):(g.persisted||await Dl(f,t,r,0),g)}async function Dl(e,t,r,n=3e3){if(e===void 0||e<=1)return;try{process.kill(-e,"SIGTERM")}catch{return}let o=Date.now()+n;for(;Date.now()<o;){if(!H_(e))return;await new Promise(s=>setTimeout(s,100))}try{process.kill(-e,"SIGKILL"),t("dev_services.stop_escalated",{name:r,pgid:e})}catch{}}async function Vl(e){let t=e.log??Ll,r=Ul(e.scopeDir,e.name);if(r===void 0)return{ok:!1,error:`unknown service: ${e.name}`};ql(e.scopeDir,r)&&await Dl(r.pid,t,r.name);let n={...r,desiredState:"stopped",pid:void 0,ownerPid:void 0,updatedAtMs:e.nowMs??Date.now(),failure:void 0},o=Nl(e.scopeDir,n,t);return o.ok?(t("dev_services.stopped",{name:r.name}),{ok:!0,record:n}):o}async function G_(e){let t=e.log??Ll,r=await Vl(e);if(!r.ok)return r;try{Ai(Tn(e.scopeDir,r.record.name),{force:!0}),Ai(Zl(e.scopeDir,r.record.name),{force:!0})}catch(n){let o=n instanceof Error?n.message:String(n);return t("dev_services.remove_failed",{name:r.record.name,message:o}),{ok:!1,error:`could not remove dev service "${r.record.name}": ${o}`}}return r}function Q_(e,t,r=16384){let n=Ni(t);if(n===void 0)return;let o=B_(e,n),s;try{s=Z_(o,"r");let i=nj(s).size,a=Math.min(i,r),c=Buffer.alloc(a);return sj(s,c,0,a,i-a),c.toString("utf8")}catch{return}finally{if(s!==void 0)try{Ci(s)}catch{}}}var EN=10*6e4;function Y_(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 X_(e){return`${JSON.stringify({mcpServers:{[e.name]:{command:e.command,args:e.args,env:e.env}}},null,2)}
251
251
  `}function eb(e){return`[mcp_servers.${e.name}]
252
252
  command = ${JSON.stringify(e.command)}
253
- args = ${zj(e.args)}
254
- ${Object.keys(e.env).length===0?"":`env = ${Pj(e.env)}
255
- `}`}function zj(e){return`[${e.map(t=>JSON.stringify(t)).join(", ")}]`}function Pj(e){return`{ ${Object.entries(e).map(([r,n])=>`${r} = ${JSON.stringify(n)}`).join(", ")} }`}var tb="linzumi_ask_user_question",Zo=4,Uo=12,qo=2,Jo=4,rb="Other";var nb=2147483647,Tj=2147483,EN=Tj*1e3-5*6e4,ob="linzumi_ask_user_question",sb="plan_mode_native_interview_tool",ib="no_active_turn";function Rj(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 ab(e){let t=Te(e),r=Zr(t?.questions);if(r===void 0)return{type:"invalid",message:"questions: expected an array"};if(r.length===0)return{type:"invalid",message:"questions: min 1, got 0"};if(r.length>Zo)return{type:"invalid",message:`questions: max ${Zo}, got ${r.length}`};let n=[],o=new Set;for(let[s,i]of r.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 d=ye(a.header);if(d===void 0)return{type:"invalid",message:`questions[${s}].header: must be a non-empty string`};if(d.length>Uo)return{type:"invalid",message:`questions[${s}].header: max ${Uo} chars, got ${d.length}`};if(a.multiSelect!==void 0&&typeof a.multiSelect!="boolean")return{type:"invalid",message:`questions[${s}].multiSelect: must be a boolean`};let u=Zr(a.options);if(u===void 0)return{type:"invalid",message:`questions[${s}].options: expected an array`};if(u.length<qo)return{type:"invalid",message:`questions[${s}].options: min ${qo}, got ${u.length}`};if(u.length>Jo)return{type:"invalid",message:`questions[${s}].options: max ${Jo}, got ${u.length}`};let l=[],m=new Set;for(let[f,h]of u.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(Rj(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),n.push({question:c,header:d,options:l,multiSelect:a.multiSelect===!0})}return{type:"ok",request:{questions:n}}}function cb(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:{[ob]:{version:1,questions:e.questions.map(t=>({question:t.question,header:t.header,multiSelect:t.multiSelect,options:t.options.map(r=>({label:r.label,description:r.description}))}))}}}}function db(e,t){let r=Te(t??void 0);if(r===void 0)return{type:"invalid",message:"the runner accepted the interview but returned no answers; it may predate linzumi_ask_user_question support"};let n={};for(let o of e.questions){let s=r[o.question];if(typeof s!="string")return{type:"invalid",message:`the runner returned no answer for question ${JSON.stringify(o.question)}`};try{n[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:n}}function ub(e){return ye(Te(Te(e)?.[ob])?.reason)}var lb=`<linzumi_markdown_media_guidance>
253
+ args = ${Tj(e.args)}
254
+ ${Object.keys(e.env).length===0?"":`env = ${Rj(e.env)}
255
+ `}`}function Tj(e){return`[${e.map(t=>JSON.stringify(t)).join(", ")}]`}function Rj(e){return`{ ${Object.entries(e).map(([r,n])=>`${r} = ${JSON.stringify(n)}`).join(", ")} }`}var tb="linzumi_ask_user_question",Zo=4,Uo=12,qo=2,Jo=4,rb="Other";var nb=2147483647,jj=2147483,AN=jj*1e3-5*6e4,ob="linzumi_ask_user_question",sb="plan_mode_native_interview_tool",ib="no_active_turn";function Oj(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 ab(e){let t=Te(e),r=Zr(t?.questions);if(r===void 0)return{type:"invalid",message:"questions: expected an array"};if(r.length===0)return{type:"invalid",message:"questions: min 1, got 0"};if(r.length>Zo)return{type:"invalid",message:`questions: max ${Zo}, got ${r.length}`};let n=[],o=new Set;for(let[s,i]of r.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 d=ye(a.header);if(d===void 0)return{type:"invalid",message:`questions[${s}].header: must be a non-empty string`};if(d.length>Uo)return{type:"invalid",message:`questions[${s}].header: max ${Uo} chars, got ${d.length}`};if(a.multiSelect!==void 0&&typeof a.multiSelect!="boolean")return{type:"invalid",message:`questions[${s}].multiSelect: must be a boolean`};let u=Zr(a.options);if(u===void 0)return{type:"invalid",message:`questions[${s}].options: expected an array`};if(u.length<qo)return{type:"invalid",message:`questions[${s}].options: min ${qo}, got ${u.length}`};if(u.length>Jo)return{type:"invalid",message:`questions[${s}].options: max ${Jo}, got ${u.length}`};let l=[],m=new Set;for(let[f,h]of u.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(Oj(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),n.push({question:c,header:d,options:l,multiSelect:a.multiSelect===!0})}return{type:"ok",request:{questions:n}}}function cb(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:{[ob]:{version:1,questions:e.questions.map(t=>({question:t.question,header:t.header,multiSelect:t.multiSelect,options:t.options.map(r=>({label:r.label,description:r.description}))}))}}}}function db(e,t){let r=Te(t??void 0);if(r===void 0)return{type:"invalid",message:"the runner accepted the interview but returned no answers; it may predate linzumi_ask_user_question support"};let n={};for(let o of e.questions){let s=r[o.question];if(typeof s!="string")return{type:"invalid",message:`the runner returned no answer for question ${JSON.stringify(o.question)}`};try{n[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:n}}function ub(e){return ye(Te(Te(e)?.[ob])?.reason)}var lb=`<linzumi_markdown_media_guidance>
256
256
  Some Linzumi users have opted into rich Markdown media rendering. When you are
257
257
  writing a visible Linzumi message, channel message, or thread reply, you may use
258
258
  these Markdown-compatible media directives:
@@ -355,7 +355,7 @@ Why bad: External image hosts are intentionally not auto-rendered; attach the im
355
355
  Use media directives only after upload/attach returns a Linzumi download URL.
356
356
  Keep "src" required, all other fields optional, and never exceed 10 embeds in one message.
357
357
  </media_reminder>
358
- </linzumi_markdown_media_guidance>`;var jj=p.discriminatedUnion("type",[p.object({type:p.literal("text"),text:p.string(),style:p.array(p.enum(["bold","italic","code"])).optional()}).strict(),p.object({type:p.literal("actor"),user_id:p.number().int().positive(),fallback:p.string().min(1)}).strict()]),Jr=p.array(p.object({kind:p.literal("prose"),tokens:p.array(jj).min(1)}).strict()).min(1).describe("Canonical BlockSequence. Actor mentions must be actor tokens; literal @ text stays a text token."),pb=64;function Oj(e){switch(e){case"all":return!0;case"coding":case"onboarding-discovery":return!1}}function Ej(e){switch(e){case"voice":return!0;case"text":return!1}}function Ij(e){return e.trim().replace(/^:+/,"").replace(/:+$/,"").toLowerCase()}var mb=p.string().min(1).refine(e=>Ij(e).length<=pb,{message:`Custom emoji shortcode name must be at most ${pb} characters after trimming surrounding colons.`}),Cj=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"}],["multi-agent-jobs",{kind:"boolean"}],["include-token",{kind:"boolean"}],["help",{kind:"boolean"}]]);async function bb(e){let[t,...r]=e;switch(t){case void 0:case"--help":case"-h":process.stdout.write(vb());return;case"server":await Aj(r);return;case"config":await Vj(r);return;case"doctor":await Bj(r);return;default:throw new Error(`unknown linzumi mcp command: ${t}`)}}function vb(){return`Linzumi MCP
358
+ </linzumi_markdown_media_guidance>`;var Ej=p.discriminatedUnion("type",[p.object({type:p.literal("text"),text:p.string(),style:p.array(p.enum(["bold","italic","code"])).optional()}).strict(),p.object({type:p.literal("actor"),user_id:p.number().int().positive(),fallback:p.string().min(1)}).strict()]),Jr=p.array(p.object({kind:p.literal("prose"),tokens:p.array(Ej).min(1)}).strict()).min(1).describe("Canonical BlockSequence. Actor mentions must be actor tokens; literal @ text stays a text token."),pb=64;function Ij(e){switch(e){case"all":return!0;case"coding":case"onboarding-discovery":return!1}}function Cj(e){switch(e){case"voice":return!0;case"text":return!1}}function Aj(e){return e.trim().replace(/^:+/,"").replace(/:+$/,"").toLowerCase()}var mb=p.string().min(1).refine(e=>Aj(e).length<=pb,{message:`Custom emoji shortcode name must be at most ${pb} characters after trimming surrounding colons.`}),Mj=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"}],["multi-agent-jobs",{kind:"boolean"}],["include-token",{kind:"boolean"}],["help",{kind:"boolean"}]]);async function wb(e){let[t,...r]=e;switch(t){case void 0:case"--help":case"-h":process.stdout.write(kb());return;case"server":await Nj(r);return;case"config":await Hj(r);return;case"doctor":await Kj(r);return;default:throw new Error(`unknown linzumi mcp command: ${t}`)}}function kb(){return`Linzumi MCP
359
359
 
360
360
  Usage:
361
361
  linzumi mcp server --api-url <url> [--mode voice|text] [--workspace <slug> --channel <slug>]
@@ -449,6 +449,6 @@ Tools:
449
449
  Auth:
450
450
  Uses --token, LINZUMI_MCP_ACCESS_TOKEN, or cached local runner OAuth from linzumi auth.
451
451
  Hosted personal agents use --delegation-auth-file with a signed delegation grant.
452
- `}async function Aj(e){let t=Wl(e);if(t.get("help")===!0){process.stdout.write(vb());return}let r=Kl(t,"api-url"),n=await Bl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")}),o=re(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,s=Hl(re(t,"mode")),i=wb(re(t,"tool-scope")),a=re(t,"cwd")??process.cwd(),c=re(t,"thread-id")??process.env.LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID,d=Al({kandanUrl:r,accessToken:n.accessToken,authMode:n.mode,operatingMode:s}),u=new Ri({name:"linzumi",version:"0.1.0"});Fj(u),Nj(u,{client:d,toolScope:i,operatingMode:s,cwd:a,kandanUrl:r,defaultThreadId:c,ownerUsername:o,agentSession:t.get("agent-session")===!0,documentSurfaces:jl(n.accessToken),askUserQuestionTool:t.get("ask-user-question-tool")===!0,devServices:Mj(process.env),multiAgentJobs:t.get("multi-agent-jobs")===!0}),await u.connect(new Oi)}function Mj(e){let t=e.LINZUMI_DEV_SERVICES_SCOPE?.trim(),r=Number.parseInt(e.LINZUMI_DEV_SERVICES_OWNER_PID??"",10);if(!(t===void 0||t===""||!Number.isInteger(r)||r<=0))return{scopeDir:V_(t),ownerPid:r}}function Nj(e,t){let{client:r,toolScope:n,operatingMode:o,cwd:s,kandanUrl:i,defaultThreadId:a,ownerUsername:c,agentSession:d,devServices:u}=t,l=n==="all"||n==="coding";if(t.askUserQuestionTool===!0&&e.tool(tb,`Ask the user up to ${Zo} 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 ${Uo} chars) and ${qo}-${Jo} options {label, description}; a built-in "${rb}" 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 ${Uo} 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(`${qo}-${Jo} options for this question.`),multiSelect:p.boolean().optional().describe("True lets the user select several options; the answer becomes an array.")})).describe(`1-${Zo} questions to ask atomically.`)},async m=>Hj((f,h)=>e.server.elicitInput(f,h),m)),t.documentSurfaces===!0){let m=async(f,h)=>z(await r.agentDocumentTool({...h,tool:f}));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:p.string().min(1).describe("Document title or content search query.")},async f=>m("lookup_documents",f)),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:p.string().uuid().describe("Document UUID.")},async f=>m("read_document",f)),d?(e.tool("linzumi_append_document_section","Use this tool for append-shaped document requests: add or append a new section, or add or update a tracker row as new section content, including parent-delegated work. After resolving exactly one patch target document and reading it, call this tool in the same turn; do not merely reply with suggested prose. Other authorized context documents do not make the patch target ambiguous. Supply only the heading and body Markdown: the server composes the closed structural operations. Every change is proposal-always.",{document_id:p.string().uuid().describe("Document UUID."),heading:p.string().trim().min(1).describe("Section heading."),body_markdown:p.string().trim().min(1).describe("Section body as Markdown authored by the model.")},async f=>m("append_document_section",f)),e.tool("linzumi_replace_section","Use this tool for targeted section rewrites, fixes, and tightening. After resolving exactly one patch target document and reading it, identify the section by exact heading text or its heading block UUID and supply the replacement body Markdown. The server rejects missing and ambiguous headings with actionable typed errors and composes the closed structural operations. Every change is proposal-always.",{document_id:p.string().uuid().describe("Document UUID."),heading_or_section_ref:p.string().trim().min(1).describe("Exact heading text or heading block UUID from read_document."),body_markdown:p.string().trim().min(1).describe("Replacement section body as Markdown.")},async f=>m("replace_section",f)),e.tool("linzumi_decline_document_action","Decline the current document action when neither advertised document intent can express it. Give a clear reason; the server relays it verbatim with an honest decline prefix and satisfies the action binding.",{reason:p.string().refine(f=>f.trim().length>0,{message:"Reason must contain non-whitespace text."}).describe("Clear reason the available document intents cannot express the request.")},async f=>z(await r.declineDocumentAction({reason:f.reason})))):e.tool("linzumi_propose_document_patch","Submit a raw revisioned structural document patch. This power/API surface requires the caller to compose the closed operation vocabulary. Create a native data-bound table with the atomic create_bound_table operation containing bindingId, block, and binding; rows remain source data and must not be copied into the block. Every change is proposal-always.",{document_id:p.string().uuid().describe("Document UUID."),patch:p.object({baseRevision:p.number().int().nonnegative(),operations:p.array(p.record(p.unknown())),title:p.string().min(1).optional()}).describe("Revisioned structural document patch."),rationale:p.string().min(1).describe("Why this change is proposed.")},async f=>m("propose_document_patch",f)),d||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:p.string().min(1).describe("Document title."),initial_patch:p.record(p.unknown()).describe("Bootstrap structural patch."),folder_id:p.string().uuid().optional().describe("Destination folder UUID.")},async f=>m("create_document",f))}if(d){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."),tokens:Jr.optional()},async f=>z(await r.agentReply({body:f.body,...f.tokens===void 0?{}:{tokens:f.tokens}})));let m=async(f,h)=>z(await r.agentTopicTool({...h,tool:f}));e.tool("linzumi_create_topic_wake_subscription","Create or update a standing subscription that wakes @linzumi when new entries land on an existing workspace topic. Use this when the user asks you to watch a topic and perform an ongoing job. The server stores the instruction, derives the creator from the current asker, and targets this conversation; do not claim success without calling this tool.",{topic_slug:p.string().min(1).describe("Existing workspace topic slug to watch."),instruction:p.string().min(1).max(4e3).describe("Standing job to execute whenever a matching topic entry wakes the agent.")},async f=>m("create_topic_wake_subscription",f)),e.tool("linzumi_disable_topic_wake_subscription","Disable the current asker's standing @linzumi wake subscription for a topic. The durable row and cursor are retained so reactivation can drain the disabled-period backlog.",{topic_slug:p.string().min(1).describe("Workspace topic slug whose standing wake should stop.")},async f=>m("disable_topic_wake_subscription",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()=>z(await r.agentListCodingJobs({}))),e.tool("linzumi_start_coding_job","Start a coding job exactly as if the asking user clicked start: same runner/channel authorization, same pipeline. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",{channel: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=>z(await r.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=>z(await r.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."),tokens:Jr.optional(),delivery:p.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")},async f=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.agentUnpinMessage(f)))}n==="all"&&(e.tool("linzumi_get_message","Read one Linzumi message by scoped message_seq/message_id or a Linzumi message URL, with optional bounded before/after context.",{workspace: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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.fetchUrl(m)))),n==="all"&&(e.tool("linzumi_list_ui_targets","List every UI surface you can ask the user to open in their own Linzumi window (channels, DMs, threads, projects, coding jobs, computers, catch-up, activity, settings tabs, pane layouts) with the structured args each kind takes. Use UI control only when the user asks for help or asks to be shown something.",{},async()=>await _b(r.listUiTargets({}))),e.tool("linzumi_open_ui","Ask the user to open one whitelisted UI surface in their own already-open Linzumi window. A consent toast appears in THEIR session; navigation happens only if they tap Open. The call blocks until they decide and returns status opened/dismissed/expired - or error no_active_ui_session when they have no Linzumi window open (tell them to open Linzumi), or invalid_target with a detail. Use it only when the user asks for help or asks to be shown something; kinds and per-kind args come from linzumi_list_ui_targets.",{kind: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 _b(r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=hb(m.target,a);try{let h=await Zj({client:r,cwd:s,kandanUrl:i,target:f,files:m.files,workspace:m.workspace,channel:m.channel,body:m.body});return z(gb(i,h))}catch(h){throw Lj(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=>z(gb(i,await r.editMessage({...m,target:hb(m.target,a)}))))),n==="all"&&(e.tool("linzumi_list_vault_secrets","List vault secret names, descriptions, and whether each secret is personal or workspace-owned. Does not return secret values.",{},async m=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.getCallTranscript(m))),d||(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=>z(await r.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=>z(await r.agentSpawnChildJob(gt(m,a)))),e.tool("linzumi_archive_child_job","Archive a coding job that is YOUR OWN job or one beneath it in your job tree, retiring it from the active lists, the org map and the needs-you deck; history is preserved and it can be unarchived. Use this to clean up child jobs you spawned that are finished or dead - do it in the current turn, never just promise it. Refused for sibling, parent or unrelated jobs, and for jobs that do not belong to the human you are working for. When the job still has live descendants the call returns confirmation_required with their exact count and ids; call again with descendant_action 'keep' (archive only this job, re-parenting its children) or 'cascade' (archive the whole subtree) plus those expected values.",{job_id:p.string().describe("The coding job id to archive: your own job, or any job beneath it in your tree."),outcome:p.enum(["completed","abandoned","superseded"]).describe("Why the job is being archived."),descendant_action:p.enum(["keep","cascade"]).optional().describe("Phase-2 choice when the job has live descendants. 'keep' archives only this job and re-parents its children; 'cascade' archives the whole subtree."),expected_descendant_count:p.number().int().optional().describe("The descendant_count returned by the phase-1 call."),expected_descendant_job_ids:p.array(p.string()).optional().describe("The descendant_job_ids returned by the phase-1 call; the call is refused if the subtree changed."),expected_descendant_fingerprint:p.string().optional().describe("The descendant_fingerprint returned by the phase-1 call.")},async m=>z(await r.agentArchiveChildJob(m))),e.tool("linzumi_unarchive_child_job","Unarchive a previously archived coding job that is YOUR OWN job or one beneath it in your job tree. It returns as hibernating and wakes when messaged. Same ownership scope as linzumi_archive_child_job. Refused when the job is not archived, or when its home thread already holds a live job.",{job_id:p.string().describe("The archived coding job id to bring back: your own job, or any job beneath it in your tree.")},async m=>z(await r.agentUnarchiveChildJob(m))),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=>z(await r.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."),tokens:Jr.optional(),delivery:p.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")},async m=>z(await r.agentSendCodingJobMessage({...m,source_thread_id:a})))))),Oj(n)&&(e.tool("linzumi_upload_custom_emoji","Upload a local image as a workspace custom emoji. For generated emoji art, create a transparent PNG with a simple centered subject, crisp edges, strong contrast, minimal tiny details, and enough outline/highlight separation to read at 16-24px on both dark and light backgrounds. Use lowercase shortcode names without colons unless preserving a user-provided :name:.",{name:mb.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=>z(await Uj({client:r,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:mb.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=>z(await r.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:lb}]})),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=>z(await r.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=>z(await r.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=>z(await r.noteOnboardingDiscoveryStatus(m))),n==="all"&&Ej(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."),tokens:Jr.optional()},async m=>{let f=m.owner_username??c;if(f===void 0)throw new Error("owner_username is required for linzumi_dm_owner");return z(await r.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."),tokens:Jr.optional()},async m=>z(await r.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."),tokens:Jr.optional()},async m=>z(await r.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."),tokens:Jr.optional()},async m=>z(await r.sendDm(m)))),n==="all"&&e.tool("linzumi_get_vault_values","Request values for explicit vault env var names after a thread-scoped human approval. Requires vault.read; thread_id resolves the approval thread.",{workspace: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=>z(await r.getVaultValues(m))),n==="all"&&!d&&u!==void 0&&Dj(e,s,u)}function fb(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,failure:e.failure===void 0?null:{reason:e.failure.reason,at_ms:e.failure.atMs}}}function Dj(e,t,r){e.tool("linzumi_dev_service_start","Start a long-running local dev server (npm run dev, storybook, docker compose up, ...) as a MANAGED SERVICE owned by the Linzumi runner. Use this instead of running dev servers in your own shell: a managed service survives the end of your turn and branch switches, is auto-restarted if it crashes, and its declared ports are health-probed and surfaced in the product. Calling start for an existing name declaratively RESTARTS it (e.g. after a checkout). Declare EVERY port the app serves from (primary plus HMR/asset/bundle sibling ports).",{name: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 n=>{let o=await K_({scopeDir:r.scopeDir,definition:{name:n.name,command:n.command,cwd:n.cwd??t,ports:n.ports,restartOnBranchChange:n.restart_on_branch_change===!0},ownerPid:r.ownerPid});if(!o.ok)return z({ok:!1,error:o.error});let s=Date.now()+(n.wait_for_ports_ms??15e3),i=o.record.ports.length===0;for(;!i&&Date.now()<s;)i=(await Promise.all(o.record.ports.map(u=>Jl(u)))).every(u=>u),i||await new Promise(u=>setTimeout(u,250));let c=(await Fl(r.scopeDir)).find(d=>d.record.name===o.record.name);return z({ok:!0,service:c===void 0?{name:o.record.name}:fb(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 n=>{let o=await Vl({scopeDir:r.scopeDir,name:n.name});return z(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 / failed / stopped), per-port health probes, last exit, and any terminal failure reason. Live state - always check this before concluding a dev server is up or down.",{},async()=>{let n=await Fl(r.scopeDir);return z({services:n.map(o=>fb(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 n=>{let o=Q_(r.scopeDir,n.name,n.max_bytes??16384);return z(o===void 0?{ok:!1,error:`no log for service: ${n.name}`}:{ok:!0,name:n.name,log_tail:o})}),e.tool("linzumi_dev_service_remove","Stop a managed dev service AND delete its registration (it will not be resurrected on runner restart). Use stop instead when the user may want it back.",{name:p.string().min(1).describe("Service name to remove.")},async n=>{let o=await G_({scopeDir:r.scopeDir,name:n.name});return z(o.ok?{ok:!0,name:o.record.name,removed:!0}:{ok:!1,error:o.error})})}function Lj(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 Zj(e){let t=await Promise.all(e.files.map(i=>Cl(e.cwd,i))),r=ye(e.target.thread_id),n=await e.client.prepareMessageUploads({...e.workspace===void 0?{}:{workspace:e.workspace},...e.channel===void 0?{}:{channel:e.channel},...r===void 0?{}:{thread_id:r},files:t.map(i=>({file_name:i.fileName,content_type:i.contentType,size_bytes:i.sizeBytes}))}),o=Zr(n.uploads)??[];if(o.length!==t.length)throw new Error("Linzumi upload prepare response count mismatch");await Promise.all(t.map(async(i,a)=>{let c=Te(o[a]),d=ye(c?.upload_url),u=ye(c?.upload_method)??"PUT";if(d===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(Fo(e.kandanUrl,d),{method:u,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},...r===void 0?{}:{thread_id:r},target:e.target,...e.body===void 0?{}:{body:e.body},uploaded_file_ids:s})}async function Uj(e){let t=await Cl(e.cwd,e.file),r=await e.client.prepareCustomEmoji({...e.workspace===void 0?{}:{workspace:e.workspace},name:e.name,file_name:t.fileName,content_type:t.contentType,size_bytes:t.sizeBytes}),n=Te(r.upload),o=ye(n?.upload_url),s=ye(n?.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(Fo(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 We(g)&&typeof g.error=="string"?g.error:f}catch{return f}})();throw new Error(`Linzumi custom emoji upload failed: ${h}`)}let d=await c.json();if(!We(d))throw new Error("Linzumi custom emoji upload returned non-object JSON");let u=Te(d.custom_emoji);if(u===void 0)throw new Error("Linzumi custom emoji upload response missing custom_emoji");return{ok:!0,workspace:r.workspace,emoji:u,asset_id:ye(d.asset_id),id:M_(u?.id),name:ye(u?.name),shortcode:ye(u?.shortcode),image_url:ye(u?.image_url)}}function hb(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 Fo(e,t){try{return new URL(t).toString()}catch{let n=e.replace(/^wss:\/\//,"https://").replace(/^ws:\/\//,"http://");return new URL(t,n).toString()}}function gb(e,t){let r=Te(t.message),n=Te(t.target_message);return r===void 0&&n===void 0?t:{...t,...r===void 0?{}:{message:yb(e,r)},...n===void 0?{}:{target_message:yb(e,n)}}}function yb(e,t){let r=Zr(t.attachments);return r===void 0?t:{...t,attachments:r.map(n=>qj(e,n))}}function qj(e,t){let r=Te(t);if(r===void 0)return t;let n=ye(r.url),o=Te(r.image_variants);return{...r,...n===void 0?{}:{url:Fo(e,n)},...o===void 0?{}:{image_variants:Jj(e,o)}}}function Jj(e,t){let r=ye(t.inline_url),n=ye(t.carousel_url);return{...t,...r===void 0?{}:{inline_url:Fo(e,r)},...n===void 0?{}:{carousel_url:Fo(e,n)}}}function Fj(e){e.server.registerCapabilities({resources:{listChanged:!1}}),e.server.setRequestHandler(an,()=>({resources:[]})),e.server.setRequestHandler(cn,()=>({resourceTemplates:[]}))}async function Vj(e){let t=Wl(e),r=Kl(t,"api-url"),n=re(t,"format")??"codex",o=Hl(re(t,"mode")),s=t.get("include-token")===!0?(await Bl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")})).accessToken:void 0,i=Y_({command:re(t,"command"),kandanUrl:r,accessToken:s,delegationAuthFilePath:re(t,"delegation-auth-file"),ownerUsername:re(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:o,toolScope:wb(re(t,"tool-scope")),multiAgentJobs:t.get("multi-agent-jobs")===!0});switch(n){case"codex":process.stdout.write(eb(i));return;case"claude-code":process.stdout.write(X_(i));return;default:throw new Error("--format must be codex or claude-code")}}async function Bj(e){let t=Wl(e),r=Kl(t,"api-url"),n=await Bl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")});switch(n.mode){case"local-runner":{if(!await o_({kandanUrl:r,accessToken:n.accessToken,workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")}))throw new Error("Linzumi MCP auth validation failed");break}case"personal-agent-delegation":{await Al({kandanUrl:r,accessToken:n.accessToken,authMode:n.mode,operatingMode:Hl(re(t,"mode"))}).validateAuth();break}}process.stdout.write(`Linzumi MCP auth OK
453
- `)}async function Bl(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:d_(e.delegationAuthFilePath).accessToken,mode:"personal-agent-delegation"}}return{accessToken:await Wj({kandanUrl:e.kandanUrl,explicitToken:e.explicitToken,authFilePath:e.authFilePath,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug}),mode:"local-runner"}}async function Wj(e,t={readCachedToken:Ii,validateTokenOutcome:Mo,resolveToken:A_}){let r=e.explicitToken??t.readCachedToken(e.kandanUrl,e.authFilePath)?.accessToken;if(r===void 0)throw new Error("missing Linzumi MCP token; run linzumi auth or pass --token");let n=await t.validateTokenOutcome({kandanUrl:e.kandanUrl,accessToken:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug});if(n==="usable")return r;let o=n;try{return await t.resolveToken({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,authFilePath:e.authFilePath})}catch(s){throw new Error(`Linzumi MCP token was rejected by the server and re-mint failed: ${s instanceof Error?s.message:String(s)}`)}}function sr(e){return{content:[{type:"text",text:e}],isError:!0}}async function Hj(e,t){let r=ab(t);if(r.type==="invalid")return sr(r.message);let n;try{n=await e(cb(r.request),{timeout:nb})}catch(o){return sr(`the interview could not be delivered to the user: ${o instanceof Error?o.message:String(o)}`)}switch(n.action){case"accept":{let o=db(r.request,n.content??void 0);switch(o.type){case"ok":return z({answers:o.answers});case"invalid":return sr(o.message)}break}case"decline":switch(ub(n._meta)){case sb:return sr("linzumi_ask_user_question is unavailable during a Plan-mode turn: use the native request_user_input interview tool instead");case ib:return sr("the interview was declined: no active turn is bound to this session");default:return sr("the interview request was declined by the runner")}case"cancel":return sr("the user dismissed the question without answering");default:return sr(`the interview returned an unknown action: ${String(n.action)}`)}}function z(e){return{content:[{type:"text",text:JSON.stringify(e,null,2)}],structuredContent:e}}async function _b(e){try{return z(await e)}catch(t){let r=t instanceof Error?t.message:String(t),n=r.match(/failed: ([a-z0-9_]+)(?: detail=(.+))?$/);if(n===null)return z({error:r});let[,o,s]=n;return z(s===void 0?{error:o??r}:{error:o??r,detail:s})}}function Wl(e){let t=new Map;for(let r=0;r<e.length;r+=1){let n=e[r];if(n===void 0)continue;if(!n.startsWith("--"))throw new Error(`unexpected argument ${n}`);let o=n.slice(2),s=Cj.get(o);if(s===void 0)throw new Error(`unsupported option --${o}`);if(s.kind==="boolean"){t.set(o,!0);continue}let i=e[r+1];if(i===void 0||i.startsWith("--"))throw new Error(`--${o} requires a value`);t.set(o,i),r+=1}return t}function re(e,t){let r=e.get(t);return typeof r=="string"&&r.trim()!==""?r:void 0}function Hl(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 wb(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 Kl(e,t){let r=re(e,t);if(r===void 0)throw new Error(`--${t} is required`);return r}function Gj(e){return e[0]==="mcp"?e.slice(1):e}async function Qj(e){try{await bb(Gj(e))}catch(t){process.stderr.write(`linzumi mcp server failed: ${t instanceof Error?t.message:String(t)}
454
- `),process.exitCode=1}}var Yj=process.argv[1]!==void 0&&import.meta.url===Kj(process.argv[1]).href;Yj&&Qj(process.argv.slice(2));export{Gj as mcpServerEntryArgs,Qj as runMcpServerEntry};
452
+ `}async function Nj(e){let t=Wl(e);if(t.get("help")===!0){process.stdout.write(kb());return}let r=Kl(t,"api-url"),n=await Bl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")}),o=re(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,s=Hl(re(t,"mode")),i=xb(re(t,"tool-scope")),a=re(t,"cwd")??process.cwd(),c=re(t,"thread-id")??process.env.LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID,d=Al({kandanUrl:r,accessToken:n.accessToken,authMode:n.mode,operatingMode:s}),u=new Ri({name:"linzumi",version:"0.1.0"});Wj(u),Zj(u,{client:d,toolScope:i,operatingMode:s,cwd:a,kandanUrl:r,defaultThreadId:c,ownerUsername:o,agentSession:t.get("agent-session")===!0,documentSurfaces:jl(n.accessToken),askUserQuestionTool:t.get("ask-user-question-tool")===!0,devServices:Lj(process.env),multiAgentJobs:t.get("multi-agent-jobs")===!0}),await u.connect(new Oi)}var fb="One or two sentences a teammate skimming the board would want: what changed, and what happens next. Standup register, present tense, name agents and lanes plainly. No thread ids or UUIDs unless needed for lookup; proofs and evidence belong in the thread, not here. Good: 'Retired the silent watchdog and spawned Thorne to replace it \u2014 running lean at three children.' Bad: 'Broken 67f1d639 archived abandoned; board claim preceded spawn; children verified at exactly 3.'",Dj=new Intl.Segmenter("en",{granularity:"grapheme"}),hb=p.string().min(1).refine(e=>Array.from(Dj.segment(e)).length<=240,{message:"status_note over 240 chars \u2014 trim to what a reader needs; put evidence in the thread."});function Lj(e){let t=e.LINZUMI_DEV_SERVICES_SCOPE?.trim(),r=Number.parseInt(e.LINZUMI_DEV_SERVICES_OWNER_PID??"",10);if(!(t===void 0||t===""||!Number.isInteger(r)||r<=0))return{scopeDir:V_(t),ownerPid:r}}function Zj(e,t){let{client:r,toolScope:n,operatingMode:o,cwd:s,kandanUrl:i,defaultThreadId:a,ownerUsername:c,agentSession:d,devServices:u}=t,l=n==="all"||n==="coding";if(t.askUserQuestionTool===!0&&e.tool(tb,`Ask the user up to ${Zo} 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 ${Uo} chars) and ${qo}-${Jo} options {label, description}; a built-in "${rb}" 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 ${Uo} 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(`${qo}-${Jo} options for this question.`),multiSelect:p.boolean().optional().describe("True lets the user select several options; the answer becomes an array.")})).describe(`1-${Zo} questions to ask atomically.`)},async m=>Qj((f,h)=>e.server.elicitInput(f,h),m)),t.documentSurfaces===!0){let m=async(f,h)=>z(await r.agentDocumentTool({...h,tool:f}));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:p.string().min(1).describe("Document title or content search query.")},async f=>m("lookup_documents",f)),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:p.string().uuid().describe("Document UUID.")},async f=>m("read_document",f)),d?(e.tool("linzumi_append_document_section","Use this tool for append-shaped document requests: add or append a new section, or add or update a tracker row as new section content, including parent-delegated work. After resolving exactly one patch target document and reading it, call this tool in the same turn; do not merely reply with suggested prose. Other authorized context documents do not make the patch target ambiguous. Supply only the heading and body Markdown: the server composes the closed structural operations. Every change is proposal-always.",{document_id:p.string().uuid().describe("Document UUID."),heading:p.string().trim().min(1).describe("Section heading."),body_markdown:p.string().trim().min(1).describe("Section body as Markdown authored by the model.")},async f=>m("append_document_section",f)),e.tool("linzumi_replace_section","Use this tool for targeted section rewrites, fixes, and tightening. After resolving exactly one patch target document and reading it, identify the section by exact heading text or its heading block UUID and supply the replacement body Markdown. The server rejects missing and ambiguous headings with actionable typed errors and composes the closed structural operations. Every change is proposal-always.",{document_id:p.string().uuid().describe("Document UUID."),heading_or_section_ref:p.string().trim().min(1).describe("Exact heading text or heading block UUID from read_document."),body_markdown:p.string().trim().min(1).describe("Replacement section body as Markdown.")},async f=>m("replace_section",f)),e.tool("linzumi_decline_document_action","Decline the current document action when neither advertised document intent can express it. Give a clear reason; the server relays it verbatim with an honest decline prefix and satisfies the action binding.",{reason:p.string().refine(f=>f.trim().length>0,{message:"Reason must contain non-whitespace text."}).describe("Clear reason the available document intents cannot express the request.")},async f=>z(await r.declineDocumentAction({reason:f.reason})))):e.tool("linzumi_propose_document_patch","Submit a raw revisioned structural document patch. This power/API surface requires the caller to compose the closed operation vocabulary. Create a native data-bound table with the atomic create_bound_table operation containing bindingId, block, and binding; rows remain source data and must not be copied into the block. Every change is proposal-always.",{document_id:p.string().uuid().describe("Document UUID."),patch:p.object({baseRevision:p.number().int().nonnegative(),operations:p.array(p.record(p.unknown())),title:p.string().min(1).optional()}).describe("Revisioned structural document patch."),rationale:p.string().min(1).describe("Why this change is proposed.")},async f=>m("propose_document_patch",f)),d||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:p.string().min(1).describe("Document title."),initial_patch:p.record(p.unknown()).describe("Bootstrap structural patch."),folder_id:p.string().uuid().optional().describe("Destination folder UUID.")},async f=>m("create_document",f))}if(d){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."),tokens:Jr.optional()},async f=>z(await r.agentReply({body:f.body,...f.tokens===void 0?{}:{tokens:f.tokens}})));let m=async(f,h)=>z(await r.agentTopicTool({...h,tool:f}));e.tool("linzumi_create_topic_wake_subscription","Create or update a standing subscription that wakes @linzumi when new entries land on an existing workspace topic. Use this when the user asks you to watch a topic and perform an ongoing job. The server stores the instruction, derives the creator from the current asker, and targets this conversation; do not claim success without calling this tool.",{topic_slug:p.string().min(1).describe("Existing workspace topic slug to watch."),instruction:p.string().min(1).max(4e3).describe("Standing job to execute whenever a matching topic entry wakes the agent.")},async f=>m("create_topic_wake_subscription",f)),e.tool("linzumi_disable_topic_wake_subscription","Disable the current asker's standing @linzumi wake subscription for a topic. The durable row and cursor are retained so reactivation can drain the disabled-period backlog.",{topic_slug:p.string().min(1).describe("Workspace topic slug whose standing wake should stop.")},async f=>m("disable_topic_wake_subscription",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()=>z(await r.agentListCodingJobs({}))),e.tool("linzumi_start_coding_job","Start a coding job exactly as if the asking user clicked start: same runner/channel authorization, same pipeline. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",{channel: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=>z(await r.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=>z(await r.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."),tokens:Jr.optional(),delivery:p.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")},async f=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.agentUnpinMessage(f)))}n==="all"&&(e.tool("linzumi_get_message","Read one Linzumi message by scoped message_seq/message_id or a Linzumi message URL, with optional bounded before/after context.",{workspace: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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.fetchUrl(m)))),n==="all"&&(e.tool("linzumi_list_ui_targets","List every UI surface you can ask the user to open in their own Linzumi window (channels, DMs, threads, projects, coding jobs, computers, catch-up, activity, settings tabs, pane layouts) with the structured args each kind takes. Use UI control only when the user asks for help or asks to be shown something.",{},async()=>await vb(r.listUiTargets({}))),e.tool("linzumi_open_ui","Ask the user to open one whitelisted UI surface in their own already-open Linzumi window. A consent toast appears in THEIR session; navigation happens only if they tap Open. The call blocks until they decide and returns status opened/dismissed/expired - or error no_active_ui_session when they have no Linzumi window open (tell them to open Linzumi), or invalid_target with a detail. Use it only when the user asks for help or asks to be shown something; kinds and per-kind args come from linzumi_list_ui_targets.",{kind: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 vb(r.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=>z(await r.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=>z(await r.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=>z(await r.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:hb.optional().describe(fb),completed_debrief:p.string().min(1).max(2e4).optional().describe("Required for completed steps. A short paragraph of plain prose for a teammate: what was done, and how we know it worked. Same voice as the note, just more room. Never a compliance recital. Put evidence and verification here.")})).min(1).max(50).describe("Ordered user-visible plan steps. Completed steps must include completed_debrief.")},async m=>z(await r.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:hb.optional().describe(fb),completed_debrief:p.string().min(1).max(2e4).optional().describe("Required when marking a step completed. A short paragraph of plain prose for a teammate: what was done, and how we know it worked. Same voice as the note, just more room. Never a compliance recital. Put evidence and verification here.")},async m=>z(await r.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=>z(await r.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=yb(m.target,a);try{let h=await Jj({client:r,cwd:s,kandanUrl:i,target:f,files:m.files,workspace:m.workspace,channel:m.channel,body:m.body});return z(_b(i,h))}catch(h){throw qj(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=>z(_b(i,await r.editMessage({...m,target:yb(m.target,a)}))))),n==="all"&&(e.tool("linzumi_list_vault_secrets","List vault secret names, descriptions, and whether each secret is personal or workspace-owned. Does not return secret values.",{},async m=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.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=>z(await r.getCallTranscript(m))),d||(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=>z(await r.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=>z(await r.agentSpawnChildJob(gt(m,a)))),e.tool("linzumi_archive_child_job","Archive a coding job that is YOUR OWN job or one beneath it in your job tree, retiring it from the active lists, the org map and the needs-you deck; history is preserved and it can be unarchived. Use this to clean up child jobs you spawned that are finished or dead - do it in the current turn, never just promise it. Refused for sibling, parent or unrelated jobs, and for jobs that do not belong to the human you are working for. When the job still has live descendants the call returns confirmation_required with their exact count and ids; call again with descendant_action 'keep' (archive only this job, re-parenting its children) or 'cascade' (archive the whole subtree) plus those expected values.",{job_id:p.string().describe("The coding job id to archive: your own job, or any job beneath it in your tree."),outcome:p.enum(["completed","abandoned","superseded"]).describe("Why the job is being archived."),descendant_action:p.enum(["keep","cascade"]).optional().describe("Phase-2 choice when the job has live descendants. 'keep' archives only this job and re-parents its children; 'cascade' archives the whole subtree."),expected_descendant_count:p.number().int().optional().describe("The descendant_count returned by the phase-1 call."),expected_descendant_job_ids:p.array(p.string()).optional().describe("The descendant_job_ids returned by the phase-1 call; the call is refused if the subtree changed."),expected_descendant_fingerprint:p.string().optional().describe("The descendant_fingerprint returned by the phase-1 call.")},async m=>z(await r.agentArchiveChildJob(m))),e.tool("linzumi_unarchive_child_job","Unarchive a previously archived coding job that is YOUR OWN job or one beneath it in your job tree. It returns as hibernating and wakes when messaged. Same ownership scope as linzumi_archive_child_job. Refused when the job is not archived, or when its home thread already holds a live job.",{job_id:p.string().describe("The archived coding job id to bring back: your own job, or any job beneath it in your tree.")},async m=>z(await r.agentUnarchiveChildJob(m))),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=>z(await r.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."),tokens:Jr.optional(),delivery:p.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")},async m=>z(await r.agentSendCodingJobMessage({...m,source_thread_id:a})))))),Ij(n)&&(e.tool("linzumi_upload_custom_emoji","Upload a local image as a workspace custom emoji. For generated emoji art, create a transparent PNG with a simple centered subject, crisp edges, strong contrast, minimal tiny details, and enough outline/highlight separation to read at 16-24px on both dark and light backgrounds. Use lowercase shortcode names without colons unless preserving a user-provided :name:.",{name:mb.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=>z(await Fj({client:r,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:mb.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=>z(await r.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:lb}]})),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=>z(await r.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=>z(await r.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=>z(await r.noteOnboardingDiscoveryStatus(m))),n==="all"&&Cj(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."),tokens:Jr.optional()},async m=>{let f=m.owner_username??c;if(f===void 0)throw new Error("owner_username is required for linzumi_dm_owner");return z(await r.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."),tokens:Jr.optional()},async m=>z(await r.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."),tokens:Jr.optional()},async m=>z(await r.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."),tokens:Jr.optional()},async m=>z(await r.sendDm(m)))),n==="all"&&e.tool("linzumi_get_vault_values","Request values for explicit vault env var names after a thread-scoped human approval. Requires vault.read; thread_id resolves the approval thread.",{workspace: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=>z(await r.getVaultValues(m))),n==="all"&&!d&&u!==void 0&&Uj(e,s,u)}function gb(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,failure:e.failure===void 0?null:{reason:e.failure.reason,at_ms:e.failure.atMs}}}function Uj(e,t,r){e.tool("linzumi_dev_service_start","Start a long-running local dev server (npm run dev, storybook, docker compose up, ...) as a MANAGED SERVICE owned by the Linzumi runner. Use this instead of running dev servers in your own shell: a managed service survives the end of your turn and branch switches, is auto-restarted if it crashes, and its declared ports are health-probed and surfaced in the product. Calling start for an existing name declaratively RESTARTS it (e.g. after a checkout). Declare EVERY port the app serves from (primary plus HMR/asset/bundle sibling ports).",{name: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 n=>{let o=await K_({scopeDir:r.scopeDir,definition:{name:n.name,command:n.command,cwd:n.cwd??t,ports:n.ports,restartOnBranchChange:n.restart_on_branch_change===!0},ownerPid:r.ownerPid});if(!o.ok)return z({ok:!1,error:o.error});let s=Date.now()+(n.wait_for_ports_ms??15e3),i=o.record.ports.length===0;for(;!i&&Date.now()<s;)i=(await Promise.all(o.record.ports.map(u=>Jl(u)))).every(u=>u),i||await new Promise(u=>setTimeout(u,250));let c=(await Fl(r.scopeDir)).find(d=>d.record.name===o.record.name);return z({ok:!0,service:c===void 0?{name:o.record.name}:gb(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 n=>{let o=await Vl({scopeDir:r.scopeDir,name:n.name});return z(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 / failed / stopped), per-port health probes, last exit, and any terminal failure reason. Live state - always check this before concluding a dev server is up or down.",{},async()=>{let n=await Fl(r.scopeDir);return z({services:n.map(o=>gb(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 n=>{let o=Q_(r.scopeDir,n.name,n.max_bytes??16384);return z(o===void 0?{ok:!1,error:`no log for service: ${n.name}`}:{ok:!0,name:n.name,log_tail:o})}),e.tool("linzumi_dev_service_remove","Stop a managed dev service AND delete its registration (it will not be resurrected on runner restart). Use stop instead when the user may want it back.",{name:p.string().min(1).describe("Service name to remove.")},async n=>{let o=await G_({scopeDir:r.scopeDir,name:n.name});return z(o.ok?{ok:!0,name:o.record.name,removed:!0}:{ok:!1,error:o.error})})}function qj(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=>Cl(e.cwd,i))),r=ye(e.target.thread_id),n=await e.client.prepareMessageUploads({...e.workspace===void 0?{}:{workspace:e.workspace},...e.channel===void 0?{}:{channel:e.channel},...r===void 0?{}:{thread_id:r},files:t.map(i=>({file_name:i.fileName,content_type:i.contentType,size_bytes:i.sizeBytes}))}),o=Zr(n.uploads)??[];if(o.length!==t.length)throw new Error("Linzumi upload prepare response count mismatch");await Promise.all(t.map(async(i,a)=>{let c=Te(o[a]),d=ye(c?.upload_url),u=ye(c?.upload_method)??"PUT";if(d===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(Fo(e.kandanUrl,d),{method:u,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},...r===void 0?{}:{thread_id:r},target:e.target,...e.body===void 0?{}:{body:e.body},uploaded_file_ids:s})}async function Fj(e){let t=await Cl(e.cwd,e.file),r=await e.client.prepareCustomEmoji({...e.workspace===void 0?{}:{workspace:e.workspace},name:e.name,file_name:t.fileName,content_type:t.contentType,size_bytes:t.sizeBytes}),n=Te(r.upload),o=ye(n?.upload_url),s=ye(n?.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(Fo(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 We(g)&&typeof g.error=="string"?g.error:f}catch{return f}})();throw new Error(`Linzumi custom emoji upload failed: ${h}`)}let d=await c.json();if(!We(d))throw new Error("Linzumi custom emoji upload returned non-object JSON");let u=Te(d.custom_emoji);if(u===void 0)throw new Error("Linzumi custom emoji upload response missing custom_emoji");return{ok:!0,workspace:r.workspace,emoji:u,asset_id:ye(d.asset_id),id:M_(u?.id),name:ye(u?.name),shortcode:ye(u?.shortcode),image_url:ye(u?.image_url)}}function yb(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 Fo(e,t){try{return new URL(t).toString()}catch{let n=e.replace(/^wss:\/\//,"https://").replace(/^ws:\/\//,"http://");return new URL(t,n).toString()}}function _b(e,t){let r=Te(t.message),n=Te(t.target_message);return r===void 0&&n===void 0?t:{...t,...r===void 0?{}:{message:bb(e,r)},...n===void 0?{}:{target_message:bb(e,n)}}}function bb(e,t){let r=Zr(t.attachments);return r===void 0?t:{...t,attachments:r.map(n=>Vj(e,n))}}function Vj(e,t){let r=Te(t);if(r===void 0)return t;let n=ye(r.url),o=Te(r.image_variants);return{...r,...n===void 0?{}:{url:Fo(e,n)},...o===void 0?{}:{image_variants:Bj(e,o)}}}function Bj(e,t){let r=ye(t.inline_url),n=ye(t.carousel_url);return{...t,...r===void 0?{}:{inline_url:Fo(e,r)},...n===void 0?{}:{carousel_url:Fo(e,n)}}}function Wj(e){e.server.registerCapabilities({resources:{listChanged:!1}}),e.server.setRequestHandler(an,()=>({resources:[]})),e.server.setRequestHandler(cn,()=>({resourceTemplates:[]}))}async function Hj(e){let t=Wl(e),r=Kl(t,"api-url"),n=re(t,"format")??"codex",o=Hl(re(t,"mode")),s=t.get("include-token")===!0?(await Bl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")})).accessToken:void 0,i=Y_({command:re(t,"command"),kandanUrl:r,accessToken:s,delegationAuthFilePath:re(t,"delegation-auth-file"),ownerUsername:re(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:o,toolScope:xb(re(t,"tool-scope")),multiAgentJobs:t.get("multi-agent-jobs")===!0});switch(n){case"codex":process.stdout.write(eb(i));return;case"claude-code":process.stdout.write(X_(i));return;default:throw new Error("--format must be codex or claude-code")}}async function Kj(e){let t=Wl(e),r=Kl(t,"api-url"),n=await Bl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")});switch(n.mode){case"local-runner":{if(!await o_({kandanUrl:r,accessToken:n.accessToken,workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")}))throw new Error("Linzumi MCP auth validation failed");break}case"personal-agent-delegation":{await Al({kandanUrl:r,accessToken:n.accessToken,authMode:n.mode,operatingMode:Hl(re(t,"mode"))}).validateAuth();break}}process.stdout.write(`Linzumi MCP auth OK
453
+ `)}async function Bl(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:d_(e.delegationAuthFilePath).accessToken,mode:"personal-agent-delegation"}}return{accessToken:await Gj({kandanUrl:e.kandanUrl,explicitToken:e.explicitToken,authFilePath:e.authFilePath,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug}),mode:"local-runner"}}async function Gj(e,t={readCachedToken:Ii,validateTokenOutcome:Mo,resolveToken:A_}){let r=e.explicitToken??t.readCachedToken(e.kandanUrl,e.authFilePath)?.accessToken;if(r===void 0)throw new Error("missing Linzumi MCP token; run linzumi auth or pass --token");let n=await t.validateTokenOutcome({kandanUrl:e.kandanUrl,accessToken:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug});if(n==="usable")return r;let o=n;try{return await t.resolveToken({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,authFilePath:e.authFilePath})}catch(s){throw new Error(`Linzumi MCP token was rejected by the server and re-mint failed: ${s instanceof Error?s.message:String(s)}`)}}function sr(e){return{content:[{type:"text",text:e}],isError:!0}}async function Qj(e,t){let r=ab(t);if(r.type==="invalid")return sr(r.message);let n;try{n=await e(cb(r.request),{timeout:nb})}catch(o){return sr(`the interview could not be delivered to the user: ${o instanceof Error?o.message:String(o)}`)}switch(n.action){case"accept":{let o=db(r.request,n.content??void 0);switch(o.type){case"ok":return z({answers:o.answers});case"invalid":return sr(o.message)}break}case"decline":switch(ub(n._meta)){case sb:return sr("linzumi_ask_user_question is unavailable during a Plan-mode turn: use the native request_user_input interview tool instead");case ib:return sr("the interview was declined: no active turn is bound to this session");default:return sr("the interview request was declined by the runner")}case"cancel":return sr("the user dismissed the question without answering");default:return sr(`the interview returned an unknown action: ${String(n.action)}`)}}function z(e){return{content:[{type:"text",text:JSON.stringify(e,null,2)}],structuredContent:e}}async function vb(e){try{return z(await e)}catch(t){let r=t instanceof Error?t.message:String(t),n=r.match(/failed: ([a-z0-9_]+)(?: detail=(.+))?$/);if(n===null)return z({error:r});let[,o,s]=n;return z(s===void 0?{error:o??r}:{error:o??r,detail:s})}}function Wl(e){let t=new Map;for(let r=0;r<e.length;r+=1){let n=e[r];if(n===void 0)continue;if(!n.startsWith("--"))throw new Error(`unexpected argument ${n}`);let o=n.slice(2),s=Mj.get(o);if(s===void 0)throw new Error(`unsupported option --${o}`);if(s.kind==="boolean"){t.set(o,!0);continue}let i=e[r+1];if(i===void 0||i.startsWith("--"))throw new Error(`--${o} requires a value`);t.set(o,i),r+=1}return t}function re(e,t){let r=e.get(t);return typeof r=="string"&&r.trim()!==""?r:void 0}function Hl(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 xb(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 Kl(e,t){let r=re(e,t);if(r===void 0)throw new Error(`--${t} is required`);return r}function Xj(e){return e[0]==="mcp"?e.slice(1):e}async function eO(e){try{await wb(Xj(e))}catch(t){process.stderr.write(`linzumi mcp server failed: ${t instanceof Error?t.message:String(t)}
454
+ `),process.exitCode=1}}var tO=process.argv[1]!==void 0&&import.meta.url===Yj(process.argv[1]).href;tO&&eO(process.argv.slice(2));export{Xj as mcpServerEntryArgs,eO as runMcpServerEntry};