context-mode 1.0.85 → 1.0.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/server.bundle.mjs CHANGED
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
- var _S=Object.create;var Da=Object.defineProperty;var yS=Object.getOwnPropertyDescriptor;var xS=Object.getOwnPropertyNames;var vS=Object.getPrototypeOf,SS=Object.prototype.hasOwnProperty;var $e=(t,e)=>()=>(t&&(e=t(t=0)),e);var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Je=(t,e)=>{for(var r in e)Da(t,r,{get:e[r],enumerable:!0})},kS=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of xS(e))!SS.call(t,o)&&o!==r&&Da(t,o,{get:()=>e[o],enumerable:!(n=yS(e,o))||n.enumerable});return t};var wf=(t,e,r)=>(r=t!=null?_S(vS(t)):{},kS(e||!t||!t.__esModule?Da(r,"default",{value:t,enumerable:!0}):r,t));var Fo=T(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.regexpCode=te.getEsmExportName=te.getProperty=te.safeStringify=te.stringify=te.strConcat=te.addCodeArg=te.str=te._=te.nil=te._Code=te.Name=te.IDENTIFIER=te._CodeOrName=void 0;var Uo=class{};te._CodeOrName=Uo;te.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Xr=class extends Uo{constructor(e){if(super(),!te.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};te.Name=Xr;var dt=class extends Uo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Xr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};te._Code=dt;te.nil=new dt("");function vg(t,...e){let r=[t[0]],n=0;for(;n<e.length;)vl(r,e[n]),r.push(t[++n]);return new dt(r)}te._=vg;var xl=new dt("+");function Sg(t,...e){let r=[Ho(t[0])],n=0;for(;n<e.length;)r.push(xl),vl(r,e[n]),r.push(xl,Ho(t[++n]));return xT(r),new dt(r)}te.str=Sg;function vl(t,e){e instanceof dt?t.push(...e._items):e instanceof Xr?t.push(e):t.push(kT(e))}te.addCodeArg=vl;function xT(t){let e=1;for(;e<t.length-1;){if(t[e]===xl){let r=vT(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function vT(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Xr||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Xr))return`"${t}${e.slice(1)}`}function ST(t,e){return e.emptyStr()?t:t.emptyStr()?e:Sg`${t}${e}`}te.strConcat=ST;function kT(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Ho(Array.isArray(t)?t.join(","):t)}function bT(t){return new dt(Ho(t))}te.stringify=bT;function Ho(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}te.safeStringify=Ho;function wT(t){return typeof t=="string"&&te.IDENTIFIER.test(t)?new dt(`.${t}`):vg`[${t}]`}te.getProperty=wT;function ET(t){if(typeof t=="string"&&te.IDENTIFIER.test(t))return new dt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}te.getEsmExportName=ET;function TT(t){return new dt(t.toString())}te.regexpCode=TT});var bl=T(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.ValueScope=et.ValueScopeName=et.Scope=et.varKinds=et.UsedValueState=void 0;var Qe=Fo(),Sl=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Oi;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Oi||(et.UsedValueState=Oi={}));et.varKinds={const:new Qe.Name("const"),let:new Qe.Name("let"),var:new Qe.Name("var")};var Ci=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Qe.Name?e:this.name(e)}name(e){return new Qe.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};et.Scope=Ci;var Ii=class extends Qe.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Qe._)`.${new Qe.Name(r)}[${n}]`}};et.ValueScopeName=Ii;var $T=(0,Qe._)`\n`,kl=class extends Ci{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?$T:Qe.nil}}get(){return this._scope}name(e){return new Ii(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Qe._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=Qe.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Oi.Started);let l=r(u);if(l){let d=this.opts.es5?et.varKinds.var:et.varKinds.const;s=(0,Qe._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Qe._)`${s}${l}${this.opts._n}`;else throw new Sl(u);c.set(u,Oi.Completed)})}return s}};et.ValueScope=kl});var q=T(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.or=B.and=B.not=B.CodeGen=B.operators=B.varKinds=B.ValueScopeName=B.ValueScope=B.Scope=B.Name=B.regexpCode=B.stringify=B.getProperty=B.nil=B.strConcat=B.str=B._=void 0;var X=Fo(),kt=bl(),pr=Fo();Object.defineProperty(B,"_",{enumerable:!0,get:function(){return pr._}});Object.defineProperty(B,"str",{enumerable:!0,get:function(){return pr.str}});Object.defineProperty(B,"strConcat",{enumerable:!0,get:function(){return pr.strConcat}});Object.defineProperty(B,"nil",{enumerable:!0,get:function(){return pr.nil}});Object.defineProperty(B,"getProperty",{enumerable:!0,get:function(){return pr.getProperty}});Object.defineProperty(B,"stringify",{enumerable:!0,get:function(){return pr.stringify}});Object.defineProperty(B,"regexpCode",{enumerable:!0,get:function(){return pr.regexpCode}});Object.defineProperty(B,"Name",{enumerable:!0,get:function(){return pr.Name}});var ji=bl();Object.defineProperty(B,"Scope",{enumerable:!0,get:function(){return ji.Scope}});Object.defineProperty(B,"ValueScope",{enumerable:!0,get:function(){return ji.ValueScope}});Object.defineProperty(B,"ValueScopeName",{enumerable:!0,get:function(){return ji.ValueScopeName}});Object.defineProperty(B,"varKinds",{enumerable:!0,get:function(){return ji.varKinds}});B.operators={GT:new X._Code(">"),GTE:new X._Code(">="),LT:new X._Code("<"),LTE:new X._Code("<="),EQ:new X._Code("==="),NEQ:new X._Code("!=="),NOT:new X._Code("!"),OR:new X._Code("||"),AND:new X._Code("&&"),ADD:new X._Code("+")};var Gt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},wl=class extends Gt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?kt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Mn(this.rhs,e,r)),this}get names(){return this.rhs instanceof X._CodeOrName?this.rhs.names:{}}},zi=class extends Gt{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof X.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Mn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof X.Name?{}:{...this.lhs.names};return Ai(e,this.rhs)}},El=class extends zi{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Tl=class extends Gt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},$l=class extends Gt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Pl=class extends Gt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Rl=class extends Gt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Mn(this.code,e,r),this}get names(){return this.code instanceof X._CodeOrName?this.code.names:{}}},qo=class extends Gt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(PT(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>tn(e,r.names),{})}},Yt=class extends qo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Ol=class extends qo{},jn=class extends Yt{};jn.kind="else";var Qr=class t extends Yt{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new jn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(kg(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Mn(this.condition,e,r),this}get names(){let e=super.names;return Ai(e,this.condition),this.else&&tn(e,this.else.names),e}};Qr.kind="if";var en=class extends Yt{};en.kind="for";var Cl=class extends en{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Mn(this.iteration,e,r),this}get names(){return tn(super.names,this.iteration.names)}},Il=class extends en{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?kt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=Ai(super.names,this.from);return Ai(e,this.to)}},Ni=class extends en{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Mn(this.iterable,e,r),this}get names(){return tn(super.names,this.iterable.names)}},Bo=class extends Yt{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Bo.kind="func";var Vo=class extends qo{render(e){return"return "+super.render(e)}};Vo.kind="return";var zl=class extends Yt{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&tn(e,this.catch.names),this.finally&&tn(e,this.finally.names),e}},Ko=class extends Yt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ko.kind="catch";var Jo=class extends Yt{render(e){return"finally"+super.render(e)}};Jo.kind="finally";var Nl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
- `:""},this._extScope=e,this._scope=new kt.Scope({parent:e}),this._nodes=[new Ol]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new wl(e,s,n)),s}const(e,r,n){return this._def(kt.varKinds.const,e,r,n)}let(e,r,n){return this._def(kt.varKinds.let,e,r,n)}var(e,r,n){return this._def(kt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new zi(e,r,n))}add(e,r){return this._leafNode(new El(e,B.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==X.nil&&this._leafNode(new Rl(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,X.addCodeArg)(r,o));return r.push("}"),new X._Code(r)}if(e,r,n){if(this._blockNode(new Qr(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Qr(e))}else(){return this._elseNode(new jn)}endIf(){return this._endBlockNode(Qr,jn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Cl(e),r)}forRange(e,r,n,o,s=this.opts.es5?kt.varKinds.var:kt.varKinds.let){let i=this._scope.toName(e);return this._for(new Il(s,i,r,n),()=>o(i))}forOf(e,r,n,o=kt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof X.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,X._)`${i}.length`,a=>{this.var(s,(0,X._)`${i}[${a}]`),n(s)})}return this._for(new Ni("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?kt.varKinds.var:kt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,X._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new Ni("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(en)}label(e){return this._leafNode(new Tl(e))}break(e){return this._leafNode(new $l(e))}return(e){let r=new Vo;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Vo)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new zl;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Ko(s),r(s)}return n&&(this._currNode=o.finally=new Jo,this.code(n)),this._endBlockNode(Ko,Jo)}throw(e){return this._leafNode(new Pl(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=X.nil,n,o){return this._blockNode(new Bo(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Bo)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Qr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};B.CodeGen=Nl;function tn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ai(t,e){return e instanceof X._CodeOrName?tn(t,e.names):t}function Mn(t,e,r){if(t instanceof X.Name)return n(t);if(!o(t))return t;return new X._Code(t._items.reduce((s,i)=>(i instanceof X.Name&&(i=n(i)),i instanceof X._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof X._Code&&s._items.some(i=>i instanceof X.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function PT(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function kg(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,X._)`!${Al(t)}`}B.not=kg;var RT=bg(B.operators.AND);function OT(...t){return t.reduce(RT)}B.and=OT;var CT=bg(B.operators.OR);function IT(...t){return t.reduce(CT)}B.or=IT;function bg(t){return(e,r)=>e===X.nil?r:r===X.nil?e:(0,X._)`${Al(e)} ${t} ${Al(r)}`}function Al(t){return t instanceof X.Name?t:(0,X._)`(${t})`}});var Q=T(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var se=q(),zT=Fo();function NT(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=NT;function AT(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Tg(t,e),!$g(e,t.self.RULES.all))}V.alwaysValidSchema=AT;function Tg(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Og(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=Tg;function $g(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=$g;function jT(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}V.schemaHasRulesButRef=jT;function MT({topSchemaRef:t,schemaPath:e},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._)`${t}${e}${(0,se.getProperty)(n)}`}V.schemaRefOrVal=MT;function DT(t){return Pg(decodeURIComponent(t))}V.unescapeFragment=DT;function LT(t){return encodeURIComponent(Ml(t))}V.escapeFragment=LT;function Ml(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Ml;function Pg(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Pg;function ZT(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=ZT;function wg({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?t(o,s,i):e(o,s,i),i):s instanceof se.Name?(e(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}V.mergeEvaluated={props:wg({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,se._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,se._)`${r} || {}`),Dl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Rg}),items:wg({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,se._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,se._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Rg(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,se._)`{}`);return e!==void 0&&Dl(t,r,e),r}V.evaluatedPropsToName=Rg;function Dl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,se._)`${e}${(0,se.getProperty)(n)}`,!0))}V.setEvaluated=Dl;var Eg={};function UT(t,e){return t.scopeValue("func",{ref:e,code:Eg[e.code]||(Eg[e.code]=new zT._Code(e.code))})}V.useFunc=UT;var jl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(jl||(V.Type=jl={}));function HT(t,e,r){if(t instanceof se.Name){let n=e===jl.Num;return r?n?(0,se._)`"[" + ${t} + "]"`:(0,se._)`"['" + ${t} + "']"`:n?(0,se._)`"/" + ${t}`:(0,se._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(t).toString():"/"+Ml(t)}V.getErrorPath=HT;function Og(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}V.checkStrictMode=Og});var Xt=T(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Ue=q(),FT={data:new Ue.Name("data"),valCxt:new Ue.Name("valCxt"),instancePath:new Ue.Name("instancePath"),parentData:new Ue.Name("parentData"),parentDataProperty:new Ue.Name("parentDataProperty"),rootData:new Ue.Name("rootData"),dynamicAnchors:new Ue.Name("dynamicAnchors"),vErrors:new Ue.Name("vErrors"),errors:new Ue.Name("errors"),this:new Ue.Name("this"),self:new Ue.Name("self"),scope:new Ue.Name("scope"),json:new Ue.Name("json"),jsonPos:new Ue.Name("jsonPos"),jsonLen:new Ue.Name("jsonLen"),jsonPart:new Ue.Name("jsonPart")};Ll.default=FT});var Wo=T(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.extendErrors=He.resetErrorsCount=He.reportExtraError=He.reportError=He.keyword$DataError=He.keywordError=void 0;var ee=q(),Mi=Q(),Ve=Xt();He.keywordError={message:({keyword:t})=>(0,ee.str)`must pass "${t}" keyword validation`};He.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,ee.str)`"${t}" keyword must be ${e} ($data)`:(0,ee.str)`"${t}" keyword is invalid ($data)`};function qT(t,e=He.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=zg(t,e,r);n??(i||a)?Cg(s,c):Ig(o,(0,ee._)`[${c}]`)}He.reportError=qT;function BT(t,e=He.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=zg(t,e,r);Cg(o,a),s||i||Ig(n,Ve.default.vErrors)}He.reportExtraError=BT;function VT(t,e){t.assign(Ve.default.errors,e),t.if((0,ee._)`${Ve.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,ee._)`${Ve.default.vErrors}.length`,e),()=>t.assign(Ve.default.vErrors,null)))}He.resetErrorsCount=VT;function KT({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,Ve.default.errors,a=>{t.const(i,(0,ee._)`${Ve.default.vErrors}[${a}]`),t.if((0,ee._)`${i}.instancePath === undefined`,()=>t.assign((0,ee._)`${i}.instancePath`,(0,ee.strConcat)(Ve.default.instancePath,s.errorPath))),t.assign((0,ee._)`${i}.schemaPath`,(0,ee.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,ee._)`${i}.schema`,r),t.assign((0,ee._)`${i}.data`,n))})}He.extendErrors=KT;function Cg(t,e){let r=t.const("err",e);t.if((0,ee._)`${Ve.default.vErrors} === null`,()=>t.assign(Ve.default.vErrors,(0,ee._)`[${r}]`),(0,ee._)`${Ve.default.vErrors}.push(${r})`),t.code((0,ee._)`${Ve.default.errors}++`)}function Ig(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,ee._)`new ${t.ValidationError}(${e})`):(r.assign((0,ee._)`${n}.errors`,e),r.return(!1))}var rn={keyword:new ee.Name("keyword"),schemaPath:new ee.Name("schemaPath"),params:new ee.Name("params"),propertyName:new ee.Name("propertyName"),message:new ee.Name("message"),schema:new ee.Name("schema"),parentSchema:new ee.Name("parentSchema")};function zg(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ee._)`{}`:JT(t,e,r)}function JT(t,e,r={}){let{gen:n,it:o}=t,s=[WT(o,r),GT(t,r)];return YT(t,e,s),n.object(...s)}function WT({errorPath:t},{instancePath:e}){let r=e?(0,ee.str)`${t}${(0,Mi.getErrorPath)(e,Mi.Type.Str)}`:t;return[Ve.default.instancePath,(0,ee.strConcat)(Ve.default.instancePath,r)]}function GT({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,ee.str)`${e}/${t}`;return r&&(o=(0,ee.str)`${o}${(0,Mi.getErrorPath)(r,Mi.Type.Str)}`),[rn.schemaPath,o]}function YT(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([rn.keyword,o],[rn.params,typeof e=="function"?e(t):e||(0,ee._)`{}`]),c.messages&&n.push([rn.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([rn.schema,i],[rn.parentSchema,(0,ee._)`${l}${d}`],[Ve.default.data,s]),u&&n.push([rn.propertyName,u])}});var Ag=T(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.boolOrEmptySchema=Dn.topBoolOrEmptySchema=void 0;var XT=Wo(),QT=q(),e0=Xt(),t0={message:"boolean schema is false"};function r0(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Ng(t,!1):typeof r=="object"&&r.$async===!0?e.return(e0.default.data):(e.assign((0,QT._)`${n}.errors`,null),e.return(!0))}Dn.topBoolOrEmptySchema=r0;function n0(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Ng(t)):r.var(e,!0)}Dn.boolOrEmptySchema=n0;function Ng(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,XT.reportError)(o,t0,void 0,e)}});var Zl=T(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.getRules=Ln.isJSONType=void 0;var o0=["string","number","integer","boolean","null","object","array"],s0=new Set(o0);function i0(t){return typeof t=="string"&&s0.has(t)}Ln.isJSONType=i0;function a0(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Ln.getRules=a0});var Ul=T(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.shouldUseRule=fr.shouldUseGroup=fr.schemaHasRulesForType=void 0;function c0({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&jg(t,n)}fr.schemaHasRulesForType=c0;function jg(t,e){return e.rules.some(r=>Mg(t,r))}fr.shouldUseGroup=jg;function Mg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}fr.shouldUseRule=Mg});var Go=T(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.reportTypeError=Fe.checkDataTypes=Fe.checkDataType=Fe.coerceAndCheckDataType=Fe.getJSONTypes=Fe.getSchemaTypes=Fe.DataType=void 0;var u0=Zl(),l0=Ul(),d0=Wo(),H=q(),Dg=Q(),Zn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Zn||(Fe.DataType=Zn={}));function p0(t){let e=Lg(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Fe.getSchemaTypes=p0;function Lg(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(u0.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Fe.getJSONTypes=Lg;function f0(t,e){let{gen:r,data:n,opts:o}=t,s=m0(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,l0.schemaHasRulesForType)(t,e[0]));if(i){let a=Fl(e,n,o.strictNumbers,Zn.Wrong);r.if(a,()=>{s.length?h0(t,e,s):ql(t)})}return i}Fe.coerceAndCheckDataType=f0;var Zg=new Set(["string","number","integer","boolean","null"]);function m0(t,e){return e?t.filter(r=>Zg.has(r)||e==="array"&&r==="array"):[]}function h0(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,H._)`typeof ${o}`),a=n.let("coerced",(0,H._)`undefined`);s.coerceTypes==="array"&&n.if((0,H._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,H._)`${o}[0]`).assign(i,(0,H._)`typeof ${o}`).if(Fl(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,H._)`${a} !== undefined`);for(let u of r)(Zg.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),ql(t),n.endIf(),n.if((0,H._)`${a} !== undefined`,()=>{n.assign(o,a),g0(t,a)});function c(u){switch(u){case"string":n.elseIf((0,H._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,H._)`"" + ${o}`).elseIf((0,H._)`${o} === null`).assign(a,(0,H._)`""`);return;case"number":n.elseIf((0,H._)`${i} == "boolean" || ${o} === null
2
+ var _S=Object.create;var Da=Object.defineProperty;var yS=Object.getOwnPropertyDescriptor;var xS=Object.getOwnPropertyNames;var vS=Object.getPrototypeOf,SS=Object.prototype.hasOwnProperty;var $e=(t,e)=>()=>(t&&(e=t(t=0)),e);var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Je=(t,e)=>{for(var r in e)Da(t,r,{get:e[r],enumerable:!0})},kS=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of xS(e))!SS.call(t,o)&&o!==r&&Da(t,o,{get:()=>e[o],enumerable:!(n=yS(e,o))||n.enumerable});return t};var wf=(t,e,r)=>(r=t!=null?_S(vS(t)):{},kS(e||!t||!t.__esModule?Da(r,"default",{value:t,enumerable:!0}):r,t));var Fo=T(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.regexpCode=te.getEsmExportName=te.getProperty=te.safeStringify=te.stringify=te.strConcat=te.addCodeArg=te.str=te._=te.nil=te._Code=te.Name=te.IDENTIFIER=te._CodeOrName=void 0;var Uo=class{};te._CodeOrName=Uo;te.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Xr=class extends Uo{constructor(e){if(super(),!te.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};te.Name=Xr;var pt=class extends Uo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Xr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};te._Code=pt;te.nil=new pt("");function vg(t,...e){let r=[t[0]],n=0;for(;n<e.length;)vl(r,e[n]),r.push(t[++n]);return new pt(r)}te._=vg;var xl=new pt("+");function Sg(t,...e){let r=[Ho(t[0])],n=0;for(;n<e.length;)r.push(xl),vl(r,e[n]),r.push(xl,Ho(t[++n]));return xT(r),new pt(r)}te.str=Sg;function vl(t,e){e instanceof pt?t.push(...e._items):e instanceof Xr?t.push(e):t.push(kT(e))}te.addCodeArg=vl;function xT(t){let e=1;for(;e<t.length-1;){if(t[e]===xl){let r=vT(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function vT(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Xr||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Xr))return`"${t}${e.slice(1)}`}function ST(t,e){return e.emptyStr()?t:t.emptyStr()?e:Sg`${t}${e}`}te.strConcat=ST;function kT(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Ho(Array.isArray(t)?t.join(","):t)}function bT(t){return new pt(Ho(t))}te.stringify=bT;function Ho(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}te.safeStringify=Ho;function wT(t){return typeof t=="string"&&te.IDENTIFIER.test(t)?new pt(`.${t}`):vg`[${t}]`}te.getProperty=wT;function ET(t){if(typeof t=="string"&&te.IDENTIFIER.test(t))return new pt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}te.getEsmExportName=ET;function TT(t){return new pt(t.toString())}te.regexpCode=TT});var bl=T(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.ValueScope=et.ValueScopeName=et.Scope=et.varKinds=et.UsedValueState=void 0;var Qe=Fo(),Sl=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Oi;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Oi||(et.UsedValueState=Oi={}));et.varKinds={const:new Qe.Name("const"),let:new Qe.Name("let"),var:new Qe.Name("var")};var Ci=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Qe.Name?e:this.name(e)}name(e){return new Qe.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};et.Scope=Ci;var Ii=class extends Qe.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Qe._)`.${new Qe.Name(r)}[${n}]`}};et.ValueScopeName=Ii;var $T=(0,Qe._)`\n`,kl=class extends Ci{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?$T:Qe.nil}}get(){return this._scope}name(e){return new Ii(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Qe._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=Qe.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Oi.Started);let l=r(u);if(l){let d=this.opts.es5?et.varKinds.var:et.varKinds.const;s=(0,Qe._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Qe._)`${s}${l}${this.opts._n}`;else throw new Sl(u);c.set(u,Oi.Completed)})}return s}};et.ValueScope=kl});var q=T(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.or=B.and=B.not=B.CodeGen=B.operators=B.varKinds=B.ValueScopeName=B.ValueScope=B.Scope=B.Name=B.regexpCode=B.stringify=B.getProperty=B.nil=B.strConcat=B.str=B._=void 0;var X=Fo(),kt=bl(),mr=Fo();Object.defineProperty(B,"_",{enumerable:!0,get:function(){return mr._}});Object.defineProperty(B,"str",{enumerable:!0,get:function(){return mr.str}});Object.defineProperty(B,"strConcat",{enumerable:!0,get:function(){return mr.strConcat}});Object.defineProperty(B,"nil",{enumerable:!0,get:function(){return mr.nil}});Object.defineProperty(B,"getProperty",{enumerable:!0,get:function(){return mr.getProperty}});Object.defineProperty(B,"stringify",{enumerable:!0,get:function(){return mr.stringify}});Object.defineProperty(B,"regexpCode",{enumerable:!0,get:function(){return mr.regexpCode}});Object.defineProperty(B,"Name",{enumerable:!0,get:function(){return mr.Name}});var ji=bl();Object.defineProperty(B,"Scope",{enumerable:!0,get:function(){return ji.Scope}});Object.defineProperty(B,"ValueScope",{enumerable:!0,get:function(){return ji.ValueScope}});Object.defineProperty(B,"ValueScopeName",{enumerable:!0,get:function(){return ji.ValueScopeName}});Object.defineProperty(B,"varKinds",{enumerable:!0,get:function(){return ji.varKinds}});B.operators={GT:new X._Code(">"),GTE:new X._Code(">="),LT:new X._Code("<"),LTE:new X._Code("<="),EQ:new X._Code("==="),NEQ:new X._Code("!=="),NOT:new X._Code("!"),OR:new X._Code("||"),AND:new X._Code("&&"),ADD:new X._Code("+")};var Yt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},wl=class extends Yt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?kt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Dn(this.rhs,e,r)),this}get names(){return this.rhs instanceof X._CodeOrName?this.rhs.names:{}}},zi=class extends Yt{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof X.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Dn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof X.Name?{}:{...this.lhs.names};return Ai(e,this.rhs)}},El=class extends zi{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Tl=class extends Yt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},$l=class extends Yt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Pl=class extends Yt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Rl=class extends Yt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Dn(this.code,e,r),this}get names(){return this.code instanceof X._CodeOrName?this.code.names:{}}},qo=class extends Yt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(PT(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>tn(e,r.names),{})}},Xt=class extends qo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Ol=class extends qo{},Mn=class extends Xt{};Mn.kind="else";var Qr=class t extends Xt{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Mn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(kg(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Dn(this.condition,e,r),this}get names(){let e=super.names;return Ai(e,this.condition),this.else&&tn(e,this.else.names),e}};Qr.kind="if";var en=class extends Xt{};en.kind="for";var Cl=class extends en{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Dn(this.iteration,e,r),this}get names(){return tn(super.names,this.iteration.names)}},Il=class extends en{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?kt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=Ai(super.names,this.from);return Ai(e,this.to)}},Ni=class extends en{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Dn(this.iterable,e,r),this}get names(){return tn(super.names,this.iterable.names)}},Bo=class extends Xt{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Bo.kind="func";var Vo=class extends qo{render(e){return"return "+super.render(e)}};Vo.kind="return";var zl=class extends Xt{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&tn(e,this.catch.names),this.finally&&tn(e,this.finally.names),e}},Ko=class extends Xt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ko.kind="catch";var Jo=class extends Xt{render(e){return"finally"+super.render(e)}};Jo.kind="finally";var Nl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
+ `:""},this._extScope=e,this._scope=new kt.Scope({parent:e}),this._nodes=[new Ol]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new wl(e,s,n)),s}const(e,r,n){return this._def(kt.varKinds.const,e,r,n)}let(e,r,n){return this._def(kt.varKinds.let,e,r,n)}var(e,r,n){return this._def(kt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new zi(e,r,n))}add(e,r){return this._leafNode(new El(e,B.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==X.nil&&this._leafNode(new Rl(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,X.addCodeArg)(r,o));return r.push("}"),new X._Code(r)}if(e,r,n){if(this._blockNode(new Qr(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Qr(e))}else(){return this._elseNode(new Mn)}endIf(){return this._endBlockNode(Qr,Mn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Cl(e),r)}forRange(e,r,n,o,s=this.opts.es5?kt.varKinds.var:kt.varKinds.let){let i=this._scope.toName(e);return this._for(new Il(s,i,r,n),()=>o(i))}forOf(e,r,n,o=kt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof X.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,X._)`${i}.length`,a=>{this.var(s,(0,X._)`${i}[${a}]`),n(s)})}return this._for(new Ni("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?kt.varKinds.var:kt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,X._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new Ni("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(en)}label(e){return this._leafNode(new Tl(e))}break(e){return this._leafNode(new $l(e))}return(e){let r=new Vo;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Vo)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new zl;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Ko(s),r(s)}return n&&(this._currNode=o.finally=new Jo,this.code(n)),this._endBlockNode(Ko,Jo)}throw(e){return this._leafNode(new Pl(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=X.nil,n,o){return this._blockNode(new Bo(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Bo)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Qr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};B.CodeGen=Nl;function tn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ai(t,e){return e instanceof X._CodeOrName?tn(t,e.names):t}function Dn(t,e,r){if(t instanceof X.Name)return n(t);if(!o(t))return t;return new X._Code(t._items.reduce((s,i)=>(i instanceof X.Name&&(i=n(i)),i instanceof X._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof X._Code&&s._items.some(i=>i instanceof X.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function PT(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function kg(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,X._)`!${Al(t)}`}B.not=kg;var RT=bg(B.operators.AND);function OT(...t){return t.reduce(RT)}B.and=OT;var CT=bg(B.operators.OR);function IT(...t){return t.reduce(CT)}B.or=IT;function bg(t){return(e,r)=>e===X.nil?r:r===X.nil?e:(0,X._)`${Al(e)} ${t} ${Al(r)}`}function Al(t){return t instanceof X.Name?t:(0,X._)`(${t})`}});var Q=T(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var se=q(),zT=Fo();function NT(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=NT;function AT(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Tg(t,e),!$g(e,t.self.RULES.all))}V.alwaysValidSchema=AT;function Tg(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Og(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=Tg;function $g(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=$g;function jT(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}V.schemaHasRulesButRef=jT;function MT({topSchemaRef:t,schemaPath:e},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._)`${t}${e}${(0,se.getProperty)(n)}`}V.schemaRefOrVal=MT;function DT(t){return Pg(decodeURIComponent(t))}V.unescapeFragment=DT;function LT(t){return encodeURIComponent(Ml(t))}V.escapeFragment=LT;function Ml(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Ml;function Pg(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Pg;function ZT(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=ZT;function wg({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?t(o,s,i):e(o,s,i),i):s instanceof se.Name?(e(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}V.mergeEvaluated={props:wg({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,se._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,se._)`${r} || {}`),Dl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Rg}),items:wg({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,se._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,se._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Rg(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,se._)`{}`);return e!==void 0&&Dl(t,r,e),r}V.evaluatedPropsToName=Rg;function Dl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,se._)`${e}${(0,se.getProperty)(n)}`,!0))}V.setEvaluated=Dl;var Eg={};function UT(t,e){return t.scopeValue("func",{ref:e,code:Eg[e.code]||(Eg[e.code]=new zT._Code(e.code))})}V.useFunc=UT;var jl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(jl||(V.Type=jl={}));function HT(t,e,r){if(t instanceof se.Name){let n=e===jl.Num;return r?n?(0,se._)`"[" + ${t} + "]"`:(0,se._)`"['" + ${t} + "']"`:n?(0,se._)`"/" + ${t}`:(0,se._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(t).toString():"/"+Ml(t)}V.getErrorPath=HT;function Og(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}V.checkStrictMode=Og});var Qt=T(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Ue=q(),FT={data:new Ue.Name("data"),valCxt:new Ue.Name("valCxt"),instancePath:new Ue.Name("instancePath"),parentData:new Ue.Name("parentData"),parentDataProperty:new Ue.Name("parentDataProperty"),rootData:new Ue.Name("rootData"),dynamicAnchors:new Ue.Name("dynamicAnchors"),vErrors:new Ue.Name("vErrors"),errors:new Ue.Name("errors"),this:new Ue.Name("this"),self:new Ue.Name("self"),scope:new Ue.Name("scope"),json:new Ue.Name("json"),jsonPos:new Ue.Name("jsonPos"),jsonLen:new Ue.Name("jsonLen"),jsonPart:new Ue.Name("jsonPart")};Ll.default=FT});var Wo=T(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.extendErrors=He.resetErrorsCount=He.reportExtraError=He.reportError=He.keyword$DataError=He.keywordError=void 0;var ee=q(),Mi=Q(),Ve=Qt();He.keywordError={message:({keyword:t})=>(0,ee.str)`must pass "${t}" keyword validation`};He.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,ee.str)`"${t}" keyword must be ${e} ($data)`:(0,ee.str)`"${t}" keyword is invalid ($data)`};function qT(t,e=He.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=zg(t,e,r);n??(i||a)?Cg(s,c):Ig(o,(0,ee._)`[${c}]`)}He.reportError=qT;function BT(t,e=He.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=zg(t,e,r);Cg(o,a),s||i||Ig(n,Ve.default.vErrors)}He.reportExtraError=BT;function VT(t,e){t.assign(Ve.default.errors,e),t.if((0,ee._)`${Ve.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,ee._)`${Ve.default.vErrors}.length`,e),()=>t.assign(Ve.default.vErrors,null)))}He.resetErrorsCount=VT;function KT({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,Ve.default.errors,a=>{t.const(i,(0,ee._)`${Ve.default.vErrors}[${a}]`),t.if((0,ee._)`${i}.instancePath === undefined`,()=>t.assign((0,ee._)`${i}.instancePath`,(0,ee.strConcat)(Ve.default.instancePath,s.errorPath))),t.assign((0,ee._)`${i}.schemaPath`,(0,ee.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,ee._)`${i}.schema`,r),t.assign((0,ee._)`${i}.data`,n))})}He.extendErrors=KT;function Cg(t,e){let r=t.const("err",e);t.if((0,ee._)`${Ve.default.vErrors} === null`,()=>t.assign(Ve.default.vErrors,(0,ee._)`[${r}]`),(0,ee._)`${Ve.default.vErrors}.push(${r})`),t.code((0,ee._)`${Ve.default.errors}++`)}function Ig(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,ee._)`new ${t.ValidationError}(${e})`):(r.assign((0,ee._)`${n}.errors`,e),r.return(!1))}var rn={keyword:new ee.Name("keyword"),schemaPath:new ee.Name("schemaPath"),params:new ee.Name("params"),propertyName:new ee.Name("propertyName"),message:new ee.Name("message"),schema:new ee.Name("schema"),parentSchema:new ee.Name("parentSchema")};function zg(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ee._)`{}`:JT(t,e,r)}function JT(t,e,r={}){let{gen:n,it:o}=t,s=[WT(o,r),GT(t,r)];return YT(t,e,s),n.object(...s)}function WT({errorPath:t},{instancePath:e}){let r=e?(0,ee.str)`${t}${(0,Mi.getErrorPath)(e,Mi.Type.Str)}`:t;return[Ve.default.instancePath,(0,ee.strConcat)(Ve.default.instancePath,r)]}function GT({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,ee.str)`${e}/${t}`;return r&&(o=(0,ee.str)`${o}${(0,Mi.getErrorPath)(r,Mi.Type.Str)}`),[rn.schemaPath,o]}function YT(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([rn.keyword,o],[rn.params,typeof e=="function"?e(t):e||(0,ee._)`{}`]),c.messages&&n.push([rn.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([rn.schema,i],[rn.parentSchema,(0,ee._)`${l}${d}`],[Ve.default.data,s]),u&&n.push([rn.propertyName,u])}});var Ag=T(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.boolOrEmptySchema=Ln.topBoolOrEmptySchema=void 0;var XT=Wo(),QT=q(),e0=Qt(),t0={message:"boolean schema is false"};function r0(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Ng(t,!1):typeof r=="object"&&r.$async===!0?e.return(e0.default.data):(e.assign((0,QT._)`${n}.errors`,null),e.return(!0))}Ln.topBoolOrEmptySchema=r0;function n0(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Ng(t)):r.var(e,!0)}Ln.boolOrEmptySchema=n0;function Ng(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,XT.reportError)(o,t0,void 0,e)}});var Zl=T(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.getRules=Zn.isJSONType=void 0;var o0=["string","number","integer","boolean","null","object","array"],s0=new Set(o0);function i0(t){return typeof t=="string"&&s0.has(t)}Zn.isJSONType=i0;function a0(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Zn.getRules=a0});var Ul=T(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.shouldUseRule=hr.shouldUseGroup=hr.schemaHasRulesForType=void 0;function c0({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&jg(t,n)}hr.schemaHasRulesForType=c0;function jg(t,e){return e.rules.some(r=>Mg(t,r))}hr.shouldUseGroup=jg;function Mg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hr.shouldUseRule=Mg});var Go=T(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.reportTypeError=Fe.checkDataTypes=Fe.checkDataType=Fe.coerceAndCheckDataType=Fe.getJSONTypes=Fe.getSchemaTypes=Fe.DataType=void 0;var u0=Zl(),l0=Ul(),d0=Wo(),H=q(),Dg=Q(),Un;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Un||(Fe.DataType=Un={}));function p0(t){let e=Lg(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Fe.getSchemaTypes=p0;function Lg(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(u0.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Fe.getJSONTypes=Lg;function f0(t,e){let{gen:r,data:n,opts:o}=t,s=m0(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,l0.schemaHasRulesForType)(t,e[0]));if(i){let a=Fl(e,n,o.strictNumbers,Un.Wrong);r.if(a,()=>{s.length?h0(t,e,s):ql(t)})}return i}Fe.coerceAndCheckDataType=f0;var Zg=new Set(["string","number","integer","boolean","null"]);function m0(t,e){return e?t.filter(r=>Zg.has(r)||e==="array"&&r==="array"):[]}function h0(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,H._)`typeof ${o}`),a=n.let("coerced",(0,H._)`undefined`);s.coerceTypes==="array"&&n.if((0,H._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,H._)`${o}[0]`).assign(i,(0,H._)`typeof ${o}`).if(Fl(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,H._)`${a} !== undefined`);for(let u of r)(Zg.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),ql(t),n.endIf(),n.if((0,H._)`${a} !== undefined`,()=>{n.assign(o,a),g0(t,a)});function c(u){switch(u){case"string":n.elseIf((0,H._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,H._)`"" + ${o}`).elseIf((0,H._)`${o} === null`).assign(a,(0,H._)`""`);return;case"number":n.elseIf((0,H._)`${i} == "boolean" || ${o} === null
4
4
  || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,H._)`+${o}`);return;case"integer":n.elseIf((0,H._)`${i} === "boolean" || ${o} === null
5
5
  || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,H._)`+${o}`);return;case"boolean":n.elseIf((0,H._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,H._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,H._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,H._)`${i} === "string" || ${i} === "number"
6
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,H._)`[${o}]`)}}}function g0({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,H._)`${e} !== undefined`,()=>t.assign((0,H._)`${e}[${r}]`,n))}function Hl(t,e,r,n=Zn.Correct){let o=n===Zn.Correct?H.operators.EQ:H.operators.NEQ,s;switch(t){case"null":return(0,H._)`${e} ${o} null`;case"array":s=(0,H._)`Array.isArray(${e})`;break;case"object":s=(0,H._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,H._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,H._)`typeof ${e} ${o} ${t}`}return n===Zn.Correct?s:(0,H.not)(s);function i(a=H.nil){return(0,H.and)((0,H._)`typeof ${e} == "number"`,a,r?(0,H._)`isFinite(${e})`:H.nil)}}Fe.checkDataType=Hl;function Fl(t,e,r,n){if(t.length===1)return Hl(t[0],e,r,n);let o,s=(0,Dg.toHash)(t);if(s.array&&s.object){let i=(0,H._)`typeof ${e} != "object"`;o=s.null?i:(0,H._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=H.nil;s.number&&delete s.integer;for(let i in s)o=(0,H.and)(o,Hl(i,e,r,n));return o}Fe.checkDataTypes=Fl;var _0={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,H._)`{type: ${t}}`:(0,H._)`{type: ${e}}`};function ql(t){let e=y0(t);(0,d0.reportError)(e,_0)}Fe.reportTypeError=ql;function y0(t){let{gen:e,data:r,schema:n}=t,o=(0,Dg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Hg=T(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.assignDefaults=void 0;var Un=q(),x0=Q();function v0(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Ug(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Ug(t,s,o.default))}Di.assignDefaults=v0;function Ug(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Un._)`${s}${(0,Un.getProperty)(e)}`;if(o){(0,x0.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Un._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Un._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Un._)`${a} = ${(0,Un.stringify)(r)}`)}});var pt=T(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 fe=q(),Bl=Q(),mr=Xt(),S0=Q();function k0(t,e){let{gen:r,data:n,it:o}=t;r.if(Kl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,fe._)`${e}`},!0),t.error()})}oe.checkReportMissingProp=k0;function b0({gen:t,data:e,it:{opts:r}},n,o){return(0,fe.or)(...n.map(s=>(0,fe.and)(Kl(t,e,s,r.ownProperties),(0,fe._)`${o} = ${s}`)))}oe.checkMissingProp=b0;function w0(t,e){t.setParams({missingProperty:e},!0),t.error()}oe.reportMissingProp=w0;function Fg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,fe._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=Fg;function Vl(t,e,r){return(0,fe._)`${Fg(t)}.call(${e}, ${r})`}oe.isOwnProperty=Vl;function E0(t,e,r,n){let o=(0,fe._)`${e}${(0,fe.getProperty)(r)} !== undefined`;return n?(0,fe._)`${o} && ${Vl(t,e,r)}`:o}oe.propertyInData=E0;function Kl(t,e,r,n){let o=(0,fe._)`${e}${(0,fe.getProperty)(r)} === undefined`;return n?(0,fe.or)(o,(0,fe.not)(Vl(t,e,r))):o}oe.noPropertyInData=Kl;function qg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}oe.allSchemaProperties=qg;function T0(t,e){return qg(e).filter(r=>!(0,Bl.alwaysValidSchema)(t,e[r]))}oe.schemaProperties=T0;function $0({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,fe._)`${t}, ${e}, ${n}${o}`:e,d=[[mr.default.instancePath,(0,fe.strConcat)(mr.default.instancePath,s)],[mr.default.parentData,i.parentData],[mr.default.parentDataProperty,i.parentDataProperty],[mr.default.rootData,mr.default.rootData]];i.opts.dynamicRef&&d.push([mr.default.dynamicAnchors,mr.default.dynamicAnchors]);let f=(0,fe._)`${l}, ${r.object(...d)}`;return c!==fe.nil?(0,fe._)`${a}.call(${c}, ${f})`:(0,fe._)`${a}(${f})`}oe.callValidateCode=$0;var P0=(0,fe._)`new RegExp`;function R0({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,fe._)`${o.code==="new RegExp"?P0:(0,S0.useFunc)(t,o)}(${r}, ${n})`})}oe.usePattern=R0;function O0(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,fe._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Bl.Type.Num},s),e.if((0,fe.not)(s),a)})}}oe.validateArray=O0;function C0(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Bl.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,fe._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,fe.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}oe.validateUnion=C0});var Kg=T(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.validateKeywordUsage=At.validSchemaType=At.funcKeywordCode=At.macroKeywordCode=void 0;var Ke=q(),nn=Xt(),I0=pt(),z0=Wo();function N0(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Vg(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ke.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}At.macroKeywordCode=N0;function A0(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;M0(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Vg(n,o,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&Bg(t),g(()=>t.error());else{let _=e.async?m():p();e.modifying&&Bg(t),g(()=>j0(t,_))}}function m(){let _=n.let("ruleErrs",null);return n.try(()=>h((0,Ke._)`await `),v=>n.assign(d,!1).if((0,Ke._)`${v} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Ke._)`${v}.errors`),()=>n.throw(v))),_}function p(){let _=(0,Ke._)`${l}.errors`;return n.assign(_,null),h(Ke.nil),_}function h(_=e.async?(0,Ke._)`await `:Ke.nil){let v=c.opts.passContext?nn.default.this:nn.default.self,S=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ke._)`${_}${(0,I0.callValidateCode)(t,l,v,S)}`,e.modifying)}function g(_){var v;n.if((0,Ke.not)((v=e.valid)!==null&&v!==void 0?v:d),_)}}At.funcKeywordCode=A0;function Bg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ke._)`${n.parentData}[${n.parentDataProperty}]`))}function j0(t,e){let{gen:r}=t;r.if((0,Ke._)`Array.isArray(${e})`,()=>{r.assign(nn.default.vErrors,(0,Ke._)`${nn.default.vErrors} === null ? ${e} : ${nn.default.vErrors}.concat(${e})`).assign(nn.default.errors,(0,Ke._)`${nn.default.vErrors}.length`),(0,z0.extendErrors)(t)},()=>t.error())}function M0({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Vg(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ke.stringify)(r)})}function D0(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}At.validSchemaType=D0;function L0({schema:t,opts:e,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(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}At.validateKeywordUsage=L0});var Wg=T(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.extendSubschemaMode=hr.extendSubschemaData=hr.getSubschema=void 0;var jt=q(),Jg=Q();function Z0(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}${(0,jt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Jg.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')}hr.getSubschema=Z0;function U0(t,e,{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}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,jt._)`${e.data}${(0,jt.getProperty)(r)}`,!0);c(f),t.errorPath=(0,jt.str)`${u}${(0,Jg.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,jt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof jt.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}hr.extendSubschemaData=U0;function H0(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}hr.extendSubschemaMode=H0});var Jl=T((AM,Gg)=>{"use strict";Gg.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),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(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var Xg=T((jM,Yg)=>{"use strict";var gr=Yg.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Li(e,n,o,t,"",t)};gr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};gr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};gr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};gr.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 Li(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in gr.arrayKeywords)for(var f=0;f<d.length;f++)Li(t,e,r,d[f],o+"/"+l+"/"+f,s,o,l,n,f)}else if(l in gr.propsKeywords){if(d&&typeof d=="object")for(var m in d)Li(t,e,r,d[m],o+"/"+l+"/"+F0(m),s,o,l,n,m)}else(l in gr.keywords||t.allKeys&&!(l in gr.skipKeywords))&&Li(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function F0(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Yo=T(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.getSchemaRefs=tt.resolveUrl=tt.normalizeId=tt._getFullPath=tt.getFullPath=tt.inlineRef=void 0;var q0=Q(),B0=Jl(),V0=Xg(),K0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function J0(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Wl(t):e?Qg(t)<=e:!1}tt.inlineRef=J0;var W0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Wl(t){for(let e in t){if(W0.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Wl)||typeof r=="object"&&Wl(r))return!0}return!1}function Qg(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!K0.has(r)&&(typeof t[r]=="object"&&(0,q0.eachItem)(t[r],n=>e+=Qg(n)),e===1/0))return 1/0}return e}function e_(t,e="",r){r!==!1&&(e=Hn(e));let n=t.parse(e);return t_(t,n)}tt.getFullPath=e_;function t_(t,e){return t.serialize(e).split("#")[0]+"#"}tt._getFullPath=t_;var G0=/#\/?$/;function Hn(t){return t?t.replace(G0,""):""}tt.normalizeId=Hn;function Y0(t,e,r){return r=Hn(r),t.resolve(e,r)}tt.resolveUrl=Y0;var X0=/^[a-z_][-a-z0-9._]*$/i;function Q0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Hn(t[r]||e),s={"":o},i=e_(n,o,!1),a={},c=new Set;return V0(t,{allKeys:!0},(d,f,m,p)=>{if(p===void 0)return;let h=i+f,g=s[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),v.call(this,d.$anchor),v.call(this,d.$dynamicAnchor),s[f]=g;function _(S){let E=this.opts.uriResolver.resolve;if(S=Hn(g?E(g,S):S),c.has(S))throw l(S);c.add(S);let z=this.refs[S];return typeof z=="string"&&(z=this.refs[z]),typeof z=="object"?u(d,z.schema,S):S!==Hn(h)&&(S[0]==="#"?(u(d,a[S],S),a[S]=d):this.refs[S]=h),S}function v(S){if(typeof S=="string"){if(!X0.test(S))throw new Error(`invalid anchor "${S}"`);_.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!B0(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}tt.getSchemaRefs=Q0});var es=T(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.getData=_r.KeywordCxt=_r.validateFunctionCode=void 0;var i_=Ag(),r_=Go(),Yl=Ul(),Zi=Go(),e$=Hg(),Qo=Kg(),Gl=Wg(),I=q(),Z=Xt(),t$=Yo(),Qt=Q(),Xo=Wo();function r$(t){if(u_(t)&&(l_(t),c_(t))){s$(t);return}a_(t,()=>(0,i_.topBoolOrEmptySchema)(t))}_r.validateFunctionCode=r$;function a_({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,I._)`${Z.default.data}, ${Z.default.valCxt}`,n.$async,()=>{t.code((0,I._)`"use strict"; ${n_(r,o)}`),o$(t,o),t.code(s)}):t.func(e,(0,I._)`${Z.default.data}, ${n$(o)}`,n.$async,()=>t.code(n_(r,o)).code(s))}function n$(t){return(0,I._)`{${Z.default.instancePath}="", ${Z.default.parentData}, ${Z.default.parentDataProperty}, ${Z.default.rootData}=${Z.default.data}${t.dynamicRef?(0,I._)`, ${Z.default.dynamicAnchors}={}`:I.nil}}={}`}function o$(t,e){t.if(Z.default.valCxt,()=>{t.var(Z.default.instancePath,(0,I._)`${Z.default.valCxt}.${Z.default.instancePath}`),t.var(Z.default.parentData,(0,I._)`${Z.default.valCxt}.${Z.default.parentData}`),t.var(Z.default.parentDataProperty,(0,I._)`${Z.default.valCxt}.${Z.default.parentDataProperty}`),t.var(Z.default.rootData,(0,I._)`${Z.default.valCxt}.${Z.default.rootData}`),e.dynamicRef&&t.var(Z.default.dynamicAnchors,(0,I._)`${Z.default.valCxt}.${Z.default.dynamicAnchors}`)},()=>{t.var(Z.default.instancePath,(0,I._)`""`),t.var(Z.default.parentData,(0,I._)`undefined`),t.var(Z.default.parentDataProperty,(0,I._)`undefined`),t.var(Z.default.rootData,Z.default.data),e.dynamicRef&&t.var(Z.default.dynamicAnchors,(0,I._)`{}`)})}function s$(t){let{schema:e,opts:r,gen:n}=t;a_(t,()=>{r.$comment&&e.$comment&&p_(t),l$(t),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&i$(t),d_(t),f$(t)})}function i$(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,I._)`${r}.evaluated`),e.if((0,I._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,I._)`${t.evaluated}.props`,(0,I._)`undefined`)),e.if((0,I._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,I._)`${t.evaluated}.items`,(0,I._)`undefined`))}function n_(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,I._)`/*# sourceURL=${r} */`:I.nil}function a$(t,e){if(u_(t)&&(l_(t),c_(t))){c$(t,e);return}(0,i_.boolOrEmptySchema)(t,e)}function c_({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function u_(t){return typeof t.schema!="boolean"}function c$(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&p_(t),d$(t),p$(t);let s=n.const("_errs",Z.default.errors);d_(t,s),n.var(e,(0,I._)`${s} === ${Z.default.errors}`)}function l_(t){(0,Qt.checkUnknownRules)(t),u$(t)}function d_(t,e){if(t.opts.jtd)return o_(t,[],!1,e);let r=(0,r_.getSchemaTypes)(t.schema),n=(0,r_.coerceAndCheckDataType)(t,r);o_(t,r,!n,e)}function u$(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Qt.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function l$(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Qt.checkStrictMode)(t,"default is ignored in the schema root")}function d$(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,t$.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function p$(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function p_({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,I._)`${Z.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,I.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,I._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function f$(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,I._)`${Z.default.errors} === 0`,()=>e.return(Z.default.data),()=>e.throw((0,I._)`new ${o}(${Z.default.vErrors})`)):(e.assign((0,I._)`${n}.errors`,Z.default.vErrors),s.unevaluated&&m$(t),e.return((0,I._)`${Z.default.errors} === 0`))}function m$({gen:t,evaluated:e,props:r,items:n}){r instanceof I.Name&&t.assign((0,I._)`${e}.props`,r),n instanceof I.Name&&t.assign((0,I._)`${e}.items`,n)}function o_(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Qt.schemaHasRulesButRef)(s,l))){o.block(()=>m_(t,"$ref",l.all.$ref.definition));return}c.jtd||h$(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Yl.shouldUseGroup)(s,f)&&(f.type?(o.if((0,Zi.checkDataType)(f.type,i,c.strictNumbers)),s_(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Zi.reportTypeError)(t)),o.endIf()):s_(t,f),a||o.if((0,I._)`${Z.default.errors} === ${n||0}`))}}function s_(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,e$.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Yl.shouldUseRule)(n,s)&&m_(t,s.keyword,s.definition,e.type)})}function h$(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(g$(t,e),t.opts.allowUnionTypes||_$(t,e),y$(t,t.dataTypes))}function g$(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{f_(t.dataTypes,r)||Xl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),v$(t,e)}}function _$(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Xl(t,"use allowUnionTypes to allow union type keyword")}function y$(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Yl.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>x$(e,i))&&Xl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function x$(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function f_(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function v$(t,e){let r=[];for(let n of t.dataTypes)f_(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Xl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Qt.checkStrictMode)(t,e,t.opts.strictTypes)}var Ui=class{constructor(e,r,n){if((0,Qo.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Qt.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",h_(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Qo.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Z.default.errors))}result(e,r,n){this.failResult((0,I.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,I.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,I._)`${r} !== undefined && (${(0,I.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Xo.reportExtraError:Xo.reportError)(this,this.def.error,r)}$dataError(){(0,Xo.reportError)(this,this.def.$dataError||Xo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Xo.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=I.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=I.nil,r=I.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,I.or)((0,I._)`${o} === undefined`,r)),e!==I.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==I.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,I.or)(i(),a());function i(){if(n.length){if(!(r instanceof I.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,I._)`${(0,Zi.checkDataTypes)(c,r,s.opts.strictNumbers,Zi.DataType.Wrong)}`}return I.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,I._)`!${c}(${r})`}return I.nil}}subschema(e,r){let n=(0,Gl.getSubschema)(this.it,e);(0,Gl.extendSubschemaData)(n,this.it,e),(0,Gl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return a$(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Qt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Qt.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,I.Name)),!0}};_r.KeywordCxt=Ui;function m_(t,e,r,n){let o=new Ui(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Qo.funcKeywordCode)(o,r):"macro"in r?(0,Qo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Qo.funcKeywordCode)(o,r)}var S$=/^\/(?:[^~]|~0|~1)*$/,k$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function h_(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return Z.default.rootData;if(t[0]==="/"){if(!S$.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=Z.default.rootData}else{let u=k$.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,I._)`${s}${(0,I.getProperty)((0,Qt.unescapeJsonPointer)(u))}`,i=(0,I._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}_r.getData=h_});var Hi=T(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});var Ql=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};ed.default=Ql});var ts=T(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var td=Yo(),rd=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,td.resolveUrl)(e,r,n),this.missingSchema=(0,td.normalizeId)((0,td.getFullPath)(e,this.missingRef))}};nd.default=rd});var qi=T(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.resolveSchema=ft.getCompilingSchema=ft.resolveRef=ft.compileSchema=ft.SchemaEnv=void 0;var bt=q(),b$=Hi(),on=Xt(),wt=Yo(),g_=Q(),w$=es(),Fn=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,wt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ft.SchemaEnv=Fn;function sd(t){let e=__.call(this,t);if(e)return e;let r=(0,wt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new bt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:b$.default,code:(0,bt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:on.default.data,parentData:on.default.parentData,parentDataProperty:on.default.parentDataProperty,dataNames:[on.default.data],dataPathArr:[bt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,bt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:bt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,bt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,w$.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(on.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${on.default.self}`,`${on.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:h}=u;m.evaluated={props:p instanceof bt.Name?void 0:p,items:h instanceof bt.Name?void 0:h,dynamicProps:p instanceof bt.Name,dynamicItems:h instanceof bt.Name},m.source&&(m.source.evaluated=(0,bt.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}ft.compileSchema=sd;function E$(t,e,r){var n;r=(0,wt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=P$.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Fn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=T$.call(this,s)}ft.resolveRef=E$;function T$(t){return(0,wt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:sd.call(this,t)}function __(t){for(let e of this._compilations)if($$(e,t))return e}ft.getCompilingSchema=__;function $$(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function P$(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Fi.call(this,t,e)}function Fi(t,e){let r=this.opts.uriResolver.parse(e),n=(0,wt._getFullPath)(this.opts.uriResolver,r),o=(0,wt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return od.call(this,r,t);let s=(0,wt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Fi.call(this,t,i);return typeof a?.schema!="object"?void 0:od.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||sd.call(this,i),s===(0,wt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,wt.resolveUrl)(this.opts.uriResolver,o,u)),new Fn({schema:a,schemaId:c,root:t,baseId:o})}return od.call(this,r,i)}}ft.resolveSchema=Fi;var R$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function od(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,g_.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!R$.has(a)&&u&&(e=(0,wt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,g_.schemaHasRulesButRef)(r,this.RULES)){let a=(0,wt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Fi.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Fn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var y_=T((HM,O$)=>{O$.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 ad=T((FM,k_)=>{"use strict";var C$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),v_=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 id(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var I$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function x_(t){return t.length=0,!0}function z$(t,e,r){if(t.length){let n=id(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function N$(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=z$;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=x_}else{o.push(u);continue}}return o.length&&(a===x_?r.zone=o.join(""):i?n.push(o.join("")):n.push(id(o))),r.address=n.join(""),r}function S_(t){if(A$(t,":")<2)return{host:t,isIPV6:!1};let e=N$(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function A$(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function j$(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function M$(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function D$(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!v_(r)){let n=S_(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}k_.exports={nonSimpleDomain:I$,recomposeAuthority:D$,normalizeComponentEncoding:M$,removeDotSegments:j$,isIPv4:v_,isUUID:C$,normalizeIPv6:S_,stringArrayToHexStripped:id}});var $_=T((qM,T_)=>{"use strict";var{isUUID:L$}=ad(),Z$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,U$=["http","https","ws","wss","urn","urn:uuid"];function H$(t){return U$.indexOf(t)!==-1}function cd(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function b_(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function w_(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function F$(t){return t.secure=cd(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function q$(t){if((t.port===(cd(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function B$(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Z$);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=ud(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function V$(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=ud(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function K$(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!L$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function J$(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var E_={scheme:"http",domainHost:!0,parse:b_,serialize:w_},W$={scheme:"https",domainHost:E_.domainHost,parse:b_,serialize:w_},Bi={scheme:"ws",domainHost:!0,parse:F$,serialize:q$},G$={scheme:"wss",domainHost:Bi.domainHost,parse:Bi.parse,serialize:Bi.serialize},Y$={scheme:"urn",parse:B$,serialize:V$,skipNormalize:!0},X$={scheme:"urn:uuid",parse:K$,serialize:J$,skipNormalize:!0},Vi={http:E_,https:W$,ws:Bi,wss:G$,urn:Y$,"urn:uuid":X$};Object.setPrototypeOf(Vi,null);function ud(t){return t&&(Vi[t]||Vi[t.toLowerCase()])||void 0}T_.exports={wsIsSecure:cd,SCHEMES:Vi,isValidSchemeName:H$,getSchemeHandler:ud}});var O_=T((BM,Ji)=>{"use strict";var{normalizeIPv6:Q$,removeDotSegments:rs,recomposeAuthority:eP,normalizeComponentEncoding:Ki,isIPv4:tP,nonSimpleDomain:rP}=ad(),{SCHEMES:nP,getSchemeHandler:P_}=$_();function oP(t,e){return typeof t=="string"?t=Mt(er(t,e),e):typeof t=="object"&&(t=er(Mt(t,e),e)),t}function sP(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=R_(er(t,n),er(e,n),n,!0);return n.skipEscape=!0,Mt(o,n)}function R_(t,e,r,n){let o={};return n||(t=er(Mt(t,r),r),e=er(Mt(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=rs(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=rs(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=rs(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=rs(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function iP(t,e,r){return typeof t=="string"?(t=unescape(t),t=Mt(Ki(er(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Mt(Ki(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Mt(Ki(er(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Mt(Ki(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Mt(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=P_(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=eP(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=rs(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 aP=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function er(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(aP);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(tP(n.host)===!1){let c=Q$(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=P_(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&rP(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)&&(t.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 ld={SCHEMES:nP,normalize:oP,resolve:sP,resolveComponent:R_,equal:iP,serialize:Mt,parse:er};Ji.exports=ld;Ji.exports.default=ld;Ji.exports.fastUri=ld});var I_=T(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var C_=O_();C_.code='require("ajv/dist/runtime/uri").default';dd.default=C_});var Z_=T(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.CodeGen=Ae.Name=Ae.nil=Ae.stringify=Ae.str=Ae._=Ae.KeywordCxt=void 0;var cP=es();Object.defineProperty(Ae,"KeywordCxt",{enumerable:!0,get:function(){return cP.KeywordCxt}});var qn=q();Object.defineProperty(Ae,"_",{enumerable:!0,get:function(){return qn._}});Object.defineProperty(Ae,"str",{enumerable:!0,get:function(){return qn.str}});Object.defineProperty(Ae,"stringify",{enumerable:!0,get:function(){return qn.stringify}});Object.defineProperty(Ae,"nil",{enumerable:!0,get:function(){return qn.nil}});Object.defineProperty(Ae,"Name",{enumerable:!0,get:function(){return qn.Name}});Object.defineProperty(Ae,"CodeGen",{enumerable:!0,get:function(){return qn.CodeGen}});var uP=Hi(),M_=ts(),lP=Zl(),ns=qi(),dP=q(),os=Yo(),Wi=Go(),fd=Q(),z_=y_(),pP=I_(),D_=(t,e)=>new RegExp(t,e);D_.code="new RegExp";var fP=["removeAdditional","useDefaults","coerceTypes"],mP=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),hP={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."},gP={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},N_=200;function _P(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,_,v,S,E,z,de,Te,K,Le;let ve=t.strict,Pr=(e=t.code)===null||e===void 0?void 0:e.optimize,kf=Pr===!0||Pr===void 0?1:Pr||0,bf=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:D_,gS=(o=t.uriResolver)!==null&&o!==void 0?o:pP.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:ve)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:ve)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:ve)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:ve)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:ve)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:kf,regExp:bf}:{optimize:kf,regExp:bf},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:N_,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:N_,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(v=t.messages)!==null&&v!==void 0?v:!0,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(E=t.schemaId)!==null&&E!==void 0?E:"$id",addUsedSchema:(z=t.addUsedSchema)!==null&&z!==void 0?z:!0,validateSchema:(de=t.validateSchema)!==null&&de!==void 0?de:!0,validateFormats:(Te=t.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(K=t.unicodeRegExp)!==null&&K!==void 0?K:!0,int32range:(Le=t.int32range)!==null&&Le!==void 0?Le:!0,uriResolver:gS}}var ss=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,..._P(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new dP.ValueScope({scope:{},prefixes:mP,es5:r,lines:n}),this.logger=bP(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,lP.getRules)(),A_.call(this,hP,e,"NOT SUPPORTED"),A_.call(this,gP,e,"DEPRECATED","warn"),this._metaOpts=SP.call(this),e.formats&&xP.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&vP.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),yP.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=z_;n==="id"&&(o={...z_},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||i.call(this,f)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof M_.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,os.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=j_.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ns.SchemaEnv({schema:{},schemaId:n});if(r=ns.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=j_.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,os.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(EP.call(this,n,r),!r)return(0,fd.eachItem)(n,s=>pd.call(this,s)),this;$P.call(this,r);let o={...r,type:(0,Wi.getJSONTypes)(r.type),schemaType:(0,Wi.getJSONTypes)(r.schemaType)};return(0,fd.eachItem)(n,o.type.length===0?s=>pd.call(this,s,o):s=>o.type.forEach(i=>pd.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=L_(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,os.normalizeId)(i||n);let u=os.getSchemaRefs.call(this,e,n);return c=new ns.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):ns.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{ns.compileSchema.call(this,e)}finally{this.opts=r}}};ss.ValidationError=uP.default;ss.MissingRefError=M_.default;Ae.default=ss;function A_(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function j_(t){return t=(0,os.normalizeId)(t),this.schemas[t]||this.refs[t]}function yP(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function xP(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function vP(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function SP(){let t={...this.opts};for(let e of fP)delete t[e];return t}var kP={log(){},warn(){},error(){}};function bP(t){if(t===!1)return kP;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var wP=/^[a-z_$][a-z0-9_$:-]*$/i;function EP(t,e){let{RULES:r}=this;if((0,fd.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!wP.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function pd(t,e,r){var n;let o=e?.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[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Wi.getJSONTypes)(e.type),schemaType:(0,Wi.getJSONTypes)(e.schemaType)}};e.before?TP.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function TP(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function $P(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=L_(e)),t.validateSchema=this.compile(e,!0))}var PP={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function L_(t){return{anyOf:[t,PP]}}});var U_=T(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var RP={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};md.default=RP});var B_=T(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.callRef=sn.getValidate=void 0;var OP=ts(),H_=pt(),rt=q(),Bn=Xt(),F_=qi(),Gi=Q(),CP={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=F_.resolveRef.call(c,u,o,r);if(l===void 0)throw new OP.default(n.opts.uriResolver,o,r);if(l instanceof F_.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return Yi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Yi(t,(0,rt._)`${p}.validate`,u,u.$async)}function f(p){let h=q_(t,p);Yi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,rt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:rt.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function q_(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,rt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}sn.getValidate=q_;function Yi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Bn.default.this:rt.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=o.let("valid");o.try(()=>{o.code((0,rt._)`await ${(0,H_.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,rt._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,H_.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,rt._)`${p}.errors`;o.assign(Bn.default.vErrors,(0,rt._)`${Bn.default.vErrors} === null ? ${h} : ${Bn.default.vErrors}.concat(${h})`),o.assign(Bn.default.errors,(0,rt._)`${Bn.default.vErrors}.length`)}function m(p){var h;if(!s.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=Gi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,rt._)`${p}.evaluated.props`);s.props=Gi.mergeEvaluated.props(o,_,s.props,rt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Gi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,rt._)`${p}.evaluated.items`);s.items=Gi.mergeEvaluated.items(o,_,s.items,rt.Name)}}}sn.callRef=Yi;sn.default=CP});var V_=T(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var IP=U_(),zP=B_(),NP=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",IP.default,zP.default];hd.default=NP});var K_=T(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Xi=q(),yr=Xi.operators,Qi={maximum:{okStr:"<=",ok:yr.LTE,fail:yr.GT},minimum:{okStr:">=",ok:yr.GTE,fail:yr.LT},exclusiveMaximum:{okStr:"<",ok:yr.LT,fail:yr.GTE},exclusiveMinimum:{okStr:">",ok:yr.GT,fail:yr.LTE}},AP={message:({keyword:t,schemaCode:e})=>(0,Xi.str)`must be ${Qi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Xi._)`{comparison: ${Qi[t].okStr}, limit: ${e}}`},jP={keyword:Object.keys(Qi),type:"number",schemaType:"number",$data:!0,error:AP,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Xi._)`${r} ${Qi[e].fail} ${n} || isNaN(${r})`)}};gd.default=jP});var J_=T(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var is=q(),MP={message:({schemaCode:t})=>(0,is.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,is._)`{multipleOf: ${t}}`},DP={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:MP,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,is._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,is._)`${i} !== parseInt(${i})`;t.fail$data((0,is._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};_d.default=DP});var G_=T(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});function W_(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}yd.default=W_;W_.code='require("ajv/dist/runtime/ucs2length").default'});var Y_=T(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var an=q(),LP=Q(),ZP=G_(),UP={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,an.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,an._)`{limit: ${t}}`},HP={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:UP,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?an.operators.GT:an.operators.LT,i=o.opts.unicode===!1?(0,an._)`${r}.length`:(0,an._)`${(0,LP.useFunc)(t.gen,ZP.default)}(${r})`;t.fail$data((0,an._)`${i} ${s} ${n}`)}};xd.default=HP});var X_=T(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var FP=pt(),qP=Q(),Vn=q(),BP={message:({schemaCode:t})=>(0,Vn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Vn._)`{pattern: ${t}}`},VP={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:BP,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Vn._)`new RegExp`:(0,qP.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Vn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Vn._)`!${l}`)}else{let c=(0,FP.usePattern)(t,o);t.fail$data((0,Vn._)`!${c}.test(${r})`)}}};vd.default=VP});var Q_=T(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var as=q(),KP={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,as.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,as._)`{limit: ${t}}`},JP={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:KP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?as.operators.GT:as.operators.LT;t.fail$data((0,as._)`Object.keys(${r}).length ${o} ${n}`)}};Sd.default=JP});var ey=T(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var cs=pt(),us=q(),WP=Q(),GP={message:({params:{missingProperty:t}})=>(0,us.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,us._)`{missingProperty: ${t}}`},YP={keyword:"required",type:"object",schemaType:"array",$data:!0,error:GP,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:p}=t.it;for(let h of r)if(m?.[h]===void 0&&!p.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,WP.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(us.nil,d);else for(let m of r)(0,cs.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>f(m,p)),t.ok(p)}else e.if((0,cs.checkMissingProp)(t,r,m)),(0,cs.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",n,m=>{t.setParams({missingProperty:m}),e.if((0,cs.noPropertyInData)(e,o,m,a.ownProperties),()=>t.error())})}function f(m,p){t.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(p,(0,cs.propertyInData)(e,o,m,a.ownProperties)),e.if((0,us.not)(p),()=>{t.error(),e.break()})},us.nil)}}};kd.default=YP});var ty=T(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var ls=q(),XP={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ls.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ls._)`{limit: ${t}}`},QP={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:XP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?ls.operators.GT:ls.operators.LT;t.fail$data((0,ls._)`${r}.length ${o} ${n}`)}};bd.default=QP});var ea=T(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var ry=Jl();ry.code='require("ajv/dist/runtime/equal").default';wd.default=ry});var ny=T(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var Ed=Go(),je=q(),eR=Q(),tR=ea(),rR={message:({params:{i:t,j:e}})=>(0,je.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,je._)`{i: ${t}, j: ${e}}`},nR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:rR,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,Ed.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,je._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,je._)`${r}.length`),h=e.let("j");t.setParams({i:p,j:h}),e.assign(c,!0),e.if((0,je._)`${p} > 1`,()=>(d()?f:m)(p,h))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,h){let g=e.name("item"),_=(0,Ed.checkDataTypes)(u,g,a.opts.strictNumbers,Ed.DataType.Wrong),v=e.const("indices",(0,je._)`{}`);e.for((0,je._)`;${p}--;`,()=>{e.let(g,(0,je._)`${r}[${p}]`),e.if(_,(0,je._)`continue`),u.length>1&&e.if((0,je._)`typeof ${g} == "string"`,(0,je._)`${g} += "_"`),e.if((0,je._)`typeof ${v}[${g}] == "number"`,()=>{e.assign(h,(0,je._)`${v}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,je._)`${v}[${g}] = ${p}`)})}function m(p,h){let g=(0,eR.useFunc)(e,tR.default),_=e.name("outer");e.label(_).for((0,je._)`;${p}--;`,()=>e.for((0,je._)`${h} = ${p}; ${h}--;`,()=>e.if((0,je._)`${g}(${r}[${p}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Td.default=nR});var oy=T(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var $d=q(),oR=Q(),sR=ea(),iR={message:"must be equal to constant",params:({schemaCode:t})=>(0,$d._)`{allowedValue: ${t}}`},aR={keyword:"const",$data:!0,error:iR,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,$d._)`!${(0,oR.useFunc)(e,sR.default)}(${r}, ${o})`):t.fail((0,$d._)`${s} !== ${r}`)}};Pd.default=aR});var sy=T(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var ds=q(),cR=Q(),uR=ea(),lR={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,ds._)`{allowedValues: ${t}}`},dR={keyword:"enum",schemaType:"array",$data:!0,error:lR,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,cR.useFunc)(e,uR.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=e.const("vSchema",s);l=(0,ds.or)(...o.map((p,h)=>f(m,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,m=>e.if((0,ds._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function f(m,p){let h=o[p];return typeof h=="object"&&h!==null?(0,ds._)`${u()}(${r}, ${m}[${p}])`:(0,ds._)`${r} === ${h}`}}};Rd.default=dR});var iy=T(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var pR=K_(),fR=J_(),mR=Y_(),hR=X_(),gR=Q_(),_R=ey(),yR=ty(),xR=ny(),vR=oy(),SR=sy(),kR=[pR.default,fR.default,mR.default,hR.default,gR.default,_R.default,yR.default,xR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},vR.default,SR.default];Od.default=kR});var Id=T(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.validateAdditionalItems=void 0;var cn=q(),Cd=Q(),bR={message:({params:{len:t}})=>(0,cn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,cn._)`{limit: ${t}}`},wR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:bR,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Cd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}ay(t,n)}};function ay(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,cn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,cn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Cd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,cn._)`${a} <= ${e.length}`);r.if((0,cn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Cd.Type.Num},u),i.allErrors||r.if((0,cn.not)(u),()=>r.break())})}}ps.validateAdditionalItems=ay;ps.default=wR});var zd=T(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.validateTuple=void 0;var cy=q(),ta=Q(),ER=pt(),TR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return uy(t,"additionalItems",e);r.items=!0,!(0,ta.alwaysValidSchema)(r,e)&&t.ok((0,ER.validateArray)(t))}};function uy(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=ta.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,cy._)`${s}.length`);r.forEach((d,f)=>{(0,ta.alwaysValidSchema)(a,d)||(n.if((0,cy._)`${u} > ${f}`,()=>t.subschema({keyword:i,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:m}=a,p=r.length,h=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,ta.checkStrictMode)(a,g,f.strictTuples)}}}fs.validateTuple=uy;fs.default=TR});var ly=T(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var $R=zd(),PR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,$R.validateTuple)(t,"items")};Nd.default=PR});var py=T(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var dy=q(),RR=Q(),OR=pt(),CR=Id(),IR={message:({params:{len:t}})=>(0,dy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,dy._)`{limit: ${t}}`},zR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:IR,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,RR.alwaysValidSchema)(n,e)&&(o?(0,CR.validateAdditionalItems)(t,o):t.ok((0,OR.validateArray)(t)))}};Ad.default=zR});var fy=T(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var mt=q(),ra=Q(),NR={message:({params:{min:t,max:e}})=>e===void 0?(0,mt.str)`must contain at least ${t} valid item(s)`:(0,mt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,mt._)`{minContains: ${t}}`:(0,mt._)`{minContains: ${t}, maxContains: ${e}}`},AR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:NR,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,mt._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,ra.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,ra.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,ra.alwaysValidSchema)(s,r)){let h=(0,mt._)`${l} >= ${i}`;a!==void 0&&(h=(0,mt._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,mt._)`${o}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>p(g)))}function m(h,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:ra.Type.Num,compositeRule:!0},h),g()})}function p(h){e.code((0,mt._)`${h}++`),a===void 0?e.if((0,mt._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,mt._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,mt._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};jd.default=AR});var gy=T(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.validateSchemaDeps=Dt.validatePropertyDeps=Dt.error=void 0;var Md=q(),jR=Q(),ms=pt();Dt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Md.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Md._)`{property: ${t},
6
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,H._)`[${o}]`)}}}function g0({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,H._)`${e} !== undefined`,()=>t.assign((0,H._)`${e}[${r}]`,n))}function Hl(t,e,r,n=Un.Correct){let o=n===Un.Correct?H.operators.EQ:H.operators.NEQ,s;switch(t){case"null":return(0,H._)`${e} ${o} null`;case"array":s=(0,H._)`Array.isArray(${e})`;break;case"object":s=(0,H._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,H._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,H._)`typeof ${e} ${o} ${t}`}return n===Un.Correct?s:(0,H.not)(s);function i(a=H.nil){return(0,H.and)((0,H._)`typeof ${e} == "number"`,a,r?(0,H._)`isFinite(${e})`:H.nil)}}Fe.checkDataType=Hl;function Fl(t,e,r,n){if(t.length===1)return Hl(t[0],e,r,n);let o,s=(0,Dg.toHash)(t);if(s.array&&s.object){let i=(0,H._)`typeof ${e} != "object"`;o=s.null?i:(0,H._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=H.nil;s.number&&delete s.integer;for(let i in s)o=(0,H.and)(o,Hl(i,e,r,n));return o}Fe.checkDataTypes=Fl;var _0={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,H._)`{type: ${t}}`:(0,H._)`{type: ${e}}`};function ql(t){let e=y0(t);(0,d0.reportError)(e,_0)}Fe.reportTypeError=ql;function y0(t){let{gen:e,data:r,schema:n}=t,o=(0,Dg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Hg=T(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.assignDefaults=void 0;var Hn=q(),x0=Q();function v0(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Ug(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Ug(t,s,o.default))}Di.assignDefaults=v0;function Ug(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Hn._)`${s}${(0,Hn.getProperty)(e)}`;if(o){(0,x0.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Hn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Hn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Hn._)`${a} = ${(0,Hn.stringify)(r)}`)}});var ft=T(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 fe=q(),Bl=Q(),gr=Qt(),S0=Q();function k0(t,e){let{gen:r,data:n,it:o}=t;r.if(Kl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,fe._)`${e}`},!0),t.error()})}oe.checkReportMissingProp=k0;function b0({gen:t,data:e,it:{opts:r}},n,o){return(0,fe.or)(...n.map(s=>(0,fe.and)(Kl(t,e,s,r.ownProperties),(0,fe._)`${o} = ${s}`)))}oe.checkMissingProp=b0;function w0(t,e){t.setParams({missingProperty:e},!0),t.error()}oe.reportMissingProp=w0;function Fg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,fe._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=Fg;function Vl(t,e,r){return(0,fe._)`${Fg(t)}.call(${e}, ${r})`}oe.isOwnProperty=Vl;function E0(t,e,r,n){let o=(0,fe._)`${e}${(0,fe.getProperty)(r)} !== undefined`;return n?(0,fe._)`${o} && ${Vl(t,e,r)}`:o}oe.propertyInData=E0;function Kl(t,e,r,n){let o=(0,fe._)`${e}${(0,fe.getProperty)(r)} === undefined`;return n?(0,fe.or)(o,(0,fe.not)(Vl(t,e,r))):o}oe.noPropertyInData=Kl;function qg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}oe.allSchemaProperties=qg;function T0(t,e){return qg(e).filter(r=>!(0,Bl.alwaysValidSchema)(t,e[r]))}oe.schemaProperties=T0;function $0({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,fe._)`${t}, ${e}, ${n}${o}`:e,d=[[gr.default.instancePath,(0,fe.strConcat)(gr.default.instancePath,s)],[gr.default.parentData,i.parentData],[gr.default.parentDataProperty,i.parentDataProperty],[gr.default.rootData,gr.default.rootData]];i.opts.dynamicRef&&d.push([gr.default.dynamicAnchors,gr.default.dynamicAnchors]);let f=(0,fe._)`${l}, ${r.object(...d)}`;return c!==fe.nil?(0,fe._)`${a}.call(${c}, ${f})`:(0,fe._)`${a}(${f})`}oe.callValidateCode=$0;var P0=(0,fe._)`new RegExp`;function R0({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,fe._)`${o.code==="new RegExp"?P0:(0,S0.useFunc)(t,o)}(${r}, ${n})`})}oe.usePattern=R0;function O0(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,fe._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Bl.Type.Num},s),e.if((0,fe.not)(s),a)})}}oe.validateArray=O0;function C0(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Bl.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,fe._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,fe.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}oe.validateUnion=C0});var Kg=T(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.validateKeywordUsage=At.validSchemaType=At.funcKeywordCode=At.macroKeywordCode=void 0;var Ke=q(),nn=Qt(),I0=ft(),z0=Wo();function N0(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Vg(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ke.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}At.macroKeywordCode=N0;function A0(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;M0(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Vg(n,o,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&Bg(t),g(()=>t.error());else{let _=e.async?m():p();e.modifying&&Bg(t),g(()=>j0(t,_))}}function m(){let _=n.let("ruleErrs",null);return n.try(()=>h((0,Ke._)`await `),v=>n.assign(d,!1).if((0,Ke._)`${v} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Ke._)`${v}.errors`),()=>n.throw(v))),_}function p(){let _=(0,Ke._)`${l}.errors`;return n.assign(_,null),h(Ke.nil),_}function h(_=e.async?(0,Ke._)`await `:Ke.nil){let v=c.opts.passContext?nn.default.this:nn.default.self,S=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ke._)`${_}${(0,I0.callValidateCode)(t,l,v,S)}`,e.modifying)}function g(_){var v;n.if((0,Ke.not)((v=e.valid)!==null&&v!==void 0?v:d),_)}}At.funcKeywordCode=A0;function Bg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ke._)`${n.parentData}[${n.parentDataProperty}]`))}function j0(t,e){let{gen:r}=t;r.if((0,Ke._)`Array.isArray(${e})`,()=>{r.assign(nn.default.vErrors,(0,Ke._)`${nn.default.vErrors} === null ? ${e} : ${nn.default.vErrors}.concat(${e})`).assign(nn.default.errors,(0,Ke._)`${nn.default.vErrors}.length`),(0,z0.extendErrors)(t)},()=>t.error())}function M0({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Vg(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ke.stringify)(r)})}function D0(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}At.validSchemaType=D0;function L0({schema:t,opts:e,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(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}At.validateKeywordUsage=L0});var Wg=T(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.extendSubschemaMode=_r.extendSubschemaData=_r.getSubschema=void 0;var jt=q(),Jg=Q();function Z0(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}${(0,jt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Jg.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')}_r.getSubschema=Z0;function U0(t,e,{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}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,jt._)`${e.data}${(0,jt.getProperty)(r)}`,!0);c(f),t.errorPath=(0,jt.str)`${u}${(0,Jg.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,jt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof jt.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}_r.extendSubschemaData=U0;function H0(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}_r.extendSubschemaMode=H0});var Jl=T((AM,Gg)=>{"use strict";Gg.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),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(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var Xg=T((jM,Yg)=>{"use strict";var yr=Yg.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Li(e,n,o,t,"",t)};yr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yr.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 Li(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in yr.arrayKeywords)for(var f=0;f<d.length;f++)Li(t,e,r,d[f],o+"/"+l+"/"+f,s,o,l,n,f)}else if(l in yr.propsKeywords){if(d&&typeof d=="object")for(var m in d)Li(t,e,r,d[m],o+"/"+l+"/"+F0(m),s,o,l,n,m)}else(l in yr.keywords||t.allKeys&&!(l in yr.skipKeywords))&&Li(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function F0(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Yo=T(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.getSchemaRefs=tt.resolveUrl=tt.normalizeId=tt._getFullPath=tt.getFullPath=tt.inlineRef=void 0;var q0=Q(),B0=Jl(),V0=Xg(),K0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function J0(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Wl(t):e?Qg(t)<=e:!1}tt.inlineRef=J0;var W0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Wl(t){for(let e in t){if(W0.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Wl)||typeof r=="object"&&Wl(r))return!0}return!1}function Qg(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!K0.has(r)&&(typeof t[r]=="object"&&(0,q0.eachItem)(t[r],n=>e+=Qg(n)),e===1/0))return 1/0}return e}function e_(t,e="",r){r!==!1&&(e=Fn(e));let n=t.parse(e);return t_(t,n)}tt.getFullPath=e_;function t_(t,e){return t.serialize(e).split("#")[0]+"#"}tt._getFullPath=t_;var G0=/#\/?$/;function Fn(t){return t?t.replace(G0,""):""}tt.normalizeId=Fn;function Y0(t,e,r){return r=Fn(r),t.resolve(e,r)}tt.resolveUrl=Y0;var X0=/^[a-z_][-a-z0-9._]*$/i;function Q0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Fn(t[r]||e),s={"":o},i=e_(n,o,!1),a={},c=new Set;return V0(t,{allKeys:!0},(d,f,m,p)=>{if(p===void 0)return;let h=i+f,g=s[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),v.call(this,d.$anchor),v.call(this,d.$dynamicAnchor),s[f]=g;function _(S){let E=this.opts.uriResolver.resolve;if(S=Fn(g?E(g,S):S),c.has(S))throw l(S);c.add(S);let z=this.refs[S];return typeof z=="string"&&(z=this.refs[z]),typeof z=="object"?u(d,z.schema,S):S!==Fn(h)&&(S[0]==="#"?(u(d,a[S],S),a[S]=d):this.refs[S]=h),S}function v(S){if(typeof S=="string"){if(!X0.test(S))throw new Error(`invalid anchor "${S}"`);_.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!B0(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}tt.getSchemaRefs=Q0});var es=T(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.getData=xr.KeywordCxt=xr.validateFunctionCode=void 0;var i_=Ag(),r_=Go(),Yl=Ul(),Zi=Go(),e$=Hg(),Qo=Kg(),Gl=Wg(),I=q(),Z=Qt(),t$=Yo(),er=Q(),Xo=Wo();function r$(t){if(u_(t)&&(l_(t),c_(t))){s$(t);return}a_(t,()=>(0,i_.topBoolOrEmptySchema)(t))}xr.validateFunctionCode=r$;function a_({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,I._)`${Z.default.data}, ${Z.default.valCxt}`,n.$async,()=>{t.code((0,I._)`"use strict"; ${n_(r,o)}`),o$(t,o),t.code(s)}):t.func(e,(0,I._)`${Z.default.data}, ${n$(o)}`,n.$async,()=>t.code(n_(r,o)).code(s))}function n$(t){return(0,I._)`{${Z.default.instancePath}="", ${Z.default.parentData}, ${Z.default.parentDataProperty}, ${Z.default.rootData}=${Z.default.data}${t.dynamicRef?(0,I._)`, ${Z.default.dynamicAnchors}={}`:I.nil}}={}`}function o$(t,e){t.if(Z.default.valCxt,()=>{t.var(Z.default.instancePath,(0,I._)`${Z.default.valCxt}.${Z.default.instancePath}`),t.var(Z.default.parentData,(0,I._)`${Z.default.valCxt}.${Z.default.parentData}`),t.var(Z.default.parentDataProperty,(0,I._)`${Z.default.valCxt}.${Z.default.parentDataProperty}`),t.var(Z.default.rootData,(0,I._)`${Z.default.valCxt}.${Z.default.rootData}`),e.dynamicRef&&t.var(Z.default.dynamicAnchors,(0,I._)`${Z.default.valCxt}.${Z.default.dynamicAnchors}`)},()=>{t.var(Z.default.instancePath,(0,I._)`""`),t.var(Z.default.parentData,(0,I._)`undefined`),t.var(Z.default.parentDataProperty,(0,I._)`undefined`),t.var(Z.default.rootData,Z.default.data),e.dynamicRef&&t.var(Z.default.dynamicAnchors,(0,I._)`{}`)})}function s$(t){let{schema:e,opts:r,gen:n}=t;a_(t,()=>{r.$comment&&e.$comment&&p_(t),l$(t),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&i$(t),d_(t),f$(t)})}function i$(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,I._)`${r}.evaluated`),e.if((0,I._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,I._)`${t.evaluated}.props`,(0,I._)`undefined`)),e.if((0,I._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,I._)`${t.evaluated}.items`,(0,I._)`undefined`))}function n_(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,I._)`/*# sourceURL=${r} */`:I.nil}function a$(t,e){if(u_(t)&&(l_(t),c_(t))){c$(t,e);return}(0,i_.boolOrEmptySchema)(t,e)}function c_({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function u_(t){return typeof t.schema!="boolean"}function c$(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&p_(t),d$(t),p$(t);let s=n.const("_errs",Z.default.errors);d_(t,s),n.var(e,(0,I._)`${s} === ${Z.default.errors}`)}function l_(t){(0,er.checkUnknownRules)(t),u$(t)}function d_(t,e){if(t.opts.jtd)return o_(t,[],!1,e);let r=(0,r_.getSchemaTypes)(t.schema),n=(0,r_.coerceAndCheckDataType)(t,r);o_(t,r,!n,e)}function u$(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,er.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function l$(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,er.checkStrictMode)(t,"default is ignored in the schema root")}function d$(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,t$.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function p$(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function p_({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,I._)`${Z.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,I.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,I._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function f$(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,I._)`${Z.default.errors} === 0`,()=>e.return(Z.default.data),()=>e.throw((0,I._)`new ${o}(${Z.default.vErrors})`)):(e.assign((0,I._)`${n}.errors`,Z.default.vErrors),s.unevaluated&&m$(t),e.return((0,I._)`${Z.default.errors} === 0`))}function m$({gen:t,evaluated:e,props:r,items:n}){r instanceof I.Name&&t.assign((0,I._)`${e}.props`,r),n instanceof I.Name&&t.assign((0,I._)`${e}.items`,n)}function o_(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,er.schemaHasRulesButRef)(s,l))){o.block(()=>m_(t,"$ref",l.all.$ref.definition));return}c.jtd||h$(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Yl.shouldUseGroup)(s,f)&&(f.type?(o.if((0,Zi.checkDataType)(f.type,i,c.strictNumbers)),s_(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Zi.reportTypeError)(t)),o.endIf()):s_(t,f),a||o.if((0,I._)`${Z.default.errors} === ${n||0}`))}}function s_(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,e$.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Yl.shouldUseRule)(n,s)&&m_(t,s.keyword,s.definition,e.type)})}function h$(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(g$(t,e),t.opts.allowUnionTypes||_$(t,e),y$(t,t.dataTypes))}function g$(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{f_(t.dataTypes,r)||Xl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),v$(t,e)}}function _$(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Xl(t,"use allowUnionTypes to allow union type keyword")}function y$(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Yl.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>x$(e,i))&&Xl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function x$(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function f_(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function v$(t,e){let r=[];for(let n of t.dataTypes)f_(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Xl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,er.checkStrictMode)(t,e,t.opts.strictTypes)}var Ui=class{constructor(e,r,n){if((0,Qo.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,er.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",h_(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Qo.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Z.default.errors))}result(e,r,n){this.failResult((0,I.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,I.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,I._)`${r} !== undefined && (${(0,I.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Xo.reportExtraError:Xo.reportError)(this,this.def.error,r)}$dataError(){(0,Xo.reportError)(this,this.def.$dataError||Xo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Xo.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=I.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=I.nil,r=I.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,I.or)((0,I._)`${o} === undefined`,r)),e!==I.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==I.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,I.or)(i(),a());function i(){if(n.length){if(!(r instanceof I.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,I._)`${(0,Zi.checkDataTypes)(c,r,s.opts.strictNumbers,Zi.DataType.Wrong)}`}return I.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,I._)`!${c}(${r})`}return I.nil}}subschema(e,r){let n=(0,Gl.getSubschema)(this.it,e);(0,Gl.extendSubschemaData)(n,this.it,e),(0,Gl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return a$(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=er.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=er.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,I.Name)),!0}};xr.KeywordCxt=Ui;function m_(t,e,r,n){let o=new Ui(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Qo.funcKeywordCode)(o,r):"macro"in r?(0,Qo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Qo.funcKeywordCode)(o,r)}var S$=/^\/(?:[^~]|~0|~1)*$/,k$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function h_(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return Z.default.rootData;if(t[0]==="/"){if(!S$.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=Z.default.rootData}else{let u=k$.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,I._)`${s}${(0,I.getProperty)((0,er.unescapeJsonPointer)(u))}`,i=(0,I._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}xr.getData=h_});var Hi=T(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});var Ql=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};ed.default=Ql});var ts=T(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var td=Yo(),rd=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,td.resolveUrl)(e,r,n),this.missingSchema=(0,td.normalizeId)((0,td.getFullPath)(e,this.missingRef))}};nd.default=rd});var qi=T(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.resolveSchema=mt.getCompilingSchema=mt.resolveRef=mt.compileSchema=mt.SchemaEnv=void 0;var bt=q(),b$=Hi(),on=Qt(),wt=Yo(),g_=Q(),w$=es(),qn=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,wt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};mt.SchemaEnv=qn;function sd(t){let e=__.call(this,t);if(e)return e;let r=(0,wt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new bt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:b$.default,code:(0,bt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:on.default.data,parentData:on.default.parentData,parentDataProperty:on.default.parentDataProperty,dataNames:[on.default.data],dataPathArr:[bt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,bt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:bt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,bt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,w$.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(on.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${on.default.self}`,`${on.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:h}=u;m.evaluated={props:p instanceof bt.Name?void 0:p,items:h instanceof bt.Name?void 0:h,dynamicProps:p instanceof bt.Name,dynamicItems:h instanceof bt.Name},m.source&&(m.source.evaluated=(0,bt.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}mt.compileSchema=sd;function E$(t,e,r){var n;r=(0,wt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=P$.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new qn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=T$.call(this,s)}mt.resolveRef=E$;function T$(t){return(0,wt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:sd.call(this,t)}function __(t){for(let e of this._compilations)if($$(e,t))return e}mt.getCompilingSchema=__;function $$(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function P$(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Fi.call(this,t,e)}function Fi(t,e){let r=this.opts.uriResolver.parse(e),n=(0,wt._getFullPath)(this.opts.uriResolver,r),o=(0,wt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return od.call(this,r,t);let s=(0,wt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Fi.call(this,t,i);return typeof a?.schema!="object"?void 0:od.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||sd.call(this,i),s===(0,wt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,wt.resolveUrl)(this.opts.uriResolver,o,u)),new qn({schema:a,schemaId:c,root:t,baseId:o})}return od.call(this,r,i)}}mt.resolveSchema=Fi;var R$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function od(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,g_.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!R$.has(a)&&u&&(e=(0,wt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,g_.schemaHasRulesButRef)(r,this.RULES)){let a=(0,wt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Fi.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new qn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var y_=T((HM,O$)=>{O$.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 ad=T((FM,k_)=>{"use strict";var C$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),v_=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 id(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var I$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function x_(t){return t.length=0,!0}function z$(t,e,r){if(t.length){let n=id(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function N$(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=z$;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=x_}else{o.push(u);continue}}return o.length&&(a===x_?r.zone=o.join(""):i?n.push(o.join("")):n.push(id(o))),r.address=n.join(""),r}function S_(t){if(A$(t,":")<2)return{host:t,isIPV6:!1};let e=N$(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function A$(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function j$(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function M$(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function D$(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!v_(r)){let n=S_(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}k_.exports={nonSimpleDomain:I$,recomposeAuthority:D$,normalizeComponentEncoding:M$,removeDotSegments:j$,isIPv4:v_,isUUID:C$,normalizeIPv6:S_,stringArrayToHexStripped:id}});var $_=T((qM,T_)=>{"use strict";var{isUUID:L$}=ad(),Z$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,U$=["http","https","ws","wss","urn","urn:uuid"];function H$(t){return U$.indexOf(t)!==-1}function cd(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function b_(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function w_(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function F$(t){return t.secure=cd(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function q$(t){if((t.port===(cd(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function B$(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Z$);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=ud(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function V$(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=ud(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function K$(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!L$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function J$(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var E_={scheme:"http",domainHost:!0,parse:b_,serialize:w_},W$={scheme:"https",domainHost:E_.domainHost,parse:b_,serialize:w_},Bi={scheme:"ws",domainHost:!0,parse:F$,serialize:q$},G$={scheme:"wss",domainHost:Bi.domainHost,parse:Bi.parse,serialize:Bi.serialize},Y$={scheme:"urn",parse:B$,serialize:V$,skipNormalize:!0},X$={scheme:"urn:uuid",parse:K$,serialize:J$,skipNormalize:!0},Vi={http:E_,https:W$,ws:Bi,wss:G$,urn:Y$,"urn:uuid":X$};Object.setPrototypeOf(Vi,null);function ud(t){return t&&(Vi[t]||Vi[t.toLowerCase()])||void 0}T_.exports={wsIsSecure:cd,SCHEMES:Vi,isValidSchemeName:H$,getSchemeHandler:ud}});var O_=T((BM,Ji)=>{"use strict";var{normalizeIPv6:Q$,removeDotSegments:rs,recomposeAuthority:eP,normalizeComponentEncoding:Ki,isIPv4:tP,nonSimpleDomain:rP}=ad(),{SCHEMES:nP,getSchemeHandler:P_}=$_();function oP(t,e){return typeof t=="string"?t=Mt(tr(t,e),e):typeof t=="object"&&(t=tr(Mt(t,e),e)),t}function sP(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=R_(tr(t,n),tr(e,n),n,!0);return n.skipEscape=!0,Mt(o,n)}function R_(t,e,r,n){let o={};return n||(t=tr(Mt(t,r),r),e=tr(Mt(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=rs(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=rs(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=rs(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=rs(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function iP(t,e,r){return typeof t=="string"?(t=unescape(t),t=Mt(Ki(tr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Mt(Ki(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Mt(Ki(tr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Mt(Ki(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Mt(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=P_(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=eP(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=rs(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 aP=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function tr(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(aP);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(tP(n.host)===!1){let c=Q$(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=P_(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&rP(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)&&(t.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 ld={SCHEMES:nP,normalize:oP,resolve:sP,resolveComponent:R_,equal:iP,serialize:Mt,parse:tr};Ji.exports=ld;Ji.exports.default=ld;Ji.exports.fastUri=ld});var I_=T(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var C_=O_();C_.code='require("ajv/dist/runtime/uri").default';dd.default=C_});var Z_=T(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.CodeGen=Ae.Name=Ae.nil=Ae.stringify=Ae.str=Ae._=Ae.KeywordCxt=void 0;var cP=es();Object.defineProperty(Ae,"KeywordCxt",{enumerable:!0,get:function(){return cP.KeywordCxt}});var Bn=q();Object.defineProperty(Ae,"_",{enumerable:!0,get:function(){return Bn._}});Object.defineProperty(Ae,"str",{enumerable:!0,get:function(){return Bn.str}});Object.defineProperty(Ae,"stringify",{enumerable:!0,get:function(){return Bn.stringify}});Object.defineProperty(Ae,"nil",{enumerable:!0,get:function(){return Bn.nil}});Object.defineProperty(Ae,"Name",{enumerable:!0,get:function(){return Bn.Name}});Object.defineProperty(Ae,"CodeGen",{enumerable:!0,get:function(){return Bn.CodeGen}});var uP=Hi(),M_=ts(),lP=Zl(),ns=qi(),dP=q(),os=Yo(),Wi=Go(),fd=Q(),z_=y_(),pP=I_(),D_=(t,e)=>new RegExp(t,e);D_.code="new RegExp";var fP=["removeAdditional","useDefaults","coerceTypes"],mP=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),hP={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."},gP={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},N_=200;function _P(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,_,v,S,E,z,de,Te,K,Le;let ve=t.strict,Pr=(e=t.code)===null||e===void 0?void 0:e.optimize,kf=Pr===!0||Pr===void 0?1:Pr||0,bf=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:D_,gS=(o=t.uriResolver)!==null&&o!==void 0?o:pP.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:ve)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:ve)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:ve)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:ve)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:ve)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:kf,regExp:bf}:{optimize:kf,regExp:bf},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:N_,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:N_,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(v=t.messages)!==null&&v!==void 0?v:!0,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(E=t.schemaId)!==null&&E!==void 0?E:"$id",addUsedSchema:(z=t.addUsedSchema)!==null&&z!==void 0?z:!0,validateSchema:(de=t.validateSchema)!==null&&de!==void 0?de:!0,validateFormats:(Te=t.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(K=t.unicodeRegExp)!==null&&K!==void 0?K:!0,int32range:(Le=t.int32range)!==null&&Le!==void 0?Le:!0,uriResolver:gS}}var ss=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,..._P(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new dP.ValueScope({scope:{},prefixes:mP,es5:r,lines:n}),this.logger=bP(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,lP.getRules)(),A_.call(this,hP,e,"NOT SUPPORTED"),A_.call(this,gP,e,"DEPRECATED","warn"),this._metaOpts=SP.call(this),e.formats&&xP.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&vP.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),yP.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=z_;n==="id"&&(o={...z_},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||i.call(this,f)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof M_.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,os.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=j_.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ns.SchemaEnv({schema:{},schemaId:n});if(r=ns.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=j_.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,os.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(EP.call(this,n,r),!r)return(0,fd.eachItem)(n,s=>pd.call(this,s)),this;$P.call(this,r);let o={...r,type:(0,Wi.getJSONTypes)(r.type),schemaType:(0,Wi.getJSONTypes)(r.schemaType)};return(0,fd.eachItem)(n,o.type.length===0?s=>pd.call(this,s,o):s=>o.type.forEach(i=>pd.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=L_(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,os.normalizeId)(i||n);let u=os.getSchemaRefs.call(this,e,n);return c=new ns.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):ns.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{ns.compileSchema.call(this,e)}finally{this.opts=r}}};ss.ValidationError=uP.default;ss.MissingRefError=M_.default;Ae.default=ss;function A_(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function j_(t){return t=(0,os.normalizeId)(t),this.schemas[t]||this.refs[t]}function yP(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function xP(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function vP(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function SP(){let t={...this.opts};for(let e of fP)delete t[e];return t}var kP={log(){},warn(){},error(){}};function bP(t){if(t===!1)return kP;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var wP=/^[a-z_$][a-z0-9_$:-]*$/i;function EP(t,e){let{RULES:r}=this;if((0,fd.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!wP.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function pd(t,e,r){var n;let o=e?.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[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Wi.getJSONTypes)(e.type),schemaType:(0,Wi.getJSONTypes)(e.schemaType)}};e.before?TP.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function TP(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function $P(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=L_(e)),t.validateSchema=this.compile(e,!0))}var PP={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function L_(t){return{anyOf:[t,PP]}}});var U_=T(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var RP={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};md.default=RP});var B_=T(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.callRef=sn.getValidate=void 0;var OP=ts(),H_=ft(),rt=q(),Vn=Qt(),F_=qi(),Gi=Q(),CP={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=F_.resolveRef.call(c,u,o,r);if(l===void 0)throw new OP.default(n.opts.uriResolver,o,r);if(l instanceof F_.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return Yi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Yi(t,(0,rt._)`${p}.validate`,u,u.$async)}function f(p){let h=q_(t,p);Yi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,rt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:rt.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function q_(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,rt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}sn.getValidate=q_;function Yi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Vn.default.this:rt.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=o.let("valid");o.try(()=>{o.code((0,rt._)`await ${(0,H_.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,rt._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,H_.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,rt._)`${p}.errors`;o.assign(Vn.default.vErrors,(0,rt._)`${Vn.default.vErrors} === null ? ${h} : ${Vn.default.vErrors}.concat(${h})`),o.assign(Vn.default.errors,(0,rt._)`${Vn.default.vErrors}.length`)}function m(p){var h;if(!s.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=Gi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,rt._)`${p}.evaluated.props`);s.props=Gi.mergeEvaluated.props(o,_,s.props,rt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Gi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,rt._)`${p}.evaluated.items`);s.items=Gi.mergeEvaluated.items(o,_,s.items,rt.Name)}}}sn.callRef=Yi;sn.default=CP});var V_=T(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var IP=U_(),zP=B_(),NP=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",IP.default,zP.default];hd.default=NP});var K_=T(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Xi=q(),vr=Xi.operators,Qi={maximum:{okStr:"<=",ok:vr.LTE,fail:vr.GT},minimum:{okStr:">=",ok:vr.GTE,fail:vr.LT},exclusiveMaximum:{okStr:"<",ok:vr.LT,fail:vr.GTE},exclusiveMinimum:{okStr:">",ok:vr.GT,fail:vr.LTE}},AP={message:({keyword:t,schemaCode:e})=>(0,Xi.str)`must be ${Qi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Xi._)`{comparison: ${Qi[t].okStr}, limit: ${e}}`},jP={keyword:Object.keys(Qi),type:"number",schemaType:"number",$data:!0,error:AP,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Xi._)`${r} ${Qi[e].fail} ${n} || isNaN(${r})`)}};gd.default=jP});var J_=T(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var is=q(),MP={message:({schemaCode:t})=>(0,is.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,is._)`{multipleOf: ${t}}`},DP={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:MP,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,is._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,is._)`${i} !== parseInt(${i})`;t.fail$data((0,is._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};_d.default=DP});var G_=T(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});function W_(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}yd.default=W_;W_.code='require("ajv/dist/runtime/ucs2length").default'});var Y_=T(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var an=q(),LP=Q(),ZP=G_(),UP={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,an.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,an._)`{limit: ${t}}`},HP={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:UP,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?an.operators.GT:an.operators.LT,i=o.opts.unicode===!1?(0,an._)`${r}.length`:(0,an._)`${(0,LP.useFunc)(t.gen,ZP.default)}(${r})`;t.fail$data((0,an._)`${i} ${s} ${n}`)}};xd.default=HP});var X_=T(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var FP=ft(),qP=Q(),Kn=q(),BP={message:({schemaCode:t})=>(0,Kn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Kn._)`{pattern: ${t}}`},VP={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:BP,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Kn._)`new RegExp`:(0,qP.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Kn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Kn._)`!${l}`)}else{let c=(0,FP.usePattern)(t,o);t.fail$data((0,Kn._)`!${c}.test(${r})`)}}};vd.default=VP});var Q_=T(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var as=q(),KP={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,as.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,as._)`{limit: ${t}}`},JP={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:KP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?as.operators.GT:as.operators.LT;t.fail$data((0,as._)`Object.keys(${r}).length ${o} ${n}`)}};Sd.default=JP});var ey=T(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var cs=ft(),us=q(),WP=Q(),GP={message:({params:{missingProperty:t}})=>(0,us.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,us._)`{missingProperty: ${t}}`},YP={keyword:"required",type:"object",schemaType:"array",$data:!0,error:GP,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:p}=t.it;for(let h of r)if(m?.[h]===void 0&&!p.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,WP.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(us.nil,d);else for(let m of r)(0,cs.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>f(m,p)),t.ok(p)}else e.if((0,cs.checkMissingProp)(t,r,m)),(0,cs.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",n,m=>{t.setParams({missingProperty:m}),e.if((0,cs.noPropertyInData)(e,o,m,a.ownProperties),()=>t.error())})}function f(m,p){t.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(p,(0,cs.propertyInData)(e,o,m,a.ownProperties)),e.if((0,us.not)(p),()=>{t.error(),e.break()})},us.nil)}}};kd.default=YP});var ty=T(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var ls=q(),XP={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ls.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ls._)`{limit: ${t}}`},QP={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:XP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?ls.operators.GT:ls.operators.LT;t.fail$data((0,ls._)`${r}.length ${o} ${n}`)}};bd.default=QP});var ea=T(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var ry=Jl();ry.code='require("ajv/dist/runtime/equal").default';wd.default=ry});var ny=T(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var Ed=Go(),je=q(),eR=Q(),tR=ea(),rR={message:({params:{i:t,j:e}})=>(0,je.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,je._)`{i: ${t}, j: ${e}}`},nR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:rR,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,Ed.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,je._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,je._)`${r}.length`),h=e.let("j");t.setParams({i:p,j:h}),e.assign(c,!0),e.if((0,je._)`${p} > 1`,()=>(d()?f:m)(p,h))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,h){let g=e.name("item"),_=(0,Ed.checkDataTypes)(u,g,a.opts.strictNumbers,Ed.DataType.Wrong),v=e.const("indices",(0,je._)`{}`);e.for((0,je._)`;${p}--;`,()=>{e.let(g,(0,je._)`${r}[${p}]`),e.if(_,(0,je._)`continue`),u.length>1&&e.if((0,je._)`typeof ${g} == "string"`,(0,je._)`${g} += "_"`),e.if((0,je._)`typeof ${v}[${g}] == "number"`,()=>{e.assign(h,(0,je._)`${v}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,je._)`${v}[${g}] = ${p}`)})}function m(p,h){let g=(0,eR.useFunc)(e,tR.default),_=e.name("outer");e.label(_).for((0,je._)`;${p}--;`,()=>e.for((0,je._)`${h} = ${p}; ${h}--;`,()=>e.if((0,je._)`${g}(${r}[${p}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Td.default=nR});var oy=T(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var $d=q(),oR=Q(),sR=ea(),iR={message:"must be equal to constant",params:({schemaCode:t})=>(0,$d._)`{allowedValue: ${t}}`},aR={keyword:"const",$data:!0,error:iR,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,$d._)`!${(0,oR.useFunc)(e,sR.default)}(${r}, ${o})`):t.fail((0,$d._)`${s} !== ${r}`)}};Pd.default=aR});var sy=T(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var ds=q(),cR=Q(),uR=ea(),lR={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,ds._)`{allowedValues: ${t}}`},dR={keyword:"enum",schemaType:"array",$data:!0,error:lR,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,cR.useFunc)(e,uR.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=e.const("vSchema",s);l=(0,ds.or)(...o.map((p,h)=>f(m,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,m=>e.if((0,ds._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function f(m,p){let h=o[p];return typeof h=="object"&&h!==null?(0,ds._)`${u()}(${r}, ${m}[${p}])`:(0,ds._)`${r} === ${h}`}}};Rd.default=dR});var iy=T(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var pR=K_(),fR=J_(),mR=Y_(),hR=X_(),gR=Q_(),_R=ey(),yR=ty(),xR=ny(),vR=oy(),SR=sy(),kR=[pR.default,fR.default,mR.default,hR.default,gR.default,_R.default,yR.default,xR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},vR.default,SR.default];Od.default=kR});var Id=T(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.validateAdditionalItems=void 0;var cn=q(),Cd=Q(),bR={message:({params:{len:t}})=>(0,cn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,cn._)`{limit: ${t}}`},wR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:bR,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Cd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}ay(t,n)}};function ay(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,cn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,cn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Cd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,cn._)`${a} <= ${e.length}`);r.if((0,cn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Cd.Type.Num},u),i.allErrors||r.if((0,cn.not)(u),()=>r.break())})}}ps.validateAdditionalItems=ay;ps.default=wR});var zd=T(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.validateTuple=void 0;var cy=q(),ta=Q(),ER=ft(),TR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return uy(t,"additionalItems",e);r.items=!0,!(0,ta.alwaysValidSchema)(r,e)&&t.ok((0,ER.validateArray)(t))}};function uy(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=ta.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,cy._)`${s}.length`);r.forEach((d,f)=>{(0,ta.alwaysValidSchema)(a,d)||(n.if((0,cy._)`${u} > ${f}`,()=>t.subschema({keyword:i,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:m}=a,p=r.length,h=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,ta.checkStrictMode)(a,g,f.strictTuples)}}}fs.validateTuple=uy;fs.default=TR});var ly=T(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var $R=zd(),PR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,$R.validateTuple)(t,"items")};Nd.default=PR});var py=T(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var dy=q(),RR=Q(),OR=ft(),CR=Id(),IR={message:({params:{len:t}})=>(0,dy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,dy._)`{limit: ${t}}`},zR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:IR,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,RR.alwaysValidSchema)(n,e)&&(o?(0,CR.validateAdditionalItems)(t,o):t.ok((0,OR.validateArray)(t)))}};Ad.default=zR});var fy=T(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var ht=q(),ra=Q(),NR={message:({params:{min:t,max:e}})=>e===void 0?(0,ht.str)`must contain at least ${t} valid item(s)`:(0,ht.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ht._)`{minContains: ${t}}`:(0,ht._)`{minContains: ${t}, maxContains: ${e}}`},AR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:NR,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,ht._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,ra.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,ra.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,ra.alwaysValidSchema)(s,r)){let h=(0,ht._)`${l} >= ${i}`;a!==void 0&&(h=(0,ht._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,ht._)`${o}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>p(g)))}function m(h,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:ra.Type.Num,compositeRule:!0},h),g()})}function p(h){e.code((0,ht._)`${h}++`),a===void 0?e.if((0,ht._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,ht._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,ht._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};jd.default=AR});var gy=T(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.validateSchemaDeps=Dt.validatePropertyDeps=Dt.error=void 0;var Md=q(),jR=Q(),ms=ft();Dt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Md.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Md._)`{property: ${t},
7
7
  missingProperty: ${n},
8
8
  depsCount: ${e},
9
- deps: ${r}}`};var MR={keyword:"dependencies",type:"object",schemaType:"object",error:Dt.error,code(t){let[e,r]=DR(t);my(t,e),hy(t,r)}};function DR({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function my(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,ms.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,ms.checkReportMissingProp)(t,u)}):(r.if((0,Md._)`${c} && (${(0,ms.checkMissingProp)(t,a,s)})`),(0,ms.reportMissingProp)(t,s),r.else())}}Dt.validatePropertyDeps=my;function hy(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,jR.alwaysValidSchema)(s,e[a])||(r.if((0,ms.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Dt.validateSchemaDeps=hy;Dt.default=MR});var yy=T(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var _y=q(),LR=Q(),ZR={message:"property name must be valid",params:({params:t})=>(0,_y._)`{propertyName: ${t.propertyName}}`},UR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ZR,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,LR.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,_y.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Dd.default=UR});var Zd=T(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var na=pt(),Et=q(),HR=Xt(),oa=Q(),FR={message:"must NOT have additional properties",params:({params:t})=>(0,Et._)`{additionalProperty: ${t.additionalProperty}}`},qR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:FR,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,oa.alwaysValidSchema)(i,r))return;let u=(0,na.allSchemaProperties)(n.properties),l=(0,na.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Et._)`${s} === ${HR.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let v=(0,oa.schemaRefOrVal)(i,n.properties,"properties");_=(0,na.isOwnProperty)(e,v,g)}else u.length?_=(0,Et.or)(...u.map(v=>(0,Et._)`${g} === ${v}`)):_=Et.nil;return l.length&&(_=(0,Et.or)(_,...l.map(v=>(0,Et._)`${(0,na.usePattern)(t,v)}.test(${g})`))),(0,Et.not)(_)}function m(g){e.code((0,Et._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,oa.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(h(g,_,!1),e.if((0,Et.not)(_),()=>{t.reset(),m(g)})):(h(g,_),a||e.if((0,Et.not)(_),()=>e.break()))}}function h(g,_,v){let S={keyword:"additionalProperties",dataProp:g,dataPropType:oa.Type.Str};v===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,_)}}};Ld.default=qR});var Sy=T(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var BR=es(),xy=pt(),Ud=Q(),vy=Zd(),VR={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&vy.default.code(new BR.KeywordCxt(s,vy.default,"additionalProperties"));let i=(0,xy.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Ud.mergeEvaluated.props(e,(0,Ud.toHash)(i),s.props));let a=i.filter(d=>!(0,Ud.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,xy.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Hd.default=VR});var Ey=T(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var ky=pt(),sa=q(),by=Q(),wy=Q(),KR={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,ky.allSchemaProperties)(r),c=a.filter(h=>(0,by.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof sa.Name)&&(s.props=(0,wy.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let h of a)u&&m(h),s.allErrors?p(h):(e.var(l,!0),p(h),e.if(l))}function m(h){for(let g in u)new RegExp(h).test(g)&&(0,by.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,sa._)`${(0,ky.usePattern)(t,h)}.test(${g})`,()=>{let _=c.includes(h);_||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:wy.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,sa._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,sa.not)(l),()=>e.break())})})}}};Fd.default=KR});var Ty=T(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var JR=Q(),WR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,JR.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};qd.default=WR});var $y=T(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var GR=pt(),YR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:GR.validateUnion,error:{message:"must match a schema in anyOf"}};Bd.default=YR});var Py=T(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var ia=q(),XR=Q(),QR={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,ia._)`{passingSchemas: ${t.passing}}`},eO={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:QR,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let f;(0,XR.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,ia._)`${c} && ${i}`).assign(i,!1).assign(a,(0,ia._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,ia.Name)})})}}};Vd.default=eO});var Ry=T(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var tO=Q(),rO={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,tO.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Kd.default=rO});var Iy=T(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var aa=q(),Cy=Q(),nO={message:({params:t})=>(0,aa.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,aa._)`{failingKeyword: ${t.ifClause}}`},oO={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:nO,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Cy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Oy(n,"then"),s=Oy(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,aa.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(f,i),d?e.assign(d,(0,aa._)`${l}`):t.setParams({ifClause:l})}}}};function Oy(t,e){let r=t.schema[e];return r!==void 0&&!(0,Cy.alwaysValidSchema)(t,r)}Jd.default=oO});var zy=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var sO=Q(),iO={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,sO.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Wd.default=iO});var Ny=T(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var aO=Id(),cO=ly(),uO=zd(),lO=py(),dO=fy(),pO=gy(),fO=yy(),mO=Zd(),hO=Sy(),gO=Ey(),_O=Ty(),yO=$y(),xO=Py(),vO=Ry(),SO=Iy(),kO=zy();function bO(t=!1){let e=[_O.default,yO.default,xO.default,vO.default,SO.default,kO.default,fO.default,mO.default,pO.default,hO.default,gO.default];return t?e.push(cO.default,lO.default):e.push(aO.default,uO.default),e.push(dO.default),e}Gd.default=bO});var Ay=T(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var Se=q(),wO={message:({schemaCode:t})=>(0,Se.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Se._)`{format: ${t}}`},EO={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:wO,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?f():m();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,Se._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,Se._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,Se._)`${h}.type || "string"`).assign(_,(0,Se._)`${h}.validate`),()=>r.assign(g,(0,Se._)`"string"`).assign(_,h)),t.fail$data((0,Se.or)(v(),S()));function v(){return c.strictSchema===!1?Se.nil:(0,Se._)`${i} && !${_}`}function S(){let E=l.$async?(0,Se._)`(${h}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Se._)`${_}(${n})`,z=(0,Se._)`(typeof ${_} == "function" ? ${E} : ${_}.test(${n}))`;return(0,Se._)`${_} && ${_} !== true && ${g} === ${e} && !${z}`}}function m(){let p=d.formats[s];if(!p){v();return}if(p===!0)return;let[h,g,_]=S(p);h===e&&t.pass(E());function v(){if(c.strictSchema===!1){d.logger.warn(z());return}throw new Error(z());function z(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(z){let de=z instanceof RegExp?(0,Se.regexpCode)(z):c.code.formats?(0,Se._)`${c.code.formats}${(0,Se.getProperty)(s)}`:void 0,Te=r.scopeValue("formats",{key:s,ref:z,code:de});return typeof z=="object"&&!(z instanceof RegExp)?[z.type||"string",z.validate,(0,Se._)`${Te}.validate`]:["string",z,Te]}function E(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Se._)`await ${_}(${n})`}return typeof g=="function"?(0,Se._)`${_}(${n})`:(0,Se._)`${_}.test(${n})`}}}};Yd.default=EO});var jy=T(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var TO=Ay(),$O=[TO.default];Xd.default=$O});var My=T(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.contentVocabulary=Kn.metadataVocabulary=void 0;Kn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Kn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Ly=T(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var PO=V_(),RO=iy(),OO=Ny(),CO=jy(),Dy=My(),IO=[PO.default,RO.default,(0,OO.default)(),CO.default,Dy.metadataVocabulary,Dy.contentVocabulary];Qd.default=IO});var Uy=T(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.DiscrError=void 0;var Zy;(function(t){t.Tag="tag",t.Mapping="mapping"})(Zy||(ca.DiscrError=Zy={}))});var Fy=T(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});var Jn=q(),ep=Uy(),Hy=qi(),zO=ts(),NO=Q(),AO={message:({params:{discrError:t,tagName:e}})=>t===ep.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Jn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},jO={keyword:"discriminator",type:"object",schemaType:"object",error:AO,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{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=e.let("valid",!1),u=e.const("tag",(0,Jn._)`${r}${(0,Jn.getProperty)(a)}`);e.if((0,Jn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:ep.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=f();e.if(!1);for(let p in m)e.elseIf((0,Jn._)`${u} === ${p}`),e.assign(c,d(m[p]));e.else(),t.error(!1,{discrError:ep.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let p=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:m},p);return t.mergeEvaluated(h,Jn.Name),p}function f(){var m;let p={},h=_(o),g=!0;for(let E=0;E<i.length;E++){let z=i[E];if(z?.$ref&&!(0,NO.schemaHasRulesButRef)(z,s.self.RULES)){let Te=z.$ref;if(z=Hy.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Te),z instanceof Hy.SchemaEnv&&(z=z.schema),z===void 0)throw new zO.default(s.opts.uriResolver,s.baseId,Te)}let de=(m=z?.properties)===null||m===void 0?void 0:m[a];if(typeof de!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(h||_(z)),v(de,E)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:E}){return Array.isArray(E)&&E.includes(a)}function v(E,z){if(E.const)S(E.const,z);else if(E.enum)for(let de of E.enum)S(de,z);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S(E,z){if(typeof E!="string"||E in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[E]=z}}}};tp.default=jO});var qy=T((zD,MO)=>{MO.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 np=T((me,rp)=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.MissingRefError=me.ValidationError=me.CodeGen=me.Name=me.nil=me.stringify=me.str=me._=me.KeywordCxt=me.Ajv=void 0;var DO=Z_(),LO=Ly(),ZO=Fy(),By=qy(),UO=["/properties"],ua="http://json-schema.org/draft-07/schema",Wn=class extends DO.default{_addVocabularies(){super._addVocabularies(),LO.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(ZO.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(By,UO):By;this.addMetaSchema(e,ua,!1),this.refs["http://json-schema.org/schema"]=ua}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ua)?ua:void 0)}};me.Ajv=Wn;rp.exports=me=Wn;rp.exports.Ajv=Wn;Object.defineProperty(me,"__esModule",{value:!0});me.default=Wn;var HO=es();Object.defineProperty(me,"KeywordCxt",{enumerable:!0,get:function(){return HO.KeywordCxt}});var Gn=q();Object.defineProperty(me,"_",{enumerable:!0,get:function(){return Gn._}});Object.defineProperty(me,"str",{enumerable:!0,get:function(){return Gn.str}});Object.defineProperty(me,"stringify",{enumerable:!0,get:function(){return Gn.stringify}});Object.defineProperty(me,"nil",{enumerable:!0,get:function(){return Gn.nil}});Object.defineProperty(me,"Name",{enumerable:!0,get:function(){return Gn.Name}});Object.defineProperty(me,"CodeGen",{enumerable:!0,get:function(){return Gn.CodeGen}});var FO=Hi();Object.defineProperty(me,"ValidationError",{enumerable:!0,get:function(){return FO.default}});var qO=ts();Object.defineProperty(me,"MissingRefError",{enumerable:!0,get:function(){return qO.default}})});var Qy=T(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.formatNames=Zt.fastFormats=Zt.fullFormats=void 0;function Lt(t,e){return{validate:t,compare:e}}Zt.fullFormats={date:Lt(Wy,ap),time:Lt(sp(!0),cp),"date-time":Lt(Vy(!0),Yy),"iso-time":Lt(sp(),Gy),"iso-date-time":Lt(Vy(),Xy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:GO,"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:nC,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:YO,int32:{type:"number",validate:eC},int64:{type:"number",validate:tC},float:{type:"number",validate:Jy},double:{type:"number",validate:Jy},password:!0,binary:!0};Zt.fastFormats={...Zt.fullFormats,date:Lt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ap),time:Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,cp),"date-time":Lt(/^\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,Yy),"iso-time":Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Gy),"iso-date-time":Lt(/^\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,Xy),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 BO(t){return t%4===0&&(t%100!==0||t%400===0)}var VO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,KO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Wy(t){let e=VO.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&BO(r)?29:KO[n])}function ap(t,e){if(t&&e)return t>e?1:t<e?-1:0}var op=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function sp(t){return function(r){let n=op.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function cp(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function Gy(t,e){if(!(t&&e))return;let r=op.exec(t),n=op.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var ip=/t|\s/i;function Vy(t){let e=sp(t);return function(n){let o=n.split(ip);return o.length===2&&Wy(o[0])&&e(o[1])}}function Yy(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function Xy(t,e){if(!(t&&e))return;let[r,n]=t.split(ip),[o,s]=e.split(ip),i=ap(r,o);if(i!==void 0)return i||cp(n,s)}var JO=/\/|:/,WO=/^(?:[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 GO(t){return JO.test(t)&&WO.test(t)}var Ky=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function YO(t){return Ky.lastIndex=0,Ky.test(t)}var XO=-(2**31),QO=2**31-1;function eC(t){return Number.isInteger(t)&&t<=QO&&t>=XO}function tC(t){return Number.isInteger(t)}function Jy(){return!0}var rC=/[^\\]\\Z/;function nC(t){if(rC.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var ex=T(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.formatLimitDefinition=void 0;var oC=np(),Tt=q(),xr=Tt.operators,la={formatMaximum:{okStr:"<=",ok:xr.LTE,fail:xr.GT},formatMinimum:{okStr:">=",ok:xr.GTE,fail:xr.LT},formatExclusiveMaximum:{okStr:"<",ok:xr.LT,fail:xr.GTE},formatExclusiveMinimum:{okStr:">",ok:xr.GT,fail:xr.LTE}},sC={message:({keyword:t,schemaCode:e})=>(0,Tt.str)`should be ${la[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Tt._)`{comparison: ${la[t].okStr}, limit: ${e}}`};Yn.formatLimitDefinition={keyword:Object.keys(la),type:"string",schemaType:"string",$data:!0,error:sC,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new oC.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,Tt._)`${f}[${c.schemaCode}]`);t.fail$data((0,Tt.or)((0,Tt._)`typeof ${m} != "object"`,(0,Tt._)`${m} instanceof RegExp`,(0,Tt._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let p=e.scopeValue("formats",{key:f,ref:m,code:i.code.formats?(0,Tt._)`${i.code.formats}${(0,Tt.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,Tt._)`${f}.compare(${r}, ${n}) ${la[o].fail} 0`}},dependencies:["format"]};var iC=t=>(t.addKeyword(Yn.formatLimitDefinition),t);Yn.default=iC});var ox=T((hs,nx)=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});var Xn=Qy(),aC=ex(),up=q(),tx=new up.Name("fullFormats"),cC=new up.Name("fastFormats"),lp=(t,e={keywords:!0})=>{if(Array.isArray(e))return rx(t,e,Xn.fullFormats,tx),t;let[r,n]=e.mode==="fast"?[Xn.fastFormats,cC]:[Xn.fullFormats,tx],o=e.formats||Xn.formatNames;return rx(t,o,r,n),e.keywords&&(0,aC.default)(t),t};lp.get=(t,e="full")=>{let n=(e==="fast"?Xn.fastFormats:Xn.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function rx(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,up._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}nx.exports=hs=lp;Object.defineProperty(hs,"__esModule",{value:!0});hs.default=lp});var Fx,qx=$e(()=>{"use strict";Fx={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot",Codex:"codex","codex-mcp-client":"codex","Kilo Code":"kilo","Kiro CLI":"kiro","Pi CLI":"pi","Pi Coding Agent":"pi",Zed:"zed",zed:"zed"}});function ks(t,e){let r=Ss[e],n=Ip(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function Ip(t,e){if(e){let r=Ss[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function zp(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function Kx(t){let e=Object.values(Ss);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var Pt,JC,Bx,WC,JL,Ss,Vx,WL,Jx=$e(()=>{"use strict";Pt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},JC=["Bash","WebFetch","Read","Grep","Agent","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],Bx=JC.join("|"),WC=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],JL=WC.join("|"),Ss={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},Vx=[Pt.PRE_TOOL_USE,Pt.SESSION_START],WL=[Pt.POST_TOOL_USE,Pt.PRE_COMPACT,Pt.USER_PROMPT_SUBMIT]});var Ap={};Je(Ap,{ClaudeCodeAdapter:()=>Np});import{createHash as Wx}from"node:crypto";import{readFileSync as ba,writeFileSync as Gx,mkdirSync as GC,copyFileSync as YC,accessSync as Yx,existsSync as XC,readdirSync as QC,chmodSync as eI,constants as Xx}from"node:fs";import{resolve as un,join as bs}from"node:path";import{homedir as oo}from"node:os";var Np,jp=$e(()=>{"use strict";Jx();Np=class{name="Claude Code";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{updatedInput:e.updatedInput};if(e.decision==="context"&&e.additionalContext)return{additionalContext:e.additionalContext};if(e.decision==="ask")return{permissionDecision:"ask"}}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),e.updatedOutput&&(r.updatedMCPToolOutput=e.updatedOutput),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return un(oo(),".claude","settings.json")}getSessionDir(){let e=bs(oo(),".claude","context-mode","sessions");return GC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Wx("sha256").update(e).digest("hex").slice(0,16);return bs(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Wx("sha256").update(e).digest("hex").slice(0,16);return bs(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){let r=`node ${e}/hooks/pretooluse.mjs`;return{PreToolUse:["Bash","WebFetch","Read","Grep","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"].map(o=>({matcher:o,hooks:[{type:"command",command:r}]})),PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{let e=ba(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Gx(this.getSettingsPath(),JSON.stringify(e,null,2)+`
10
- `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=this.readPluginHooks(e),i=this.checkHookType(o,s,Pt.PRE_TOOL_USE);r.push({check:"PreToolUse hook",status:i?"pass":"fail",message:i?"PreToolUse hook configured":"No PreToolUse hooks found",fix:i?void 0:"context-mode upgrade"});let a=this.checkHookType(o,s,Pt.SESSION_START);return r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"No SessionStart hooks found",fix:a?void 0:"context-mode upgrade"}),r}readPluginHooks(e){let r=[bs(e,"hooks","hooks.json"),bs(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=ba(n,"utf-8"),s=JSON.parse(o);if(s.hooks)return s.hooks}catch{}}checkHookType(e,r,n){let o=e?.[n];if(o&&o.length>0&&o.some(i=>ks(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>ks(i,n)))}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read settings.json"};let r=e.enabledPlugins;if(!r)return{check:"Plugin registration",status:"warn",message:"No enabledPlugins section found (might be using standalone MCP mode)"};let n=Object.keys(r).find(o=>o.startsWith("context-mode"));return n&&r[n]?{check:"Plugin registration",status:"pass",message:`Plugin enabled: ${n}`}:{check:"Plugin registration",status:"warn",message:"context-mode not in enabledPlugins (might be using standalone MCP mode)"}}getInstalledVersion(){try{let r=un(oo(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ba(r,"utf-8")).plugins??{};for(let[s,i]of Object.entries(o)){if(!s.toLowerCase().includes("context-mode"))continue;let a=i;if(a.length>0&&typeof a[0].version=="string")return a[0].version}}catch{}let e=[un(oo(),".claude"),un(oo(),".config","claude")];for(let r of e){let n=un(r,"plugins","cache","context-mode","context-mode");try{let s=QC(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[];for(let a of Object.keys(n)){let c=n[a];if(!Array.isArray(c))continue;let u=c.filter(d=>{let f=d;if(!Kx(f))return!0;let m=f.hooks??[];return m.every(h=>!h.command||!zp(h.command))?!0:m.every(h=>{let g=h.command?zp(h.command):null;return g?XC(g):!0})}),l=c.length-u.length;l>0&&(n[a]=u,o.push(`Removed ${l} stale ${a} hook(s)`))}let s=this.readPluginHooks(e);if(s&&Vx.every(c=>this.checkHookType(void 0,s,c)))return r.hooks=n,this.writeSettings(r),o.push("Skipped settings.json registration \u2014 plugin hooks.json is sufficient"),o;let i=[Pt.PRE_TOOL_USE,Pt.SESSION_START];for(let a of i){let c=Ip(a,e);if(a===Pt.PRE_TOOL_USE){let u={matcher:Bx,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(f=>ks(f,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n.PreToolUse=l}else n.PreToolUse=[u],o.push(`Created ${a} hooks section`)}else{let u={matcher:"",hooks:[{type:"command",command:c}]},l=n[a];if(l&&Array.isArray(l)){let d=l.findIndex(f=>ks(f,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n[a]=l}else n[a]=[u],o.push(`Created ${a} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{Yx(e,Xx.R_OK);let r=e+".bak";return YC(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(Ss)){let o=un(e,"hooks",n);try{Yx(o,Xx.R_OK),eI(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=un(oo(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ba(n,"utf-8"));for(let[s,i]of Object.entries(o.plugins||{}))if(s.toLowerCase().includes("context-mode"))for(let a of i)a.installPath=e,a.version=r,a.lastUpdated=new Date().toISOString();Gx(n,JSON.stringify(o,null,2)+`
11
- `,"utf-8")}catch{}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function so(t,e){let r=Mp[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var ke,Mp,rZ,nZ,Qx=$e(()=>{"use strict";ke={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Mp={[ke.BEFORE_TOOL]:"beforetool.mjs",[ke.AFTER_TOOL]:"aftertool.mjs",[ke.PRE_COMPRESS]:"precompress.mjs",[ke.SESSION_START]:"sessionstart.mjs"},rZ=[ke.BEFORE_TOOL,ke.SESSION_START],nZ=[ke.AFTER_TOOL,ke.PRE_COMPRESS]});var sv={};Je(sv,{GeminiCLIAdapter:()=>Lp});import{createHash as ev}from"node:crypto";import{readFileSync as Dp,writeFileSync as tv,mkdirSync as rv,copyFileSync as tI,accessSync as nv,chmodSync as rI,constants as ov}from"node:fs";import{resolve as ws,join as wa}from"node:path";import{homedir as Es}from"node:os";var Lp,iv=$e(()=>{"use strict";Qx();Lp=class{name="Gemini CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{decision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{tool_input:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}};if(e.decision==="ask")return{decision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{decision:"deny",reason:e.updatedOutput};if(e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return ws(Es(),".gemini","settings.json")}getSessionDir(){let e=wa(Es(),".gemini","context-mode","sessions");return rv(e,{recursive:!0}),e}getSessionDBPath(e){let r=ev("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=ev("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ke.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:so(ke.BEFORE_TOOL,e)}]}],[ke.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:so(ke.AFTER_TOOL,e)}]}],[ke.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:so(ke.PRE_COMPRESS,e)}]}],[ke.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:so(ke.SESSION_START,e)}]}]}}readSettings(){try{let e=Dp(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=ws(Es(),".gemini");rv(r,{recursive:!0}),tv(this.getSettingsPath(),JSON.stringify(e,null,2)+`
12
- `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[ke.BEFORE_TOOL];if(s&&s.length>0){let a=s.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"BeforeTool hook",status:a?"pass":"fail",message:a?"BeforeTool hook configured":"BeforeTool exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"BeforeTool hook",status:"fail",message:"No BeforeTool hooks found",fix:"context-mode upgrade"});let i=o?.[ke.SESSION_START];if(i&&i.length>0){let a=i.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"SessionStart exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"SessionStart hook",status:"fail",message:"No SessionStart hooks found",fix:"context-mode upgrade"});return r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read ~/.gemini/settings.json"};let r=e.extensions;return r&&(Array.isArray(r)?r.some(o=>typeof o=="string"&&o.includes("context-mode")):Object.keys(r).some(o=>o.includes("context-mode")))?{check:"Plugin registration",status:"pass",message:"context-mode found in extensions"}:{check:"Plugin registration",status:"warn",message:"context-mode not found in extensions (might be using standalone MCP mode)"}}getInstalledVersion(){try{let e=ws(Es(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Dp(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[{name:ke.BEFORE_TOOL},{name:ke.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:so(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(m=>m.command?.includes("context-mode")));l>=0?(u[l]=c,o.push(`Updated existing ${i.name} hook entry`)):(u.push(c),o.push(`Added ${i.name} hook entry`)),n[i.name]=u}else n[i.name]=[c],o.push(`Created ${i.name} hooks section`)}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{nv(e,ov.R_OK);let r=e+".bak";return tI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=wa(e,"hooks","gemini-cli");for(let o of Object.values(Mp)){let s=ws(n,o);try{nv(s,ov.R_OK),rI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=ws(Es(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Dp(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),tv(n,JSON.stringify(o,null,2)+`
13
- `,"utf-8")}catch{}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var ln,lZ,dZ,av=$e(()=>{"use strict";ln={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},lZ=[ln.BEFORE,ln.AFTER],dZ=[ln.COMPACTING]});var lv={};Je(lv,{OpenCodeAdapter:()=>Zp});import{createHash as cv}from"node:crypto";import{readFileSync as uv,writeFileSync as oI,mkdirSync as sI,copyFileSync as iI,accessSync as aI,constants as cI}from"node:fs";import{resolve as Ut,join as tr}from"node:path";import{homedir as Sr}from"node:os";function nI(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Zp,dv=$e(()=>{"use strict";av();Zp=class{get name(){return this.platform==="kilo"?"KiloCode":"OpenCode"}paradigm="ts-plugin";settingsPath;capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};platform;constructor(e="opencode"){this.platform=e}parsePreToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},toolOutput:r.output,isError:void 0,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return this.settingsPath??Ut(`${this.platform}.json`)}paths(){return this.platform==="kilo"?[Ut("kilo.json"),Ut("kilo.jsonc"),Ut(".kilo","kilo.json"),Ut(".kilo","kilo.jsonc"),tr(Sr(),".config","kilo","kilo.json"),tr(Sr(),".config","kilo","kilo.jsonc")]:[Ut("opencode.json"),Ut("opencode.jsonc"),Ut(".opencode","opencode.json"),Ut(".opencode","opencode.jsonc"),tr(Sr(),".config","opencode","opencode.json"),tr(Sr(),".config","opencode","opencode.jsonc")]}getSessionDir(){let e;process.platform==="win32"?e=process.env.APPDATA||tr(Sr(),"AppData","Roaming"):e=process.env.XDG_CONFIG_HOME||tr(Sr(),".config");let r=tr(e,this.platform,"context-mode","sessions");return sI(r,{recursive:!0}),r}getSessionDBPath(e){let r=cv("sha256").update(e).digest("hex").slice(0,16);return tr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=cv("sha256").update(e).digest("hex").slice(0,16);return tr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ln.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[ln.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[ln.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){this.settingsPath=void 0;let e=this.paths(),r=new Set(e.filter(s=>s.includes(Sr()))),n=null,o;for(let s of e)try{let i=uv(s,"utf-8"),a=s.endsWith(".jsonc")?nI(i):i,c=JSON.parse(a);n||(n=c,o=s);let u=r.has(s);if(this.hasContextModePlugin(c)||u)return this.settingsPath=s,c}catch{continue}return n?(this.settingsPath=o,n):null}writeSettings(e){oI(this.getSettingsPath(),JSON.stringify(e,null,2)+`
14
- `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r;let o=this.hasContextModePlugin(n);return Array.isArray(n.plugin)?r.push({check:"Plugin registration",status:o?"pass":"fail",message:o?"context-mode found in plugin array":"context-mode not found in plugin array",fix:o?void 0:"context-mode upgrade"}):r.push({check:"Plugin registration",status:"fail",message:`No plugin array found in ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r.push({check:"SessionStart hook",status:"warn",message:`SessionStart not supported in ${this.name} (see issues #14808, #5409)`}),r}checkPluginRegistration(){let e=this.readSettings();return e?this.hasContextModePlugin(e)?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:`context-mode not found in ${this.platform}.json plugin array`,fix:"context-mode upgrade"}:{check:"Plugin registration",status:"warn",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`}}getInstalledVersion(){try{let e=Ut(Sr(),".cache",this.platform,"node_modules","context-mode","package.json"),r=JSON.parse(uv(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=this.checkPluginRegistration();if(!this.settingsPath)return null;if(e.status==="pass")return this.settingsPath;try{aI(this.settingsPath,cI.R_OK);let r=this.settingsPath+".bak";return iI(this.settingsPath,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}hasContextModePlugin(e){let r=e.plugin;return Array.isArray(r)&&r.some(n=>typeof n=="string"&&n.includes("context-mode"))}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var dn,yZ,xZ,pv=$e(()=>{"use strict";dn={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},yZ=[dn.TOOL_CALL_BEFORE,dn.TOOL_CALL_AFTER],xZ=[dn.COMMAND_NEW]});var mv={};Je(mv,{OpenClawAdapter:()=>Hp});import{createHash as fv}from"node:crypto";import{readFileSync as Up,writeFileSync as uI,mkdirSync as lI,copyFileSync as dI,accessSync as pI,constants as fI}from"node:fs";import{resolve as kr,join as Ts}from"node:path";import{homedir as Ea}from"node:os";var Hp,hv=$e(()=>{"use strict";pv();Hp=class{name="OpenClaw";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},toolOutput:r.output??r.tool_output,isError:r.isError??r.is_error,sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{block:!0,blockReason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{params:e.updatedInput};if(e.decision==="ask")return{block:!0,blockReason:e.reason??"Action requires user confirmation (security policy)"};e.decision==="context"&&e.additionalContext}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return kr("openclaw.json")}getSessionDir(){let e=Ts(Ea(),".openclaw","context-mode","sessions");return lI(e,{recursive:!0}),e}getSessionDBPath(e){let r=fv("sha256").update(e).digest("hex").slice(0,16);return Ts(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=fv("sha256").update(e).digest("hex").slice(0,16);return Ts(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[dn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[dn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[dn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[kr("openclaw.json"),kr(".openclaw","openclaw.json"),Ts(Ea(),".openclaw","openclaw.json")];for(let r of e)try{let n=Up(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=kr("openclaw.json");uI(r,JSON.stringify(e,null,2)+`
15
- `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read openclaw.json",fix:"context-mode upgrade"}),r;let o=n.plugins,s=o?.entries;if(s){let a=Object.keys(s).some(c=>c.includes("context-mode"));if(r.push({check:"Plugin registration",status:a?"pass":"fail",message:a?"context-mode found in plugins.entries":"context-mode not found in plugins.entries",fix:a?void 0:"context-mode upgrade"}),a){let u=s["context-mode"]?.enabled!==!1;r.push({check:"Plugin enabled",status:u?"pass":"warn",message:u?"context-mode plugin is enabled":"context-mode plugin is disabled"})}}else r.push({check:"Plugin registration",status:"fail",message:"No plugins.entries found in openclaw.json",fix:"context-mode upgrade"});return o?.slots?.contextEngine==="context-mode"?r.push({check:"Context engine",status:"pass",message:"context-mode registered as context engine (owns compaction)"}):r.push({check:"Context engine",status:"warn",message:"context-mode not set as context engine \u2014 compaction will use default engine"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read openclaw.json"};let n=e.plugins?.entries;return n&&Object.keys(n).some(s=>s.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugins.entries"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in openclaw.json plugins.entries",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=kr(Ea(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Up(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=kr("node_modules","context-mode","package.json"),r=JSON.parse(Up(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[];r.plugins||(r.plugins={});let o=r.plugins;o.entries||(o.entries={});let s=o.entries;if(!s["context-mode"])s["context-mode"]={enabled:!0},n.push("Added context-mode to plugins.entries");else{let a=s["context-mode"];a.enabled===!1?(a.enabled=!0,n.push("Enabled context-mode plugin")):n.push("context-mode already configured in plugins.entries")}o.slots||(o.slots={});let i=o.slots;return i.contextEngine?i.contextEngine!=="context-mode"&&n.push(`Context engine already set to "${i.contextEngine}" \u2014 not overwriting`):(i.contextEngine="context-mode",n.push("Set context-mode as context engine (owns compaction)")),this.writeSettings(r),n}backupSettings(){let e=[kr("openclaw.json"),kr(".openclaw","openclaw.json"),Ts(Ea(),".openclaw","openclaw.json")];for(let r of e)try{pI(r,fI.R_OK);let n=r+".bak";return dI(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var xv={};Je(xv,{CodexAdapter:()=>Bp});import{createHash as gv}from"node:crypto";import{readFileSync as Fp,mkdirSync as mI,copyFileSync as hI,accessSync as gI,constants as _I}from"node:fs";import{resolve as _v,join as qp,dirname as yI}from"node:path";import{fileURLToPath as xI}from"node:url";import{homedir as yv}from"node:os";var Bp,vv=$e(()=>{"use strict";Bp=class{name="Codex CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!0,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_response,sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:r.cwd,raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e.reason??"Blocked by context-mode hook"}}:e.decision==="context"&&e.additionalContext?{}:{}}formatPostToolUseResponse(e){return e.additionalContext?{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:e.additionalContext}}:{}}formatPreCompactResponse(e){return e.context?{hookSpecificOutput:{additionalContext:e.context}}:{}}formatSessionStartResponse(e){return e.context?{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:e.context}}:{}}getSettingsPath(){return _v(yv(),".codex","config.toml")}getSessionDir(){let e=qp(yv(),".codex","context-mode","sessions");return mI(e,{recursive:!0}),e}getSessionDBPath(e){let r=gv("sha256").update(e).digest("hex").slice(0,16);return qp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=gv("sha256").update(e).digest("hex").slice(0,16);return qp(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{PreToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/pretooluse.mjs`}]}],PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{return{_raw_toml:Fp(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI hooks are implemented but dispatch is not yet active (Stage::UnderDevelopment, v0.118.0). Enable flag: [features] codex_hooks = true in ~/.codex/config.toml. Track: openai/codex#16685"}]}checkPluginRegistration(){try{let e=Fp(this.getSettingsPath(),"utf-8"),r=e.includes("context-mode"),n=e.includes("[mcp_servers]")||e.includes("[mcp_servers.");return r&&n?{check:"MCP registration",status:"pass",message:"context-mode found in [mcp_servers] config"}:n?{check:"MCP registration",status:"fail",message:"[mcp_servers] section exists but context-mode not found",fix:"Add context-mode to [mcp_servers] in ~/.codex/config.toml"}:{check:"MCP registration",status:"fail",message:"No [mcp_servers] section in config.toml",fix:"Add [mcp_servers.context-mode] to ~/.codex/config.toml"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.codex/config.toml"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{gI(e,_I.R_OK);let r=e+".bak";return hI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=_v(yI(xI(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Fp(e,"utf-8")}catch{return`# context-mode
9
+ deps: ${r}}`};var MR={keyword:"dependencies",type:"object",schemaType:"object",error:Dt.error,code(t){let[e,r]=DR(t);my(t,e),hy(t,r)}};function DR({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function my(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,ms.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,ms.checkReportMissingProp)(t,u)}):(r.if((0,Md._)`${c} && (${(0,ms.checkMissingProp)(t,a,s)})`),(0,ms.reportMissingProp)(t,s),r.else())}}Dt.validatePropertyDeps=my;function hy(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,jR.alwaysValidSchema)(s,e[a])||(r.if((0,ms.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Dt.validateSchemaDeps=hy;Dt.default=MR});var yy=T(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var _y=q(),LR=Q(),ZR={message:"property name must be valid",params:({params:t})=>(0,_y._)`{propertyName: ${t.propertyName}}`},UR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ZR,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,LR.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,_y.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Dd.default=UR});var Zd=T(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var na=ft(),Et=q(),HR=Qt(),oa=Q(),FR={message:"must NOT have additional properties",params:({params:t})=>(0,Et._)`{additionalProperty: ${t.additionalProperty}}`},qR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:FR,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,oa.alwaysValidSchema)(i,r))return;let u=(0,na.allSchemaProperties)(n.properties),l=(0,na.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Et._)`${s} === ${HR.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let v=(0,oa.schemaRefOrVal)(i,n.properties,"properties");_=(0,na.isOwnProperty)(e,v,g)}else u.length?_=(0,Et.or)(...u.map(v=>(0,Et._)`${g} === ${v}`)):_=Et.nil;return l.length&&(_=(0,Et.or)(_,...l.map(v=>(0,Et._)`${(0,na.usePattern)(t,v)}.test(${g})`))),(0,Et.not)(_)}function m(g){e.code((0,Et._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,oa.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(h(g,_,!1),e.if((0,Et.not)(_),()=>{t.reset(),m(g)})):(h(g,_),a||e.if((0,Et.not)(_),()=>e.break()))}}function h(g,_,v){let S={keyword:"additionalProperties",dataProp:g,dataPropType:oa.Type.Str};v===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,_)}}};Ld.default=qR});var Sy=T(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var BR=es(),xy=ft(),Ud=Q(),vy=Zd(),VR={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&vy.default.code(new BR.KeywordCxt(s,vy.default,"additionalProperties"));let i=(0,xy.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Ud.mergeEvaluated.props(e,(0,Ud.toHash)(i),s.props));let a=i.filter(d=>!(0,Ud.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,xy.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Hd.default=VR});var Ey=T(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var ky=ft(),sa=q(),by=Q(),wy=Q(),KR={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,ky.allSchemaProperties)(r),c=a.filter(h=>(0,by.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof sa.Name)&&(s.props=(0,wy.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let h of a)u&&m(h),s.allErrors?p(h):(e.var(l,!0),p(h),e.if(l))}function m(h){for(let g in u)new RegExp(h).test(g)&&(0,by.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,sa._)`${(0,ky.usePattern)(t,h)}.test(${g})`,()=>{let _=c.includes(h);_||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:wy.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,sa._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,sa.not)(l),()=>e.break())})})}}};Fd.default=KR});var Ty=T(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var JR=Q(),WR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,JR.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};qd.default=WR});var $y=T(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var GR=ft(),YR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:GR.validateUnion,error:{message:"must match a schema in anyOf"}};Bd.default=YR});var Py=T(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var ia=q(),XR=Q(),QR={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,ia._)`{passingSchemas: ${t.passing}}`},eO={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:QR,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let f;(0,XR.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,ia._)`${c} && ${i}`).assign(i,!1).assign(a,(0,ia._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,ia.Name)})})}}};Vd.default=eO});var Ry=T(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var tO=Q(),rO={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,tO.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Kd.default=rO});var Iy=T(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var aa=q(),Cy=Q(),nO={message:({params:t})=>(0,aa.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,aa._)`{failingKeyword: ${t.ifClause}}`},oO={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:nO,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Cy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Oy(n,"then"),s=Oy(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,aa.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(f,i),d?e.assign(d,(0,aa._)`${l}`):t.setParams({ifClause:l})}}}};function Oy(t,e){let r=t.schema[e];return r!==void 0&&!(0,Cy.alwaysValidSchema)(t,r)}Jd.default=oO});var zy=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var sO=Q(),iO={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,sO.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Wd.default=iO});var Ny=T(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var aO=Id(),cO=ly(),uO=zd(),lO=py(),dO=fy(),pO=gy(),fO=yy(),mO=Zd(),hO=Sy(),gO=Ey(),_O=Ty(),yO=$y(),xO=Py(),vO=Ry(),SO=Iy(),kO=zy();function bO(t=!1){let e=[_O.default,yO.default,xO.default,vO.default,SO.default,kO.default,fO.default,mO.default,pO.default,hO.default,gO.default];return t?e.push(cO.default,lO.default):e.push(aO.default,uO.default),e.push(dO.default),e}Gd.default=bO});var Ay=T(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var Se=q(),wO={message:({schemaCode:t})=>(0,Se.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Se._)`{format: ${t}}`},EO={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:wO,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?f():m();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,Se._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,Se._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,Se._)`${h}.type || "string"`).assign(_,(0,Se._)`${h}.validate`),()=>r.assign(g,(0,Se._)`"string"`).assign(_,h)),t.fail$data((0,Se.or)(v(),S()));function v(){return c.strictSchema===!1?Se.nil:(0,Se._)`${i} && !${_}`}function S(){let E=l.$async?(0,Se._)`(${h}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Se._)`${_}(${n})`,z=(0,Se._)`(typeof ${_} == "function" ? ${E} : ${_}.test(${n}))`;return(0,Se._)`${_} && ${_} !== true && ${g} === ${e} && !${z}`}}function m(){let p=d.formats[s];if(!p){v();return}if(p===!0)return;let[h,g,_]=S(p);h===e&&t.pass(E());function v(){if(c.strictSchema===!1){d.logger.warn(z());return}throw new Error(z());function z(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(z){let de=z instanceof RegExp?(0,Se.regexpCode)(z):c.code.formats?(0,Se._)`${c.code.formats}${(0,Se.getProperty)(s)}`:void 0,Te=r.scopeValue("formats",{key:s,ref:z,code:de});return typeof z=="object"&&!(z instanceof RegExp)?[z.type||"string",z.validate,(0,Se._)`${Te}.validate`]:["string",z,Te]}function E(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Se._)`await ${_}(${n})`}return typeof g=="function"?(0,Se._)`${_}(${n})`:(0,Se._)`${_}.test(${n})`}}}};Yd.default=EO});var jy=T(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var TO=Ay(),$O=[TO.default];Xd.default=$O});var My=T(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.contentVocabulary=Jn.metadataVocabulary=void 0;Jn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Jn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Ly=T(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var PO=V_(),RO=iy(),OO=Ny(),CO=jy(),Dy=My(),IO=[PO.default,RO.default,(0,OO.default)(),CO.default,Dy.metadataVocabulary,Dy.contentVocabulary];Qd.default=IO});var Uy=T(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.DiscrError=void 0;var Zy;(function(t){t.Tag="tag",t.Mapping="mapping"})(Zy||(ca.DiscrError=Zy={}))});var Fy=T(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});var Wn=q(),ep=Uy(),Hy=qi(),zO=ts(),NO=Q(),AO={message:({params:{discrError:t,tagName:e}})=>t===ep.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Wn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},jO={keyword:"discriminator",type:"object",schemaType:"object",error:AO,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{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=e.let("valid",!1),u=e.const("tag",(0,Wn._)`${r}${(0,Wn.getProperty)(a)}`);e.if((0,Wn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:ep.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=f();e.if(!1);for(let p in m)e.elseIf((0,Wn._)`${u} === ${p}`),e.assign(c,d(m[p]));e.else(),t.error(!1,{discrError:ep.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let p=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:m},p);return t.mergeEvaluated(h,Wn.Name),p}function f(){var m;let p={},h=_(o),g=!0;for(let E=0;E<i.length;E++){let z=i[E];if(z?.$ref&&!(0,NO.schemaHasRulesButRef)(z,s.self.RULES)){let Te=z.$ref;if(z=Hy.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Te),z instanceof Hy.SchemaEnv&&(z=z.schema),z===void 0)throw new zO.default(s.opts.uriResolver,s.baseId,Te)}let de=(m=z?.properties)===null||m===void 0?void 0:m[a];if(typeof de!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(h||_(z)),v(de,E)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:E}){return Array.isArray(E)&&E.includes(a)}function v(E,z){if(E.const)S(E.const,z);else if(E.enum)for(let de of E.enum)S(de,z);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S(E,z){if(typeof E!="string"||E in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[E]=z}}}};tp.default=jO});var qy=T((zD,MO)=>{MO.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 np=T((me,rp)=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.MissingRefError=me.ValidationError=me.CodeGen=me.Name=me.nil=me.stringify=me.str=me._=me.KeywordCxt=me.Ajv=void 0;var DO=Z_(),LO=Ly(),ZO=Fy(),By=qy(),UO=["/properties"],ua="http://json-schema.org/draft-07/schema",Gn=class extends DO.default{_addVocabularies(){super._addVocabularies(),LO.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(ZO.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(By,UO):By;this.addMetaSchema(e,ua,!1),this.refs["http://json-schema.org/schema"]=ua}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ua)?ua:void 0)}};me.Ajv=Gn;rp.exports=me=Gn;rp.exports.Ajv=Gn;Object.defineProperty(me,"__esModule",{value:!0});me.default=Gn;var HO=es();Object.defineProperty(me,"KeywordCxt",{enumerable:!0,get:function(){return HO.KeywordCxt}});var Yn=q();Object.defineProperty(me,"_",{enumerable:!0,get:function(){return Yn._}});Object.defineProperty(me,"str",{enumerable:!0,get:function(){return Yn.str}});Object.defineProperty(me,"stringify",{enumerable:!0,get:function(){return Yn.stringify}});Object.defineProperty(me,"nil",{enumerable:!0,get:function(){return Yn.nil}});Object.defineProperty(me,"Name",{enumerable:!0,get:function(){return Yn.Name}});Object.defineProperty(me,"CodeGen",{enumerable:!0,get:function(){return Yn.CodeGen}});var FO=Hi();Object.defineProperty(me,"ValidationError",{enumerable:!0,get:function(){return FO.default}});var qO=ts();Object.defineProperty(me,"MissingRefError",{enumerable:!0,get:function(){return qO.default}})});var Qy=T(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.formatNames=Zt.fastFormats=Zt.fullFormats=void 0;function Lt(t,e){return{validate:t,compare:e}}Zt.fullFormats={date:Lt(Wy,ap),time:Lt(sp(!0),cp),"date-time":Lt(Vy(!0),Yy),"iso-time":Lt(sp(),Gy),"iso-date-time":Lt(Vy(),Xy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:GO,"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:nC,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:YO,int32:{type:"number",validate:eC},int64:{type:"number",validate:tC},float:{type:"number",validate:Jy},double:{type:"number",validate:Jy},password:!0,binary:!0};Zt.fastFormats={...Zt.fullFormats,date:Lt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ap),time:Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,cp),"date-time":Lt(/^\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,Yy),"iso-time":Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Gy),"iso-date-time":Lt(/^\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,Xy),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 BO(t){return t%4===0&&(t%100!==0||t%400===0)}var VO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,KO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Wy(t){let e=VO.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&BO(r)?29:KO[n])}function ap(t,e){if(t&&e)return t>e?1:t<e?-1:0}var op=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function sp(t){return function(r){let n=op.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function cp(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function Gy(t,e){if(!(t&&e))return;let r=op.exec(t),n=op.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var ip=/t|\s/i;function Vy(t){let e=sp(t);return function(n){let o=n.split(ip);return o.length===2&&Wy(o[0])&&e(o[1])}}function Yy(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function Xy(t,e){if(!(t&&e))return;let[r,n]=t.split(ip),[o,s]=e.split(ip),i=ap(r,o);if(i!==void 0)return i||cp(n,s)}var JO=/\/|:/,WO=/^(?:[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 GO(t){return JO.test(t)&&WO.test(t)}var Ky=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function YO(t){return Ky.lastIndex=0,Ky.test(t)}var XO=-(2**31),QO=2**31-1;function eC(t){return Number.isInteger(t)&&t<=QO&&t>=XO}function tC(t){return Number.isInteger(t)}function Jy(){return!0}var rC=/[^\\]\\Z/;function nC(t){if(rC.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var ex=T(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.formatLimitDefinition=void 0;var oC=np(),Tt=q(),Sr=Tt.operators,la={formatMaximum:{okStr:"<=",ok:Sr.LTE,fail:Sr.GT},formatMinimum:{okStr:">=",ok:Sr.GTE,fail:Sr.LT},formatExclusiveMaximum:{okStr:"<",ok:Sr.LT,fail:Sr.GTE},formatExclusiveMinimum:{okStr:">",ok:Sr.GT,fail:Sr.LTE}},sC={message:({keyword:t,schemaCode:e})=>(0,Tt.str)`should be ${la[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Tt._)`{comparison: ${la[t].okStr}, limit: ${e}}`};Xn.formatLimitDefinition={keyword:Object.keys(la),type:"string",schemaType:"string",$data:!0,error:sC,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new oC.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,Tt._)`${f}[${c.schemaCode}]`);t.fail$data((0,Tt.or)((0,Tt._)`typeof ${m} != "object"`,(0,Tt._)`${m} instanceof RegExp`,(0,Tt._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let p=e.scopeValue("formats",{key:f,ref:m,code:i.code.formats?(0,Tt._)`${i.code.formats}${(0,Tt.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,Tt._)`${f}.compare(${r}, ${n}) ${la[o].fail} 0`}},dependencies:["format"]};var iC=t=>(t.addKeyword(Xn.formatLimitDefinition),t);Xn.default=iC});var ox=T((hs,nx)=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});var Qn=Qy(),aC=ex(),up=q(),tx=new up.Name("fullFormats"),cC=new up.Name("fastFormats"),lp=(t,e={keywords:!0})=>{if(Array.isArray(e))return rx(t,e,Qn.fullFormats,tx),t;let[r,n]=e.mode==="fast"?[Qn.fastFormats,cC]:[Qn.fullFormats,tx],o=e.formats||Qn.formatNames;return rx(t,o,r,n),e.keywords&&(0,aC.default)(t),t};lp.get=(t,e="full")=>{let n=(e==="fast"?Qn.fastFormats:Qn.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function rx(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,up._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}nx.exports=hs=lp;Object.defineProperty(hs,"__esModule",{value:!0});hs.default=lp});var Fx,qx=$e(()=>{"use strict";Fx={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot",Codex:"codex","codex-mcp-client":"codex","Kilo Code":"kilo","Kiro CLI":"kiro","Pi CLI":"pi","Pi Coding Agent":"pi",Zed:"zed",zed:"zed"}});function ks(t,e){let r=Ss[e],n=Ip(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function Ip(t,e){if(e){let r=Ss[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function zp(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function Kx(t){let e=Object.values(Ss);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var Pt,JC,Bx,WC,JL,Ss,Vx,WL,Jx=$e(()=>{"use strict";Pt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},JC=["Bash","WebFetch","Read","Grep","Agent","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],Bx=JC.join("|"),WC=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],JL=WC.join("|"),Ss={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},Vx=[Pt.PRE_TOOL_USE,Pt.SESSION_START],WL=[Pt.POST_TOOL_USE,Pt.PRE_COMPACT,Pt.USER_PROMPT_SUBMIT]});var Ap={};Je(Ap,{ClaudeCodeAdapter:()=>Np});import{createHash as Wx}from"node:crypto";import{readFileSync as ba,writeFileSync as Gx,mkdirSync as GC,copyFileSync as YC,accessSync as Yx,existsSync as XC,readdirSync as QC,chmodSync as eI,constants as Xx}from"node:fs";import{resolve as un,join as bs}from"node:path";import{homedir as so}from"node:os";var Np,jp=$e(()=>{"use strict";Jx();Np=class{name="Claude Code";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{updatedInput:e.updatedInput};if(e.decision==="context"&&e.additionalContext)return{additionalContext:e.additionalContext};if(e.decision==="ask")return{permissionDecision:"ask"}}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),e.updatedOutput&&(r.updatedMCPToolOutput=e.updatedOutput),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return un(so(),".claude","settings.json")}getSessionDir(){let e=bs(so(),".claude","context-mode","sessions");return GC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Wx("sha256").update(e).digest("hex").slice(0,16);return bs(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Wx("sha256").update(e).digest("hex").slice(0,16);return bs(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){let r=`node ${e}/hooks/pretooluse.mjs`;return{PreToolUse:["Bash","WebFetch","Read","Grep","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"].map(o=>({matcher:o,hooks:[{type:"command",command:r}]})),PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{let e=ba(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Gx(this.getSettingsPath(),JSON.stringify(e,null,2)+`
10
+ `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=this.readPluginHooks(e),i=this.checkHookType(o,s,Pt.PRE_TOOL_USE);r.push({check:"PreToolUse hook",status:i?"pass":"fail",message:i?"PreToolUse hook configured":"No PreToolUse hooks found",fix:i?void 0:"context-mode upgrade"});let a=this.checkHookType(o,s,Pt.SESSION_START);return r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"No SessionStart hooks found",fix:a?void 0:"context-mode upgrade"}),r}readPluginHooks(e){let r=[bs(e,"hooks","hooks.json"),bs(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=ba(n,"utf-8"),s=JSON.parse(o);if(s.hooks)return s.hooks}catch{}}checkHookType(e,r,n){let o=e?.[n];if(o&&o.length>0&&o.some(i=>ks(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>ks(i,n)))}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read settings.json"};let r=e.enabledPlugins;if(!r)return{check:"Plugin registration",status:"warn",message:"No enabledPlugins section found (might be using standalone MCP mode)"};let n=Object.keys(r).find(o=>o.startsWith("context-mode"));return n&&r[n]?{check:"Plugin registration",status:"pass",message:`Plugin enabled: ${n}`}:{check:"Plugin registration",status:"warn",message:"context-mode not in enabledPlugins (might be using standalone MCP mode)"}}getInstalledVersion(){try{let r=un(so(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ba(r,"utf-8")).plugins??{};for(let[s,i]of Object.entries(o)){if(!s.toLowerCase().includes("context-mode"))continue;let a=i;if(a.length>0&&typeof a[0].version=="string")return a[0].version}}catch{}let e=[un(so(),".claude"),un(so(),".config","claude")];for(let r of e){let n=un(r,"plugins","cache","context-mode","context-mode");try{let s=QC(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[];for(let a of Object.keys(n)){let c=n[a];if(!Array.isArray(c))continue;let u=c.filter(d=>{let f=d;if(!Kx(f))return!0;let m=f.hooks??[];return m.every(h=>!h.command||!zp(h.command))?!0:m.every(h=>{let g=h.command?zp(h.command):null;return g?XC(g):!0})}),l=c.length-u.length;l>0&&(n[a]=u,o.push(`Removed ${l} stale ${a} hook(s)`))}let s=this.readPluginHooks(e);if(s&&Vx.every(c=>this.checkHookType(void 0,s,c)))return r.hooks=n,this.writeSettings(r),o.push("Skipped settings.json registration \u2014 plugin hooks.json is sufficient"),o;let i=[Pt.PRE_TOOL_USE,Pt.SESSION_START];for(let a of i){let c=Ip(a,e);if(a===Pt.PRE_TOOL_USE){let u={matcher:Bx,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(f=>ks(f,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n.PreToolUse=l}else n.PreToolUse=[u],o.push(`Created ${a} hooks section`)}else{let u={matcher:"",hooks:[{type:"command",command:c}]},l=n[a];if(l&&Array.isArray(l)){let d=l.findIndex(f=>ks(f,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n[a]=l}else n[a]=[u],o.push(`Created ${a} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{Yx(e,Xx.R_OK);let r=e+".bak";return YC(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(Ss)){let o=un(e,"hooks",n);try{Yx(o,Xx.R_OK),eI(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=un(so(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ba(n,"utf-8"));for(let[s,i]of Object.entries(o.plugins||{}))if(s.toLowerCase().includes("context-mode"))for(let a of i)a.installPath=e,a.version=r,a.lastUpdated=new Date().toISOString();Gx(n,JSON.stringify(o,null,2)+`
11
+ `,"utf-8")}catch{}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function io(t,e){let r=Mp[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var ke,Mp,rZ,nZ,Qx=$e(()=>{"use strict";ke={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Mp={[ke.BEFORE_TOOL]:"beforetool.mjs",[ke.AFTER_TOOL]:"aftertool.mjs",[ke.PRE_COMPRESS]:"precompress.mjs",[ke.SESSION_START]:"sessionstart.mjs"},rZ=[ke.BEFORE_TOOL,ke.SESSION_START],nZ=[ke.AFTER_TOOL,ke.PRE_COMPRESS]});var sv={};Je(sv,{GeminiCLIAdapter:()=>Lp});import{createHash as ev}from"node:crypto";import{readFileSync as Dp,writeFileSync as tv,mkdirSync as rv,copyFileSync as tI,accessSync as nv,chmodSync as rI,constants as ov}from"node:fs";import{resolve as ws,join as wa}from"node:path";import{homedir as Es}from"node:os";var Lp,iv=$e(()=>{"use strict";Qx();Lp=class{name="Gemini CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{decision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{tool_input:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}};if(e.decision==="ask")return{decision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{decision:"deny",reason:e.updatedOutput};if(e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return ws(Es(),".gemini","settings.json")}getSessionDir(){let e=wa(Es(),".gemini","context-mode","sessions");return rv(e,{recursive:!0}),e}getSessionDBPath(e){let r=ev("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=ev("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ke.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:io(ke.BEFORE_TOOL,e)}]}],[ke.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:io(ke.AFTER_TOOL,e)}]}],[ke.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:io(ke.PRE_COMPRESS,e)}]}],[ke.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:io(ke.SESSION_START,e)}]}]}}readSettings(){try{let e=Dp(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=ws(Es(),".gemini");rv(r,{recursive:!0}),tv(this.getSettingsPath(),JSON.stringify(e,null,2)+`
12
+ `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[ke.BEFORE_TOOL];if(s&&s.length>0){let a=s.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"BeforeTool hook",status:a?"pass":"fail",message:a?"BeforeTool hook configured":"BeforeTool exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"BeforeTool hook",status:"fail",message:"No BeforeTool hooks found",fix:"context-mode upgrade"});let i=o?.[ke.SESSION_START];if(i&&i.length>0){let a=i.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"SessionStart exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"SessionStart hook",status:"fail",message:"No SessionStart hooks found",fix:"context-mode upgrade"});return r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read ~/.gemini/settings.json"};let r=e.extensions;return r&&(Array.isArray(r)?r.some(o=>typeof o=="string"&&o.includes("context-mode")):Object.keys(r).some(o=>o.includes("context-mode")))?{check:"Plugin registration",status:"pass",message:"context-mode found in extensions"}:{check:"Plugin registration",status:"warn",message:"context-mode not found in extensions (might be using standalone MCP mode)"}}getInstalledVersion(){try{let e=ws(Es(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Dp(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[{name:ke.BEFORE_TOOL},{name:ke.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:io(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(m=>m.command?.includes("context-mode")));l>=0?(u[l]=c,o.push(`Updated existing ${i.name} hook entry`)):(u.push(c),o.push(`Added ${i.name} hook entry`)),n[i.name]=u}else n[i.name]=[c],o.push(`Created ${i.name} hooks section`)}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{nv(e,ov.R_OK);let r=e+".bak";return tI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=wa(e,"hooks","gemini-cli");for(let o of Object.values(Mp)){let s=ws(n,o);try{nv(s,ov.R_OK),rI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=ws(Es(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Dp(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),tv(n,JSON.stringify(o,null,2)+`
13
+ `,"utf-8")}catch{}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var ln,lZ,dZ,av=$e(()=>{"use strict";ln={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},lZ=[ln.BEFORE,ln.AFTER],dZ=[ln.COMPACTING]});var lv={};Je(lv,{OpenCodeAdapter:()=>Zp});import{createHash as cv}from"node:crypto";import{readFileSync as uv,writeFileSync as oI,mkdirSync as sI,copyFileSync as iI,accessSync as aI,constants as cI}from"node:fs";import{resolve as Ut,join as rr}from"node:path";import{homedir as br}from"node:os";function nI(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Zp,dv=$e(()=>{"use strict";av();Zp=class{get name(){return this.platform==="kilo"?"KiloCode":"OpenCode"}paradigm="ts-plugin";settingsPath;capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};platform;constructor(e="opencode"){this.platform=e}parsePreToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},toolOutput:r.output,isError:void 0,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return this.settingsPath??Ut(`${this.platform}.json`)}paths(){return this.platform==="kilo"?[Ut("kilo.json"),Ut("kilo.jsonc"),Ut(".kilo","kilo.json"),Ut(".kilo","kilo.jsonc"),rr(br(),".config","kilo","kilo.json"),rr(br(),".config","kilo","kilo.jsonc")]:[Ut("opencode.json"),Ut("opencode.jsonc"),Ut(".opencode","opencode.json"),Ut(".opencode","opencode.jsonc"),rr(br(),".config","opencode","opencode.json"),rr(br(),".config","opencode","opencode.jsonc")]}getSessionDir(){let e;process.platform==="win32"?e=process.env.APPDATA||rr(br(),"AppData","Roaming"):e=process.env.XDG_CONFIG_HOME||rr(br(),".config");let r=rr(e,this.platform,"context-mode","sessions");return sI(r,{recursive:!0}),r}getSessionDBPath(e){let r=cv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=cv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ln.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[ln.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[ln.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){this.settingsPath=void 0;let e=this.paths(),r=new Set(e.filter(s=>s.includes(br()))),n=null,o;for(let s of e)try{let i=uv(s,"utf-8"),a=s.endsWith(".jsonc")?nI(i):i,c=JSON.parse(a);n||(n=c,o=s);let u=r.has(s);if(this.hasContextModePlugin(c)||u)return this.settingsPath=s,c}catch{continue}return n?(this.settingsPath=o,n):null}writeSettings(e){oI(this.getSettingsPath(),JSON.stringify(e,null,2)+`
14
+ `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r;let o=this.hasContextModePlugin(n);return Array.isArray(n.plugin)?r.push({check:"Plugin registration",status:o?"pass":"fail",message:o?"context-mode found in plugin array":"context-mode not found in plugin array",fix:o?void 0:"context-mode upgrade"}):r.push({check:"Plugin registration",status:"fail",message:`No plugin array found in ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r.push({check:"SessionStart hook",status:"warn",message:`SessionStart not supported in ${this.name} (see issues #14808, #5409)`}),r}checkPluginRegistration(){let e=this.readSettings();return e?this.hasContextModePlugin(e)?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:`context-mode not found in ${this.platform}.json plugin array`,fix:"context-mode upgrade"}:{check:"Plugin registration",status:"warn",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`}}getInstalledVersion(){try{let e=Ut(br(),".cache",this.platform,"node_modules","context-mode","package.json"),r=JSON.parse(uv(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=this.checkPluginRegistration();if(!this.settingsPath)return null;if(e.status==="pass")return this.settingsPath;try{aI(this.settingsPath,cI.R_OK);let r=this.settingsPath+".bak";return iI(this.settingsPath,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}hasContextModePlugin(e){let r=e.plugin;return Array.isArray(r)&&r.some(n=>typeof n=="string"&&n.includes("context-mode"))}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var dn,yZ,xZ,pv=$e(()=>{"use strict";dn={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},yZ=[dn.TOOL_CALL_BEFORE,dn.TOOL_CALL_AFTER],xZ=[dn.COMMAND_NEW]});var mv={};Je(mv,{OpenClawAdapter:()=>Hp});import{createHash as fv}from"node:crypto";import{readFileSync as Up,writeFileSync as uI,mkdirSync as lI,copyFileSync as dI,accessSync as pI,constants as fI}from"node:fs";import{resolve as wr,join as Ts}from"node:path";import{homedir as Ea}from"node:os";var Hp,hv=$e(()=>{"use strict";pv();Hp=class{name="OpenClaw";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},toolOutput:r.output??r.tool_output,isError:r.isError??r.is_error,sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{block:!0,blockReason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{params:e.updatedInput};if(e.decision==="ask")return{block:!0,blockReason:e.reason??"Action requires user confirmation (security policy)"};e.decision==="context"&&e.additionalContext}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return wr("openclaw.json")}getSessionDir(){let e=Ts(Ea(),".openclaw","context-mode","sessions");return lI(e,{recursive:!0}),e}getSessionDBPath(e){let r=fv("sha256").update(e).digest("hex").slice(0,16);return Ts(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=fv("sha256").update(e).digest("hex").slice(0,16);return Ts(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[dn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[dn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[dn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[wr("openclaw.json"),wr(".openclaw","openclaw.json"),Ts(Ea(),".openclaw","openclaw.json")];for(let r of e)try{let n=Up(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=wr("openclaw.json");uI(r,JSON.stringify(e,null,2)+`
15
+ `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read openclaw.json",fix:"context-mode upgrade"}),r;let o=n.plugins,s=o?.entries;if(s){let a=Object.keys(s).some(c=>c.includes("context-mode"));if(r.push({check:"Plugin registration",status:a?"pass":"fail",message:a?"context-mode found in plugins.entries":"context-mode not found in plugins.entries",fix:a?void 0:"context-mode upgrade"}),a){let u=s["context-mode"]?.enabled!==!1;r.push({check:"Plugin enabled",status:u?"pass":"warn",message:u?"context-mode plugin is enabled":"context-mode plugin is disabled"})}}else r.push({check:"Plugin registration",status:"fail",message:"No plugins.entries found in openclaw.json",fix:"context-mode upgrade"});return o?.slots?.contextEngine==="context-mode"?r.push({check:"Context engine",status:"pass",message:"context-mode registered as context engine (owns compaction)"}):r.push({check:"Context engine",status:"warn",message:"context-mode not set as context engine \u2014 compaction will use default engine"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read openclaw.json"};let n=e.plugins?.entries;return n&&Object.keys(n).some(s=>s.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugins.entries"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in openclaw.json plugins.entries",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=wr(Ea(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Up(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=wr("node_modules","context-mode","package.json"),r=JSON.parse(Up(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[];r.plugins||(r.plugins={});let o=r.plugins;o.entries||(o.entries={});let s=o.entries;if(!s["context-mode"])s["context-mode"]={enabled:!0},n.push("Added context-mode to plugins.entries");else{let a=s["context-mode"];a.enabled===!1?(a.enabled=!0,n.push("Enabled context-mode plugin")):n.push("context-mode already configured in plugins.entries")}o.slots||(o.slots={});let i=o.slots;return i.contextEngine?i.contextEngine!=="context-mode"&&n.push(`Context engine already set to "${i.contextEngine}" \u2014 not overwriting`):(i.contextEngine="context-mode",n.push("Set context-mode as context engine (owns compaction)")),this.writeSettings(r),n}backupSettings(){let e=[wr("openclaw.json"),wr(".openclaw","openclaw.json"),Ts(Ea(),".openclaw","openclaw.json")];for(let r of e)try{pI(r,fI.R_OK);let n=r+".bak";return dI(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var xv={};Je(xv,{CodexAdapter:()=>Bp});import{createHash as gv}from"node:crypto";import{readFileSync as Fp,mkdirSync as mI,copyFileSync as hI,accessSync as gI,constants as _I}from"node:fs";import{resolve as _v,join as qp,dirname as yI}from"node:path";import{fileURLToPath as xI}from"node:url";import{homedir as yv}from"node:os";var Bp,vv=$e(()=>{"use strict";Bp=class{name="Codex CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!0,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_response,sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:r.cwd,raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e.reason??"Blocked by context-mode hook"}}:e.decision==="context"&&e.additionalContext?{}:{}}formatPostToolUseResponse(e){return e.additionalContext?{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:e.additionalContext}}:{}}formatPreCompactResponse(e){return e.context?{hookSpecificOutput:{additionalContext:e.context}}:{}}formatSessionStartResponse(e){return e.context?{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:e.context}}:{}}getSettingsPath(){return _v(yv(),".codex","config.toml")}getSessionDir(){let e=qp(yv(),".codex","context-mode","sessions");return mI(e,{recursive:!0}),e}getSessionDBPath(e){let r=gv("sha256").update(e).digest("hex").slice(0,16);return qp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=gv("sha256").update(e).digest("hex").slice(0,16);return qp(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{PreToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/pretooluse.mjs`}]}],PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{return{_raw_toml:Fp(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI hooks are implemented but dispatch is not yet active (Stage::UnderDevelopment, v0.118.0). Enable flag: [features] codex_hooks = true in ~/.codex/config.toml. Track: openai/codex#16685"}]}checkPluginRegistration(){try{let e=Fp(this.getSettingsPath(),"utf-8"),r=e.includes("context-mode"),n=e.includes("[mcp_servers]")||e.includes("[mcp_servers.");return r&&n?{check:"MCP registration",status:"pass",message:"context-mode found in [mcp_servers] config"}:n?{check:"MCP registration",status:"fail",message:"[mcp_servers] section exists but context-mode not found",fix:"Add context-mode to [mcp_servers] in ~/.codex/config.toml"}:{check:"MCP registration",status:"fail",message:"No [mcp_servers] section in config.toml",fix:"Add [mcp_servers.context-mode] to ~/.codex/config.toml"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.codex/config.toml"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{gI(e,_I.R_OK);let r=e+".bak";return hI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=_v(yI(xI(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Fp(e,"utf-8")}catch{return`# context-mode
16
16
 
17
- Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});function io(t,e){let r=Ta[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/${r}"`:`context-mode hook vscode-copilot ${t.toLowerCase()}`}var ie,Ta,CZ,IZ,Sv=$e(()=>{"use strict";ie={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Ta={[ie.PRE_TOOL_USE]:"pretooluse.mjs",[ie.POST_TOOL_USE]:"posttooluse.mjs",[ie.PRE_COMPACT]:"precompact.mjs",[ie.SESSION_START]:"sessionstart.mjs"},CZ=[ie.PRE_TOOL_USE,ie.SESSION_START],IZ=[ie.POST_TOOL_USE,ie.PRE_COMPACT]});var wv={};Je(wv,{VSCodeCopilotAdapter:()=>Gp});import{createHash as kv}from"node:crypto";import{readFileSync as $a,writeFileSync as bv,mkdirSync as Vp,copyFileSync as vI,accessSync as Kp,existsSync as SI,chmodSync as kI,constants as Jp}from"node:fs";import{resolve as Rt,join as pn}from"node:path";import{homedir as Wp}from"node:os";var Gp,Ev=$e(()=>{"use strict";Sv();Gp=class{name="VS Code Copilot";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,additionalContext:e.additionalContext}};if(e.decision==="ask")return{permissionDecision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Rt(".github","hooks","context-mode.json")}getSessionDir(){let e=Rt(".github","context-mode","sessions"),r=pn(Wp(),".vscode","context-mode","sessions"),n=SI(Rt(".github"))?e:r;return Vp(n,{recursive:!0}),n}getSessionDBPath(e){let r=kv("sha256").update(e).digest("hex").slice(0,16);return pn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=kv("sha256").update(e).digest("hex").slice(0,16);return pn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ie.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:io(ie.PRE_TOOL_USE,e)}]}],[ie.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:io(ie.POST_TOOL_USE,e)}]}],[ie.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:io(ie.PRE_COMPACT,e)}]}],[ie.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:io(ie.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),Rt(".claude","settings.json")];for(let r of e)try{let n=$a(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=Rt(".github","hooks");Vp(n,{recursive:!0}),bv(r,JSON.stringify(e,null,2)+`
18
- `,"utf-8")}validateHooks(e){let r=[],n=Rt(".github","hooks");try{Kp(n,Jp.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=Rt(n,"context-mode.json");try{let s=$a(o,"utf-8"),a=JSON.parse(s).hooks;a?.[ie.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in context-mode.json",fix:"context-mode upgrade"}),a?.[ie.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in context-mode.json",fix:"context-mode upgrade"})}catch{r.push({check:"Hook configuration",status:"fail",message:"Could not read .github/hooks/context-mode.json",fix:"context-mode upgrade"})}return r.push({check:"API stability",status:"warn",message:"VS Code Copilot hooks are in preview \u2014 API may change without notice"}),r.push({check:"Matcher support",status:"warn",message:"Matchers are parsed but IGNORED \u2014 all hooks fire on all tools"}),r}checkPluginRegistration(){try{let e=Rt(".vscode","mcp.json"),r=$a(e,"utf-8"),o=JSON.parse(r).servers;return o&&Object.keys(o).some(i=>i.includes("context-mode"))?{check:"MCP registration",status:"pass",message:"context-mode found in .vscode/mcp.json"}:{check:"MCP registration",status:"fail",message:"context-mode not found in .vscode/mcp.json",fix:"Add context-mode server to .vscode/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read .vscode/mcp.json"}}}getInstalledVersion(){let e=[pn(Wp(),".vscode","extensions"),pn(Wp(),".vscode-insiders","extensions")];for(let r of e)try{let n=$a(pn(r,"extensions.json"),"utf-8"),s=JSON.parse(n).find(i=>typeof i.identifier=="object"&&i.identifier!==null&&i.identifier.id?.toString().includes("context-mode"));if(s&&typeof s.version=="string")return s.version}catch{continue}return"not installed"}configureAllHooks(e){let r=[],n={hooks:{}},o=n.hooks,s=[ie.PRE_TOOL_USE,ie.POST_TOOL_USE,ie.PRE_COMPACT,ie.SESSION_START];for(let c of s)Ta[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:io(c,e)}]}],r.push(`Configured ${c} hook`));let i=Rt(".github","hooks");Vp(i,{recursive:!0});let a=Rt(i,"context-mode.json");return bv(a,JSON.stringify(n,null,2)+`
19
- `,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Kp(e,Jp.R_OK);let r=e+".bak";return vI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=pn(e,"hooks","vscode-copilot");for(let o of Object.values(Ta)){let s=Rt(n,o);try{Kp(s,Jp.R_OK),kI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});function Pa(t,e){let r=Yp[e],n=gt(e);if("command"in t){let s=t.command??"";return r!=null&&s.includes(r)||s.includes(n)}return t.hooks?.some(s=>{let i=s.command??"";return r!=null&&i.includes(r)||i.includes(n)})??!1}function gt(t){return`context-mode hook cursor ${t.toLowerCase()}`}var ae,Yp,bI,Xp,Tv,$v,Pv=$e(()=>{"use strict";ae={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Yp={[ae.PRE_TOOL_USE]:"pretooluse.mjs",[ae.POST_TOOL_USE]:"posttooluse.mjs",[ae.SESSION_START]:"sessionstart.mjs",[ae.STOP]:"stop.mjs"},bI=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Xp=bI.join("|"),Tv=[ae.PRE_TOOL_USE],$v=[ae.POST_TOOL_USE]});var Av={};Je(Av,{CursorAdapter:()=>ef});import{createHash as Rv}from"node:crypto";import{readFileSync as Qp,writeFileSync as wI,mkdirSync as Ov,copyFileSync as EI,accessSync as Cv,chmodSync as TI,constants as Iv,existsSync as zv}from"node:fs";import{execSync as $I}from"node:child_process";import{resolve as ao,join as fn}from"node:path";import{homedir as Ra}from"node:os";var Nv,ef,jv=$e(()=>{"use strict";Pv();Nv="/Library/Application Support/Cursor/hooks.json",ef=class{name="Cursor";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output??r.error_message,isError:!!r.error_message,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??r.trigger??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(r),raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{permission:"deny",user_message:e.reason??"Blocked by context-mode hook"}:e.decision==="modify"&&e.updatedInput?{updated_input:e.updatedInput}:e.decision==="context"&&e.additionalContext?{agent_message:e.additionalContext}:e.decision==="ask"?{permission:"ask",user_message:e.reason??"Action requires user confirmation (security policy)"}:{agent_message:""}}formatPostToolUseResponse(e){return{additional_context:e.additionalContext??""}}formatSessionStartResponse(e){return{additional_context:e.context??""}}parseStopInput(e){let r=e;return{sessionId:r.conversation_id??`pid-${process.ppid}`,status:r.status??"completed",loopCount:r.loop_count??0,generationId:r.generation_id,transcriptPath:r.transcript_path??void 0}}formatStopResponse(e){return e.followupMessage?{followup_message:e.followupMessage}:{}}parseAfterAgentResponseInput(e){return{text:e.text??""}}getSettingsPath(){return ao(".cursor","hooks.json")}getSessionDir(){let e=fn(Ra(),".cursor","context-mode","sessions");return Ov(e,{recursive:!0}),e}getSessionDBPath(e){let r=Rv("sha256").update(e).digest("hex").slice(0,16);return fn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Rv("sha256").update(e).digest("hex").slice(0,16);return fn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ae.PRE_TOOL_USE]:[{type:"command",command:gt(ae.PRE_TOOL_USE),matcher:Xp,loop_limit:null,failClosed:!1}],[ae.POST_TOOL_USE]:[{type:"command",command:gt(ae.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[ae.SESSION_START]:[{type:"command",command:gt(ae.SESSION_START),loop_limit:null,failClosed:!1}],[ae.STOP]:[{type:"command",command:gt(ae.STOP),loop_limit:null,failClosed:!1}],[ae.AFTER_AGENT_RESPONSE]:[{type:"command",command:gt(ae.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=Qp(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();Ov(ao(".cursor"),{recursive:!0}),wI(r,JSON.stringify(e,null,2)+`
20
- `,"utf-8")}validateHooks(e){let r=[],n=this.loadNativeHookConfig();if(!n)r.push({check:"Native hook config",status:"fail",message:"No readable native Cursor hook config found in .cursor/hooks.json or ~/.cursor/hooks.json",fix:"context-mode upgrade"});else{let o=n.config.hooks??{};r.push({check:"Native hook config",status:"pass",message:`Loaded ${n.path}`});for(let s of Tv){let i=o[s],a=Array.isArray(i)&&i.some(c=>Pa(c,s));r.push({check:s,status:a?"pass":"fail",message:a?`${s} hook configured`:`${s} hook not configured in ${n.path}`,fix:a?void 0:"context-mode upgrade"})}for(let s of $v){let i=o[s],a=Array.isArray(i)&&i.some(c=>Pa(c,s));r.push({check:s,status:a?"pass":"warn",message:a?`${s} hook configured`:`${s} hook missing \u2014 session event capture will be reduced`})}}return zv(Nv)&&r.push({check:"Enterprise hook config",status:"warn",message:"Enterprise Cursor hook config detected at /Library/Application Support/Cursor/hooks.json (read-only informational layer)"}),this.hasClaudeCompatibilityHooks()&&r.push({check:"Claude compatibility",status:"warn",message:"Claude-compatible hooks detected; native Cursor hooks are the supported configuration"}),r}checkPluginRegistration(){let e=[ao(".cursor","mcp.json"),fn(Ra(),".cursor","mcp.json")];for(let r of e)try{let n=Qp(r,"utf-8"),o=JSON.parse(n),s=o.mcpServers??o.servers;if(!s)continue;if(Object.entries(s).some(([a,c])=>a.includes("context-mode")?!0:!c||typeof c!="object"?!1:c.command==="context-mode"))return{check:"MCP registration",status:"pass",message:`context-mode found in ${r}`}}catch{continue}return{check:"MCP registration",status:"warn",message:"Could not find context-mode in .cursor/mcp.json or ~/.cursor/mcp.json"}}getInstalledVersion(){try{return $I("cursor --version",{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim().split(/\r?\n/)[0]||"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=this.readSettings()??{version:1,hooks:{}},n=r.hooks??{},o=[];return this.upsertHookEntry(n,ae.PRE_TOOL_USE,{type:"command",command:gt(ae.PRE_TOOL_USE),matcher:Xp,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.POST_TOOL_USE,{type:"command",command:gt(ae.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.SESSION_START,{type:"command",command:gt(ae.SESSION_START),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.STOP,{type:"command",command:gt(ae.STOP),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.AFTER_AGENT_RESPONSE,{type:"command",command:gt(ae.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1},o),r.version=1,r.hooks=n,this.writeSettings(r),o.push(`Wrote native Cursor hooks to ${this.getSettingsPath()}`),o}backupSettings(){let e=this.getSettingsPath();try{Cv(e,Iv.R_OK);let r=e+".bak";return EI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=fn(e,"hooks","cursor");for(let o of Object.values(Yp)){let s=ao(n,o);try{Cv(s,Iv.R_OK),TI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),fn(Ra(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(Nv),e}getProjectDir(e){return e.cwd||e.workspace_roots?.[0]||process.env.CURSOR_CWD||process.cwd()}extractSessionId(e){return e.conversation_id?e.conversation_id:e.session_id?e.session_id:process.env.CURSOR_SESSION_ID?process.env.CURSOR_SESSION_ID:process.env.CURSOR_TRACE_ID?process.env.CURSOR_TRACE_ID:`pid-${process.ppid}`}loadNativeHookConfig(){for(let e of this.getCandidateHookConfigPaths())try{let r=Qp(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[ao(".claude","settings.json"),ao(".claude","settings.local.json"),fn(Ra(),".claude","settings.json")].some(r=>zv(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>Pa(c,r));a>=0?(i[a]=n,o.push(`Updated existing ${r} hook entry`)):(i.push(n),o.push(`Added ${r} hook entry`)),e[r]=i}}});var Zv={};Je(Zv,{AntigravityAdapter:()=>of});import{createHash as Mv}from"node:crypto";import{readFileSync as Oa,writeFileSync as PI,mkdirSync as Dv,copyFileSync as RI,accessSync as OI,constants as CI}from"node:fs";import{resolve as tf,join as rf,dirname as Lv}from"node:path";import{fileURLToPath as II}from"node:url";import{homedir as nf}from"node:os";var of,Uv=$e(()=>{"use strict";of=class{name="Antigravity";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePostToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePreCompactInput(e){throw new Error("Antigravity does not support hooks")}parseSessionStartInput(e){throw new Error("Antigravity does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return tf(nf(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=rf(nf(),".gemini","context-mode","sessions");return Dv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Mv("sha256").update(e).digest("hex").slice(0,16);return rf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Mv("sha256").update(e).digest("hex").slice(0,16);return rf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Oa(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Dv(Lv(r),{recursive:!0}),PI(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Antigravity does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=Oa(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.gemini/antigravity/mcp_config.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.gemini/antigravity/mcp_config.json"}}}getInstalledVersion(){try{let e=tf(nf(),".gemini","extensions","context-mode","package.json");return JSON.parse(Oa(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{OI(e,CI.R_OK);let r=e+".bak";return RI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=tf(Lv(II(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Oa(e,"utf-8")}catch{return`# context-mode
17
+ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});function ao(t,e){let r=Ta[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/${r}"`:`context-mode hook vscode-copilot ${t.toLowerCase()}`}var ie,Ta,CZ,IZ,Sv=$e(()=>{"use strict";ie={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Ta={[ie.PRE_TOOL_USE]:"pretooluse.mjs",[ie.POST_TOOL_USE]:"posttooluse.mjs",[ie.PRE_COMPACT]:"precompact.mjs",[ie.SESSION_START]:"sessionstart.mjs"},CZ=[ie.PRE_TOOL_USE,ie.SESSION_START],IZ=[ie.POST_TOOL_USE,ie.PRE_COMPACT]});var wv={};Je(wv,{VSCodeCopilotAdapter:()=>Gp});import{createHash as kv}from"node:crypto";import{readFileSync as $a,writeFileSync as bv,mkdirSync as Vp,copyFileSync as vI,accessSync as Kp,existsSync as SI,chmodSync as kI,constants as Jp}from"node:fs";import{resolve as Rt,join as pn}from"node:path";import{homedir as Wp}from"node:os";var Gp,Ev=$e(()=>{"use strict";Sv();Gp=class{name="VS Code Copilot";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,additionalContext:e.additionalContext}};if(e.decision==="ask")return{permissionDecision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Rt(".github","hooks","context-mode.json")}getSessionDir(){let e=Rt(".github","context-mode","sessions"),r=pn(Wp(),".vscode","context-mode","sessions"),n=SI(Rt(".github"))?e:r;return Vp(n,{recursive:!0}),n}getSessionDBPath(e){let r=kv("sha256").update(e).digest("hex").slice(0,16);return pn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=kv("sha256").update(e).digest("hex").slice(0,16);return pn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ie.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:ao(ie.PRE_TOOL_USE,e)}]}],[ie.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:ao(ie.POST_TOOL_USE,e)}]}],[ie.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:ao(ie.PRE_COMPACT,e)}]}],[ie.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:ao(ie.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),Rt(".claude","settings.json")];for(let r of e)try{let n=$a(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=Rt(".github","hooks");Vp(n,{recursive:!0}),bv(r,JSON.stringify(e,null,2)+`
18
+ `,"utf-8")}validateHooks(e){let r=[],n=Rt(".github","hooks");try{Kp(n,Jp.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=Rt(n,"context-mode.json");try{let s=$a(o,"utf-8"),a=JSON.parse(s).hooks;a?.[ie.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in context-mode.json",fix:"context-mode upgrade"}),a?.[ie.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in context-mode.json",fix:"context-mode upgrade"})}catch{r.push({check:"Hook configuration",status:"fail",message:"Could not read .github/hooks/context-mode.json",fix:"context-mode upgrade"})}return r.push({check:"API stability",status:"warn",message:"VS Code Copilot hooks are in preview \u2014 API may change without notice"}),r.push({check:"Matcher support",status:"warn",message:"Matchers are parsed but IGNORED \u2014 all hooks fire on all tools"}),r}checkPluginRegistration(){try{let e=Rt(".vscode","mcp.json"),r=$a(e,"utf-8"),o=JSON.parse(r).servers;return o&&Object.keys(o).some(i=>i.includes("context-mode"))?{check:"MCP registration",status:"pass",message:"context-mode found in .vscode/mcp.json"}:{check:"MCP registration",status:"fail",message:"context-mode not found in .vscode/mcp.json",fix:"Add context-mode server to .vscode/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read .vscode/mcp.json"}}}getInstalledVersion(){let e=[pn(Wp(),".vscode","extensions"),pn(Wp(),".vscode-insiders","extensions")];for(let r of e)try{let n=$a(pn(r,"extensions.json"),"utf-8"),s=JSON.parse(n).find(i=>typeof i.identifier=="object"&&i.identifier!==null&&i.identifier.id?.toString().includes("context-mode"));if(s&&typeof s.version=="string")return s.version}catch{continue}return"not installed"}configureAllHooks(e){let r=[],n={hooks:{}},o=n.hooks,s=[ie.PRE_TOOL_USE,ie.POST_TOOL_USE,ie.PRE_COMPACT,ie.SESSION_START];for(let c of s)Ta[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:ao(c,e)}]}],r.push(`Configured ${c} hook`));let i=Rt(".github","hooks");Vp(i,{recursive:!0});let a=Rt(i,"context-mode.json");return bv(a,JSON.stringify(n,null,2)+`
19
+ `,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Kp(e,Jp.R_OK);let r=e+".bak";return vI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=pn(e,"hooks","vscode-copilot");for(let o of Object.values(Ta)){let s=Rt(n,o);try{Kp(s,Jp.R_OK),kI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});function Pa(t,e){let r=Yp[e],n=_t(e);if("command"in t){let s=t.command??"";return r!=null&&s.includes(r)||s.includes(n)}return t.hooks?.some(s=>{let i=s.command??"";return r!=null&&i.includes(r)||i.includes(n)})??!1}function _t(t){return`context-mode hook cursor ${t.toLowerCase()}`}var ae,Yp,bI,Xp,Tv,$v,Pv=$e(()=>{"use strict";ae={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Yp={[ae.PRE_TOOL_USE]:"pretooluse.mjs",[ae.POST_TOOL_USE]:"posttooluse.mjs",[ae.SESSION_START]:"sessionstart.mjs",[ae.STOP]:"stop.mjs"},bI=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Xp=bI.join("|"),Tv=[ae.PRE_TOOL_USE],$v=[ae.POST_TOOL_USE]});var Av={};Je(Av,{CursorAdapter:()=>ef});import{createHash as Rv}from"node:crypto";import{readFileSync as Qp,writeFileSync as wI,mkdirSync as Ov,copyFileSync as EI,accessSync as Cv,chmodSync as TI,constants as Iv,existsSync as zv}from"node:fs";import{execSync as $I}from"node:child_process";import{resolve as co,join as fn}from"node:path";import{homedir as Ra}from"node:os";var Nv,ef,jv=$e(()=>{"use strict";Pv();Nv="/Library/Application Support/Cursor/hooks.json",ef=class{name="Cursor";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output??r.error_message,isError:!!r.error_message,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??r.trigger??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(r),raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{permission:"deny",user_message:e.reason??"Blocked by context-mode hook"}:e.decision==="modify"&&e.updatedInput?{updated_input:e.updatedInput}:e.decision==="context"&&e.additionalContext?{agent_message:e.additionalContext}:e.decision==="ask"?{permission:"ask",user_message:e.reason??"Action requires user confirmation (security policy)"}:{agent_message:""}}formatPostToolUseResponse(e){return{additional_context:e.additionalContext??""}}formatSessionStartResponse(e){return{additional_context:e.context??""}}parseStopInput(e){let r=e;return{sessionId:r.conversation_id??`pid-${process.ppid}`,status:r.status??"completed",loopCount:r.loop_count??0,generationId:r.generation_id,transcriptPath:r.transcript_path??void 0}}formatStopResponse(e){return e.followupMessage?{followup_message:e.followupMessage}:{}}parseAfterAgentResponseInput(e){return{text:e.text??""}}getSettingsPath(){return co(".cursor","hooks.json")}getSessionDir(){let e=fn(Ra(),".cursor","context-mode","sessions");return Ov(e,{recursive:!0}),e}getSessionDBPath(e){let r=Rv("sha256").update(e).digest("hex").slice(0,16);return fn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Rv("sha256").update(e).digest("hex").slice(0,16);return fn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ae.PRE_TOOL_USE]:[{type:"command",command:_t(ae.PRE_TOOL_USE),matcher:Xp,loop_limit:null,failClosed:!1}],[ae.POST_TOOL_USE]:[{type:"command",command:_t(ae.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[ae.SESSION_START]:[{type:"command",command:_t(ae.SESSION_START),loop_limit:null,failClosed:!1}],[ae.STOP]:[{type:"command",command:_t(ae.STOP),loop_limit:null,failClosed:!1}],[ae.AFTER_AGENT_RESPONSE]:[{type:"command",command:_t(ae.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=Qp(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();Ov(co(".cursor"),{recursive:!0}),wI(r,JSON.stringify(e,null,2)+`
20
+ `,"utf-8")}validateHooks(e){let r=[],n=this.loadNativeHookConfig();if(!n)r.push({check:"Native hook config",status:"fail",message:"No readable native Cursor hook config found in .cursor/hooks.json or ~/.cursor/hooks.json",fix:"context-mode upgrade"});else{let o=n.config.hooks??{};r.push({check:"Native hook config",status:"pass",message:`Loaded ${n.path}`});for(let s of Tv){let i=o[s],a=Array.isArray(i)&&i.some(c=>Pa(c,s));r.push({check:s,status:a?"pass":"fail",message:a?`${s} hook configured`:`${s} hook not configured in ${n.path}`,fix:a?void 0:"context-mode upgrade"})}for(let s of $v){let i=o[s],a=Array.isArray(i)&&i.some(c=>Pa(c,s));r.push({check:s,status:a?"pass":"warn",message:a?`${s} hook configured`:`${s} hook missing \u2014 session event capture will be reduced`})}}return zv(Nv)&&r.push({check:"Enterprise hook config",status:"warn",message:"Enterprise Cursor hook config detected at /Library/Application Support/Cursor/hooks.json (read-only informational layer)"}),this.hasClaudeCompatibilityHooks()&&r.push({check:"Claude compatibility",status:"warn",message:"Claude-compatible hooks detected; native Cursor hooks are the supported configuration"}),r}checkPluginRegistration(){let e=[co(".cursor","mcp.json"),fn(Ra(),".cursor","mcp.json")];for(let r of e)try{let n=Qp(r,"utf-8"),o=JSON.parse(n),s=o.mcpServers??o.servers;if(!s)continue;if(Object.entries(s).some(([a,c])=>a.includes("context-mode")?!0:!c||typeof c!="object"?!1:c.command==="context-mode"))return{check:"MCP registration",status:"pass",message:`context-mode found in ${r}`}}catch{continue}return{check:"MCP registration",status:"warn",message:"Could not find context-mode in .cursor/mcp.json or ~/.cursor/mcp.json"}}getInstalledVersion(){try{return $I("cursor --version",{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim().split(/\r?\n/)[0]||"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=this.readSettings()??{version:1,hooks:{}},n=r.hooks??{},o=[];return this.upsertHookEntry(n,ae.PRE_TOOL_USE,{type:"command",command:_t(ae.PRE_TOOL_USE),matcher:Xp,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.POST_TOOL_USE,{type:"command",command:_t(ae.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.SESSION_START,{type:"command",command:_t(ae.SESSION_START),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.STOP,{type:"command",command:_t(ae.STOP),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.AFTER_AGENT_RESPONSE,{type:"command",command:_t(ae.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1},o),r.version=1,r.hooks=n,this.writeSettings(r),o.push(`Wrote native Cursor hooks to ${this.getSettingsPath()}`),o}backupSettings(){let e=this.getSettingsPath();try{Cv(e,Iv.R_OK);let r=e+".bak";return EI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=fn(e,"hooks","cursor");for(let o of Object.values(Yp)){let s=co(n,o);try{Cv(s,Iv.R_OK),TI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),fn(Ra(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(Nv),e}getProjectDir(e){return e.cwd||e.workspace_roots?.[0]||process.env.CURSOR_CWD||process.cwd()}extractSessionId(e){return e.conversation_id?e.conversation_id:e.session_id?e.session_id:process.env.CURSOR_SESSION_ID?process.env.CURSOR_SESSION_ID:process.env.CURSOR_TRACE_ID?process.env.CURSOR_TRACE_ID:`pid-${process.ppid}`}loadNativeHookConfig(){for(let e of this.getCandidateHookConfigPaths())try{let r=Qp(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[co(".claude","settings.json"),co(".claude","settings.local.json"),fn(Ra(),".claude","settings.json")].some(r=>zv(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>Pa(c,r));a>=0?(i[a]=n,o.push(`Updated existing ${r} hook entry`)):(i.push(n),o.push(`Added ${r} hook entry`)),e[r]=i}}});var Zv={};Je(Zv,{AntigravityAdapter:()=>of});import{createHash as Mv}from"node:crypto";import{readFileSync as Oa,writeFileSync as PI,mkdirSync as Dv,copyFileSync as RI,accessSync as OI,constants as CI}from"node:fs";import{resolve as tf,join as rf,dirname as Lv}from"node:path";import{fileURLToPath as II}from"node:url";import{homedir as nf}from"node:os";var of,Uv=$e(()=>{"use strict";of=class{name="Antigravity";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePostToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePreCompactInput(e){throw new Error("Antigravity does not support hooks")}parseSessionStartInput(e){throw new Error("Antigravity does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return tf(nf(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=rf(nf(),".gemini","context-mode","sessions");return Dv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Mv("sha256").update(e).digest("hex").slice(0,16);return rf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Mv("sha256").update(e).digest("hex").slice(0,16);return rf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Oa(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Dv(Lv(r),{recursive:!0}),PI(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Antigravity does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=Oa(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.gemini/antigravity/mcp_config.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.gemini/antigravity/mcp_config.json"}}}getInstalledVersion(){try{let e=tf(nf(),".gemini","extensions","context-mode","package.json");return JSON.parse(Oa(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{OI(e,CI.R_OK);let r=e+".bak";return RI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=tf(Lv(II(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Oa(e,"utf-8")}catch{return`# context-mode
21
21
 
22
- Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});function $s(t,e){let r=Hv[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function Ps(t,e){let r=Hv[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var be,Hv,YZ,XZ,Fv=$e(()=>{"use strict";be={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},Hv={[be.PRE_TOOL_USE]:"pretooluse.mjs",[be.POST_TOOL_USE]:"posttooluse.mjs"},YZ=[be.PRE_TOOL_USE],XZ=[be.POST_TOOL_USE]});var Kv={};Je(Kv,{KiroAdapter:()=>cf});import{createHash as qv}from"node:crypto";import{readFileSync as co,writeFileSync as Bv,mkdirSync as sf,copyFileSync as zI,accessSync as NI,constants as AI}from"node:fs";import{resolve as uo,join as af,dirname as Vv}from"node:path";import{fileURLToPath as jI}from"node:url";import{homedir as Rs}from"node:os";var cf,Jv=$e(()=>{"use strict";Fv();cf=class{name="Kiro";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e,n=r.tool_response;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:typeof n=="string"?n:JSON.stringify(n??""),sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePreCompactInput(e){throw new Error("Kiro does not support PreCompact hooks")}parseSessionStartInput(e){throw new Error("Kiro does not support SessionStart hooks (yet)")}formatPreToolUseResponse(e){switch(e.decision){case"deny":return{exitCode:2,stderr:e.reason??"Blocked by context-mode"};case"context":return{exitCode:0,stdout:e.additionalContext??""};default:return}}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return uo(Rs(),".kiro","settings","mcp.json")}getSessionDir(){let e=af(Rs(),".kiro","context-mode","sessions");return sf(e,{recursive:!0}),e}getSessionDBPath(e){let r=qv("sha256").update(e).digest("hex").slice(0,16);return af(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=qv("sha256").update(e).digest("hex").slice(0,16);return af(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[be.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Ps(be.PRE_TOOL_USE,e)}]}],[be.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Ps(be.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=co(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();sf(Vv(r),{recursive:!0}),Bv(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=uo(Rs(),".kiro","agents","default.json");try{let s=JSON.parse(co(n,"utf-8")).hooks??{};for(let i of[be.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>$s(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"fail",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured`,...c?{}:{fix:"Run: context-mode upgrade"}})}for(let i of[be.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>$s(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"warn",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured (optional)`})}}catch{r.push({check:"Hook configuration",status:"warn",message:"Could not read ~/.kiro/agents/default.json",fix:"Run: context-mode upgrade"})}return r}checkPluginRegistration(){try{let e=co(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.kiro/settings/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.kiro/settings/mcp.json"}}}getInstalledVersion(){try{let e=uo(Rs(),".kiro","extensions","context-mode","package.json");return JSON.parse(co(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=uo(Rs(),".kiro","agents"),o=uo(n,"default.json");try{sf(n,{recursive:!0});let s={};try{s=JSON.parse(co(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[be.PRE_TOOL_USE]??[];a.some(u=>$s(u,be.PRE_TOOL_USE))||(a.push({matcher:"*",command:Ps(be.PRE_TOOL_USE,e)}),i[be.PRE_TOOL_USE]=a,r.push(`Added ${be.PRE_TOOL_USE} hook to ${o}`));let c=i[be.POST_TOOL_USE]??[];c.some(u=>$s(u,be.POST_TOOL_USE))||(c.push({matcher:"*",command:Ps(be.POST_TOOL_USE,e)}),i[be.POST_TOOL_USE]=c,r.push(`Added ${be.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,Bv(o,JSON.stringify(s,null,2),"utf-8")}catch(s){r.push(`Failed to configure hooks: ${s.message}`)}return r}backupSettings(){let e=this.getSettingsPath();try{NI(e,AI.R_OK);let r=e+".bak";return zI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=uo(Vv(jI(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return co(e,"utf-8")}catch{return`# context-mode
22
+ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});function $s(t,e){let r=Hv[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function Ps(t,e){let r=Hv[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var be,Hv,YZ,XZ,Fv=$e(()=>{"use strict";be={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},Hv={[be.PRE_TOOL_USE]:"pretooluse.mjs",[be.POST_TOOL_USE]:"posttooluse.mjs"},YZ=[be.PRE_TOOL_USE],XZ=[be.POST_TOOL_USE]});var Kv={};Je(Kv,{KiroAdapter:()=>cf});import{createHash as qv}from"node:crypto";import{readFileSync as uo,writeFileSync as Bv,mkdirSync as sf,copyFileSync as zI,accessSync as NI,constants as AI}from"node:fs";import{resolve as lo,join as af,dirname as Vv}from"node:path";import{fileURLToPath as jI}from"node:url";import{homedir as Rs}from"node:os";var cf,Jv=$e(()=>{"use strict";Fv();cf=class{name="Kiro";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e,n=r.tool_response;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:typeof n=="string"?n:JSON.stringify(n??""),sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePreCompactInput(e){throw new Error("Kiro does not support PreCompact hooks")}parseSessionStartInput(e){throw new Error("Kiro does not support SessionStart hooks (yet)")}formatPreToolUseResponse(e){switch(e.decision){case"deny":return{exitCode:2,stderr:e.reason??"Blocked by context-mode"};case"context":return{exitCode:0,stdout:e.additionalContext??""};default:return}}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return lo(Rs(),".kiro","settings","mcp.json")}getSessionDir(){let e=af(Rs(),".kiro","context-mode","sessions");return sf(e,{recursive:!0}),e}getSessionDBPath(e){let r=qv("sha256").update(e).digest("hex").slice(0,16);return af(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=qv("sha256").update(e).digest("hex").slice(0,16);return af(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[be.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Ps(be.PRE_TOOL_USE,e)}]}],[be.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Ps(be.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=uo(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();sf(Vv(r),{recursive:!0}),Bv(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=lo(Rs(),".kiro","agents","default.json");try{let s=JSON.parse(uo(n,"utf-8")).hooks??{};for(let i of[be.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>$s(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"fail",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured`,...c?{}:{fix:"Run: context-mode upgrade"}})}for(let i of[be.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>$s(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"warn",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured (optional)`})}}catch{r.push({check:"Hook configuration",status:"warn",message:"Could not read ~/.kiro/agents/default.json",fix:"Run: context-mode upgrade"})}return r}checkPluginRegistration(){try{let e=uo(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.kiro/settings/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.kiro/settings/mcp.json"}}}getInstalledVersion(){try{let e=lo(Rs(),".kiro","extensions","context-mode","package.json");return JSON.parse(uo(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=lo(Rs(),".kiro","agents"),o=lo(n,"default.json");try{sf(n,{recursive:!0});let s={};try{s=JSON.parse(uo(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[be.PRE_TOOL_USE]??[];a.some(u=>$s(u,be.PRE_TOOL_USE))||(a.push({matcher:"*",command:Ps(be.PRE_TOOL_USE,e)}),i[be.PRE_TOOL_USE]=a,r.push(`Added ${be.PRE_TOOL_USE} hook to ${o}`));let c=i[be.POST_TOOL_USE]??[];c.some(u=>$s(u,be.POST_TOOL_USE))||(c.push({matcher:"*",command:Ps(be.POST_TOOL_USE,e)}),i[be.POST_TOOL_USE]=c,r.push(`Added ${be.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,Bv(o,JSON.stringify(s,null,2),"utf-8")}catch(s){r.push(`Failed to configure hooks: ${s.message}`)}return r}backupSettings(){let e=this.getSettingsPath();try{NI(e,AI.R_OK);let r=e+".bak";return zI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=lo(Vv(jI(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return uo(e,"utf-8")}catch{return`# context-mode
23
23
 
24
24
  Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});var eS={};Je(eS,{ZedAdapter:()=>df});import{createHash as Wv}from"node:crypto";import{readFileSync as uf,writeFileSync as MI,mkdirSync as Gv,copyFileSync as DI,accessSync as LI,constants as ZI}from"node:fs";import{resolve as Yv,join as lf,dirname as Xv}from"node:path";import{fileURLToPath as UI}from"node:url";import{homedir as Qv}from"node:os";var df,tS=$e(()=>{"use strict";df=class{name="Zed";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Zed does not support hooks")}parsePostToolUseInput(e){throw new Error("Zed does not support hooks")}parsePreCompactInput(e){throw new Error("Zed does not support hooks")}parseSessionStartInput(e){throw new Error("Zed does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return Yv(Qv(),".config","zed","settings.json")}getSessionDir(){let e=lf(Qv(),".config","zed","context-mode","sessions");return Gv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Wv("sha256").update(e).digest("hex").slice(0,16);return lf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Wv("sha256").update(e).digest("hex").slice(0,16);return lf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=uf(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Gv(Xv(r),{recursive:!0}),MI(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Zed does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=uf(this.getSettingsPath(),"utf-8"),n=JSON.parse(e).context_servers!==void 0,o=e.includes("context-mode");return n&&o?{check:"MCP registration",status:"pass",message:"context-mode found in context_servers config"}:n?{check:"MCP registration",status:"fail",message:"context_servers section exists but context-mode not found",fix:"Add context-mode to context_servers in ~/.config/zed/settings.json"}:{check:"MCP registration",status:"fail",message:"No context_servers section in settings.json",fix:"Add context_servers.context-mode to ~/.config/zed/settings.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.config/zed/settings.json"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{LI(e,ZI.R_OK);let r=e+".bak";return DI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Yv(Xv(UI(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return uf(e,"utf-8")}catch{return`# context-mode
25
25
 
26
- Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var nS={};Je(nS,{detectPlatform:()=>rS,getAdapter:()=>FI});import{existsSync as Ht}from"node:fs";import{resolve as Ft}from"node:path";import{homedir as HI}from"node:os";function rS(t){if(t?.name){let n=Fx[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","kilo","opencode","codex","vscode-copilot","cursor","antigravity","kiro","pi","zed"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCLAW_HOME||process.env.OPENCLAW_CLI)return{platform:"openclaw",confidence:"high",reason:"OPENCLAW_HOME or OPENCLAW_CLI env var set"};if(process.env.KILO||process.env.KILO_PID)return{platform:"kilo",confidence:"high",reason:"KILO or KILO_PID env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.CURSOR_TRACE_ID||process.env.CURSOR_CLI)return{platform:"cursor",confidence:"high",reason:"CURSOR_TRACE_ID or CURSOR_CLI env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let r=HI();return Ht(Ft(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Ht(Ft(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Ht(Ft(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Ht(Ft(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Ht(Ft(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Ht(Ft(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Ht(Ft(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Ht(Ft(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Ht(Ft(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Ht(Ft(r,".config","zed"))?{platform:"zed",confidence:"medium",reason:"~/.config/zed/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function FI(t){let e=t??rS().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(jp(),Ap));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(iv(),sv));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(dv(),lv));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(hv(),mv));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(vv(),xv));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(Ev(),wv));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(jv(),Av));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(Uv(),Zv));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(Jv(),Kv));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(tS(),eS));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(jp(),Ap));return new r}}}var oS=$e(()=>{"use strict";qx()});var D={};Je(D,{BRAND:()=>JS,DIRTY:()=>Rr,EMPTY_PATH:()=>TS,INVALID:()=>A,NEVER:()=>Ck,OK:()=>Ze,ParseStatus:()=>Ce,Schema:()=>F,ZodAny:()=>or,ZodArray:()=>Jt,ZodBigInt:()=>Cr,ZodBoolean:()=>Ir,ZodBranded:()=>mo,ZodCatch:()=>Fr,ZodDate:()=>zr,ZodDefault:()=>Hr,ZodDiscriminatedUnion:()=>As,ZodEffects:()=>at,ZodEnum:()=>Zr,ZodError:()=>We,ZodFirstPartyTypeKind:()=>b,ZodFunction:()=>Ms,ZodIntersection:()=>Mr,ZodIssueCode:()=>k,ZodLazy:()=>Dr,ZodLiteral:()=>Lr,ZodMap:()=>Sn,ZodNaN:()=>bn,ZodNativeEnum:()=>Ur,ZodNever:()=>yt,ZodNull:()=>Ar,ZodNullable:()=>zt,ZodNumber:()=>Or,ZodObject:()=>Ye,ZodOptional:()=>Ge,ZodParsedType:()=>$,ZodPipeline:()=>ho,ZodPromise:()=>sr,ZodReadonly:()=>qr,ZodRecord:()=>js,ZodSchema:()=>F,ZodSet:()=>kn,ZodString:()=>nr,ZodSymbol:()=>xn,ZodTransformer:()=>at,ZodTuple:()=>It,ZodType:()=>F,ZodUndefined:()=>Nr,ZodUnion:()=>jr,ZodUnknown:()=>Kt,ZodVoid:()=>vn,addIssueToContext:()=>w,any:()=>nk,array:()=>ak,bigint:()=>XS,boolean:()=>Af,coerce:()=>Ok,custom:()=>If,date:()=>QS,datetimeRegex:()=>Of,defaultErrorMap:()=>Bt,discriminatedUnion:()=>lk,effect:()=>kk,enum:()=>xk,function:()=>gk,getErrorMap:()=>gn,getParsedType:()=>Ct,instanceof:()=>GS,intersection:()=>dk,isAborted:()=>zs,isAsync:()=>_n,isDirty:()=>Ns,isValid:()=>rr,late:()=>WS,lazy:()=>_k,literal:()=>yk,makeIssue:()=>fo,map:()=>mk,nan:()=>YS,nativeEnum:()=>vk,never:()=>sk,null:()=>rk,nullable:()=>wk,number:()=>Nf,object:()=>Ha,objectUtil:()=>La,oboolean:()=>Rk,onumber:()=>Pk,optional:()=>bk,ostring:()=>$k,pipeline:()=>Tk,preprocess:()=>Ek,promise:()=>Sk,quotelessJson:()=>bS,record:()=>fk,set:()=>hk,setErrorMap:()=>ES,strictObject:()=>ck,string:()=>zf,symbol:()=>ek,transformer:()=>kk,tuple:()=>pk,undefined:()=>tk,union:()=>uk,unknown:()=>ok,util:()=>J,void:()=>ik});var J;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.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},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.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)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(J||(J={}));var La;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(La||(La={}));var $=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ct=t=>{switch(typeof t){case"undefined":return $.undefined;case"string":return $.string;case"number":return Number.isNaN(t)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":return Array.isArray(t)?$.array:t===null?$.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?$.promise:typeof Map<"u"&&t instanceof Map?$.map:typeof Set<"u"&&t instanceof Set?$.set:typeof Date<"u"&&t instanceof Date?$.date:$.object;default:return $.unknown}};var k=J.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"]),bS=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),We=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,J.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};We.create=t=>new We(t);var wS=(t,e)=>{let r;switch(t.code){case k.invalid_type:t.received===$.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case k.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,J.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:r=`Unrecognized key(s) in object: ${J.joinValues(t.keys,", ")}`;break;case k.invalid_union:r="Invalid input";break;case k.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${J.joinValues(t.options)}`;break;case k.invalid_enum_value:r=`Invalid enum value. Expected ${J.joinValues(t.options)}, received '${t.received}'`;break;case k.invalid_arguments:r="Invalid function arguments";break;case k.invalid_return_type:r="Invalid function return type";break;case k.invalid_date:r="Invalid date";break;case k.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:J.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case k.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case k.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case k.custom:r="Invalid input";break;case k.invalid_intersection_types:r="Intersection results could not be merged";break;case k.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case k.not_finite:r="Number must be finite";break;default:r=e.defaultError,J.assertNever(t)}return{message:r}},Bt=wS;var Ef=Bt;function ES(t){Ef=t}function gn(){return Ef}var fo=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},TS=[];function w(t,e){let r=gn(),n=fo({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Bt?void 0:Bt].filter(o=>!!o)});t.common.issues.push(n)}var Ce=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return A;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return A;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},A=Object.freeze({status:"aborted"}),Rr=t=>({status:"dirty",value:t}),Ze=t=>({status:"valid",value:t}),zs=t=>t.status==="aborted",Ns=t=>t.status==="dirty",rr=t=>t.status==="valid",_n=t=>typeof Promise<"u"&&t instanceof Promise;var R;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(R||(R={}));var it=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Tf=(t,e)=>{if(rr(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new We(t.common.issues);return this._error=r,this._error}}};function U(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;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 F=class{get description(){return this._def.description}_getType(e){return Ct(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Ct(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ce,ctx:{common:e.parent.common,data:e.data,parsedType:Ct(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(_n(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)},o=this._parseSync({data:e,path:n.path,parent:n});return Tf(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return rr(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>rr(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(_n(o)?o:Promise.resolve(o));return Tf(n,s)}refine(e,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=e(o),a=()=>s.addIssue({code:k.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new at({schema:this,typeName:b.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Ge.create(this,this._def)}nullable(){return zt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Jt.create(this)}promise(){return sr.create(this,this._def)}or(e){return jr.create([this,e],this._def)}and(e){return Mr.create(this,e,this._def)}transform(e){return new at({...U(this._def),schema:this,typeName:b.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Hr({...U(this._def),innerType:this,defaultValue:r,typeName:b.ZodDefault})}brand(){return new mo({typeName:b.ZodBranded,type:this,...U(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Fr({...U(this._def),innerType:this,catchValue:r,typeName:b.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return ho.create(this,e)}readonly(){return qr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},$S=/^c[^\s-]{8,}$/i,PS=/^[0-9a-z]+$/,RS=/^[0-9A-HJKMNP-TV-Z]{26}$/i,OS=/^[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,CS=/^[a-z0-9_-]{21}$/i,IS=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,zS=/^[-+]?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)?)??$/,NS=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,AS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Za,jS=/^(?:(?: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])$/,MS=/^(?:(?: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])$/,DS=/^(([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]))$/,LS=/^(([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])$/,ZS=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,US=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pf="((\\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])))",HS=new RegExp(`^${Pf}$`);function Rf(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function FS(t){return new RegExp(`^${Rf(t)}$`)}function Of(t){let e=`${Pf}T${Rf(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function qS(t,e){return!!((e==="v4"||!e)&&jS.test(t)||(e==="v6"||!e)&&DS.test(t))}function BS(t,e){if(!IS.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function VS(t,e){return!!((e==="v4"||!e)&&MS.test(t)||(e==="v6"||!e)&&LS.test(t))}var nr=class t extends F{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==$.string){let s=this._getOrReturnCtx(e);return w(s,{code:k.invalid_type,expected:$.string,received:s.parsedType}),A}let n=new Ce,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),w(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),w(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?w(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&w(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")NS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"email",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Za||(Za=new RegExp(AS,"u")),Za.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"emoji",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")OS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"uuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")CS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"nanoid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")$S.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"cuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")PS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"cuid2",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")RS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"ulid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),w(o,{validation:"url",code:k.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"regex",code:k.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Of(s).test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?HS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?FS(s).test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?zS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"duration",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?qS(e.data,s.version)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"ip",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?BS(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"jwt",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?VS(e.data,s.version)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"cidr",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?ZS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"base64",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?US.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"base64url",code:k.invalid_string,message:s.message}),n.dirty()):J.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:k.invalid_string,...R.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...R.errToObj(e)})}url(e){return this._addCheck({kind:"url",...R.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...R.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...R.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...R.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...R.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...R.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...R.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...R.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...R.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...R.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...R.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...R.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...R.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...R.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...R.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...R.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...R.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...R.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...R.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...R.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...R.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...R.errToObj(r)})}nonempty(e){return this.min(1,R.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};nr.create=t=>new nr({checks:[],typeName:b.ZodString,coerce:t?.coerce??!1,...U(t)});function KS(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var Or=class t extends F{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==$.number){let s=this._getOrReturnCtx(e);return w(s,{code:k.invalid_type,expected:$.number,received:s.parsedType}),A}let n,o=new Ce;for(let s of this._def.checks)s.kind==="int"?J.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),w(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?KS(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),w(n,{code:k.not_finite,message:s.message}),o.dirty()):J.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:R.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:R.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&J.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};Or.create=t=>new Or({checks:[],typeName:b.ZodNumber,coerce:t?.coerce||!1,...U(t)});var Cr=class t extends F{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==$.bigint)return this._getInvalidInput(e);let n,o=new Ce;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):J.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return w(r,{code:k.invalid_type,expected:$.bigint,received:r.parsedType}),A}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Cr.create=t=>new Cr({checks:[],typeName:b.ZodBigInt,coerce:t?.coerce??!1,...U(t)});var Ir=class extends F{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.boolean,received:n.parsedType}),A}return Ze(e.data)}};Ir.create=t=>new Ir({typeName:b.ZodBoolean,coerce:t?.coerce||!1,...U(t)});var zr=class t extends F{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==$.date){let s=this._getOrReturnCtx(e);return w(s,{code:k.invalid_type,expected:$.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return w(s,{code:k.invalid_date}),A}let n=new Ce,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),w(o,{code:k.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),w(o,{code:k.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):J.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:R.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:R.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};zr.create=t=>new zr({checks:[],coerce:t?.coerce||!1,typeName:b.ZodDate,...U(t)});var xn=class extends F{_parse(e){if(this._getType(e)!==$.symbol){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.symbol,received:n.parsedType}),A}return Ze(e.data)}};xn.create=t=>new xn({typeName:b.ZodSymbol,...U(t)});var Nr=class extends F{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.undefined,received:n.parsedType}),A}return Ze(e.data)}};Nr.create=t=>new Nr({typeName:b.ZodUndefined,...U(t)});var Ar=class extends F{_parse(e){if(this._getType(e)!==$.null){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.null,received:n.parsedType}),A}return Ze(e.data)}};Ar.create=t=>new Ar({typeName:b.ZodNull,...U(t)});var or=class extends F{constructor(){super(...arguments),this._any=!0}_parse(e){return Ze(e.data)}};or.create=t=>new or({typeName:b.ZodAny,...U(t)});var Kt=class extends F{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ze(e.data)}};Kt.create=t=>new Kt({typeName:b.ZodUnknown,...U(t)});var yt=class extends F{_parse(e){let r=this._getOrReturnCtx(e);return w(r,{code:k.invalid_type,expected:$.never,received:r.parsedType}),A}};yt.create=t=>new yt({typeName:b.ZodNever,...U(t)});var vn=class extends F{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.void,received:n.parsedType}),A}return Ze(e.data)}};vn.create=t=>new vn({typeName:b.ZodVoid,...U(t)});var Jt=class t extends F{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==$.array)return w(r,{code:k.invalid_type,expected:$.array,received:r.parsedType}),A;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(w(r,{code:i?k.too_big:k.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&&(w(r,{code:k.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&&(w(r,{code:k.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 it(r,i,r.path,a)))).then(i=>Ce.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new it(r,i,r.path,a)));return Ce.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:R.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:R.toString(r)}})}nonempty(e){return this.min(1,e)}};Jt.create=(t,e)=>new Jt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:b.ZodArray,...U(e)});function yn(t){if(t instanceof Ye){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ge.create(yn(n))}return new Ye({...t._def,shape:()=>e})}else return t instanceof Jt?new Jt({...t._def,type:yn(t.element)}):t instanceof Ge?Ge.create(yn(t.unwrap())):t instanceof zt?zt.create(yn(t.unwrap())):t instanceof It?It.create(t.items.map(e=>yn(e))):t}var Ye=class t extends F{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=J.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==$.object){let u=this._getOrReturnCtx(e);return w(u,{code:k.invalid_type,expected:$.object,received:u.parsedType}),A}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof yt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new it(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof yt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(w(o,{code:k.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new it(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,f=await l.value;u.push({key:d,value:f,alwaysSet:l.alwaysSet})}return u}).then(u=>Ce.mergeObjectSync(n,u)):Ce.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return R.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:R.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:b.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of J.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of J.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return yn(this)}partial(e){let r={};for(let n of J.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of J.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Ge;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return Cf(J.objectKeys(this.shape))}};Ye.create=(t,e)=>new Ye({shape:()=>t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Ye.strictCreate=(t,e)=>new Ye({shape:()=>t,unknownKeys:"strict",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Ye.lazycreate=(t,e)=>new Ye({shape:t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});var jr=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),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 We(a.ctx.common.issues));return w(r,{code:k.invalid_union,unionErrors:i}),A}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new We(c));return w(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};jr.create=(t,e)=>new jr({options:t,typeName:b.ZodUnion,...U(e)});var Vt=t=>t instanceof Dr?Vt(t.schema):t instanceof at?Vt(t.innerType()):t instanceof Lr?[t.value]:t instanceof Zr?t.options:t instanceof Ur?J.objectValues(t.enum):t instanceof Hr?Vt(t._def.innerType):t instanceof Nr?[void 0]:t instanceof Ar?[null]:t instanceof Ge?[void 0,...Vt(t.unwrap())]:t instanceof zt?[null,...Vt(t.unwrap())]:t instanceof mo||t instanceof qr?Vt(t.unwrap()):t instanceof Fr?Vt(t._def.innerType):[],As=class t extends F{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return w(r,{code:k.invalid_type,expected:$.object,received:r.parsedType}),A;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}):(w(r,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Vt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:b.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...U(n)})}};function Ua(t,e){let r=Ct(t),n=Ct(e);if(t===e)return{valid:!0,data:t};if(r===$.object&&n===$.object){let o=J.objectKeys(e),s=J.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Ua(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===$.array&&n===$.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=Ua(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===$.date&&n===$.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Mr=class extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(zs(s)||zs(i))return A;let a=Ua(s.value,i.value);return a.valid?((Ns(s)||Ns(i))&&r.dirty(),{status:r.value,value:a.data}):(w(n,{code:k.invalid_intersection_types}),A)};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}))}};Mr.create=(t,e,r)=>new Mr({left:t,right:e,typeName:b.ZodIntersection,...U(r)});var It=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.array)return w(n,{code:k.invalid_type,expected:$.array,received:n.parsedType}),A;if(n.data.length<this._def.items.length)return w(n,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&n.data.length>this._def.items.length&&(w(n,{code:k.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 it(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ce.mergeArray(r,i)):Ce.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};It.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new It({items:t,typeName:b.ZodTuple,rest:null,...U(e)})};var js=class t extends F{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.object)return w(n,{code:k.invalid_type,expected:$.object,received:n.parsedType}),A;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new it(n,a,n.path,a)),value:i._parse(new it(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ce.mergeObjectAsync(r,o):Ce.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof F?new t({keyType:e,valueType:r,typeName:b.ZodRecord,...U(n)}):new t({keyType:nr.create(),valueType:e,typeName:b.ZodRecord,...U(r)})}},Sn=class extends F{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.map)return w(n,{code:k.invalid_type,expected:$.map,received:n.parsedType}),A;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new it(n,a,n.path,[u,"key"])),value:s._parse(new it(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};Sn.create=(t,e,r)=>new Sn({valueType:e,keyType:t,typeName:b.ZodMap,...U(r)});var kn=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.set)return w(n,{code:k.invalid_type,expected:$.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(w(n,{code:k.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&&(w(n,{code:k.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return A;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new it(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:R.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};kn.create=(t,e)=>new kn({valueType:t,minSize:null,maxSize:null,typeName:b.ZodSet,...U(e)});var Ms=class t extends F{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.function)return w(r,{code:k.invalid_type,expected:$.function,received:r.parsedType}),A;function n(a,c){return fo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,gn(),Bt].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return fo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,gn(),Bt].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof sr){let a=this;return Ze(async function(...c){let u=new We([]),l=await a._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(n(c,m)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(o(d,m)),u})})}else{let a=this;return Ze(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new We([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new We([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:It.create(e).rest(Kt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||It.create([]).rest(Kt.create()),returns:r||Kt.create(),typeName:b.ZodFunction,...U(n)})}},Dr=class extends F{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Dr.create=(t,e)=>new Dr({getter:t,typeName:b.ZodLazy,...U(e)});var Lr=class extends F{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return w(r,{received:r.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:e.data}}get value(){return this._def.value}};Lr.create=(t,e)=>new Lr({value:t,typeName:b.ZodLiteral,...U(e)});function Cf(t,e){return new Zr({values:t,typeName:b.ZodEnum,...U(e)})}var Zr=class t extends F{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return w(r,{expected:J.joinValues(n),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return w(r,{received:r.data,code:k.invalid_enum_value,options:n}),A}return Ze(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Zr.create=Cf;var Ur=class extends F{_parse(e){let r=J.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==$.string&&n.parsedType!==$.number){let o=J.objectValues(r);return w(n,{expected:J.joinValues(o),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(J.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=J.objectValues(r);return w(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return Ze(e.data)}get enum(){return this._def.values}};Ur.create=(t,e)=>new Ur({values:t,typeName:b.ZodNativeEnum,...U(e)});var sr=class extends F{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.promise&&r.common.async===!1)return w(r,{code:k.invalid_type,expected:$.promise,received:r.parsedType}),A;let n=r.parsedType===$.promise?r.data:Promise.resolve(r.data);return Ze(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};sr.create=(t,e)=>new sr({type:t,typeName:b.ZodPromise,...U(e)});var at=class extends F{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===b.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{w(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 A;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?A:c.status==="dirty"?Rr(c.value):r.value==="dirty"?Rr(c.value):c});{if(r.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?A:a.status==="dirty"?Rr(a.value):r.value==="dirty"?Rr(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"?A:(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"?A:(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(!rr(i))return A;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=>rr(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):A);J.assertNever(o)}};at.create=(t,e,r)=>new at({schema:t,typeName:b.ZodEffects,effect:e,...U(r)});at.createWithPreprocess=(t,e,r)=>new at({schema:e,effect:{type:"preprocess",transform:t},typeName:b.ZodEffects,...U(r)});var Ge=class extends F{_parse(e){return this._getType(e)===$.undefined?Ze(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ge.create=(t,e)=>new Ge({innerType:t,typeName:b.ZodOptional,...U(e)});var zt=class extends F{_parse(e){return this._getType(e)===$.null?Ze(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};zt.create=(t,e)=>new zt({innerType:t,typeName:b.ZodNullable,...U(e)});var Hr=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===$.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Hr.create=(t,e)=>new Hr({innerType:t,typeName:b.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...U(e)});var Fr=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return _n(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new We(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new We(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Fr.create=(t,e)=>new Fr({innerType:t,typeName:b.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...U(e)});var bn=class extends F{_parse(e){if(this._getType(e)!==$.nan){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};bn.create=t=>new bn({typeName:b.ZodNaN,...U(t)});var JS=Symbol("zod_brand"),mo=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},ho=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);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"?A:s.status==="dirty"?(r.dirty(),Rr(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"?A:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:b.ZodPipeline})}},qr=class extends F{_parse(e){let r=this._def.innerType._parse(e),n=o=>(rr(o)&&(o.value=Object.freeze(o.value)),o);return _n(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};qr.create=(t,e)=>new qr({innerType:t,typeName:b.ZodReadonly,...U(e)});function $f(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function If(t,e={},r){return t?or.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=$f(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=$f(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):or.create()}var WS={object:Ye.lazycreate},b;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(b||(b={}));var GS=(t,e={message:`Input not instance of ${t.name}`})=>If(r=>r instanceof t,e),zf=nr.create,Nf=Or.create,YS=bn.create,XS=Cr.create,Af=Ir.create,QS=zr.create,ek=xn.create,tk=Nr.create,rk=Ar.create,nk=or.create,ok=Kt.create,sk=yt.create,ik=vn.create,ak=Jt.create,Ha=Ye.create,ck=Ye.strictCreate,uk=jr.create,lk=As.create,dk=Mr.create,pk=It.create,fk=js.create,mk=Sn.create,hk=kn.create,gk=Ms.create,_k=Dr.create,yk=Lr.create,xk=Zr.create,vk=Ur.create,Sk=sr.create,kk=at.create,bk=Ge.create,wk=zt.create,Ek=at.createWithPreprocess,Tk=ho.create,$k=()=>zf().optional(),Pk=()=>Nf().optional(),Rk=()=>Af().optional(),Ok={string:(t=>nr.create({...t,coerce:!0})),number:(t=>Or.create({...t,coerce:!0})),boolean:(t=>Ir.create({...t,coerce:!0})),bigint:(t=>Cr.create({...t,coerce:!0})),date:(t=>zr.create({...t,coerce:!0}))};var Ck=A;var Ik=Object.freeze({status:"aborted"});function x(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var Wt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ds={};function nt(t){return t&&Object.assign(Ds,t),Ds}var W={};Je(W,{BIGINT_FORMAT_RANGES:()=>Mf,Class:()=>qa,NUMBER_FORMAT_RANGES:()=>Ya,aborted:()=>Vr,allowsEval:()=>Ja,assert:()=>Mk,assertEqual:()=>zk,assertIs:()=>Ak,assertNever:()=>jk,assertNotEqual:()=>Nk,assignProp:()=>Ka,cached:()=>yo,captureStackTrace:()=>Zs,cleanEnum:()=>Gk,cleanRegex:()=>vo,clone:()=>ot,createTransparentProxy:()=>Fk,defineLazy:()=>ce,esc:()=>Br,escapeRegex:()=>ir,extend:()=>Vk,finalizeIssue:()=>xt,floatSafeRemainder:()=>Va,getElementAtPath:()=>Dk,getEnumValues:()=>_o,getLengthableOrigin:()=>So,getParsedType:()=>Hk,getSizableOrigin:()=>Df,isObject:()=>wn,isPlainObject:()=>En,issue:()=>Xa,joinValues:()=>Ls,jsonStringifyReplacer:()=>Ba,merge:()=>Kk,normalizeParams:()=>j,nullish:()=>xo,numKeys:()=>Uk,omit:()=>Bk,optionalKeys:()=>Ga,partial:()=>Jk,pick:()=>qk,prefixIssues:()=>Nt,primitiveTypes:()=>jf,promiseAllObject:()=>Lk,propertyKeyTypes:()=>Wa,randomString:()=>Zk,required:()=>Wk,stringifyPrimitive:()=>Us,unwrapMessage:()=>go});function zk(t){return t}function Nk(t){return t}function Ak(t){}function jk(t){throw new Error}function Mk(t){}function _o(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function Ls(t,e="|"){return t.map(r=>Us(r)).join(e)}function Ba(t,e){return typeof e=="bigint"?e.toString():e}function yo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function xo(t){return t==null}function vo(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Va(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function ce(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function Ka(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Dk(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Lk(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function Zk(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Br(t){return JSON.stringify(t)}var Zs=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function wn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ja=yo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function En(t){if(wn(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(wn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Uk(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Hk=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Wa=new Set(["string","number","symbol"]),jf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ir(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ot(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function j(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Fk(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function Us(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ga(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Ya={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]},Mf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function qk(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return ot(t,{...t._zod.def,shape:r,checks:[]})}function Bk(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return ot(t,{...t._zod.def,shape:r,checks:[]})}function Vk(t,e){if(!En(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return Ka(this,"shape",n),n},checks:[]};return ot(t,r)}function Kk(t,e){return ot(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Ka(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Jk(t,e,r){let n=e._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]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return ot(e,{...e._zod.def,shape:o,checks:[]})}function Wk(t,e,r){let n=e._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 t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return ot(e,{...e._zod.def,shape:o,checks:[]})}function Vr(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Nt(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function go(t){return typeof t=="string"?t:t?.message}function xt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=go(t.inst?._zod.def?.error?.(t))??go(e?.error?.(t))??go(r.customError?.(t))??go(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Df(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function So(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Xa(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Gk(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var qa=class{constructor(...e){}};var Lf=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,Ba,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Hs=x("$ZodError",Lf),ko=x("$ZodError",Lf,{Parent:Error});function Qa(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function ec(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var tc=t=>(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Wt;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>xt(c,s,nt())));throw Zs(a,o?.callee),a}return i.value},rc=tc(ko),nc=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>xt(c,s,nt())));throw Zs(a,o?.callee),a}return i.value},oc=nc(ko),sc=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Wt;return s.issues.length?{success:!1,error:new(t??Hs)(s.issues.map(i=>xt(i,o,nt())))}:{success:!0,data:s.value}},Kr=sc(ko),ic=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>xt(i,o,nt())))}:{success:!0,data:s.value}},Jr=ic(ko);var Zf=/^[cC][^\s-]{8,}$/,Uf=/^[0-9a-z]+$/,Hf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ff=/^[0-9a-vA-V]{20}$/,qf=/^[A-Za-z0-9]{27}$/,Bf=/^[a-zA-Z0-9_-]{21}$/,Vf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Kf=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ac=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var Jf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Xk="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Wf(){return new RegExp(Xk,"u")}var Gf=/^(?:(?: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])$/,Yf=/^(([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})$/,Xf=/^((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])$/,Qf=/^(([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])$/,em=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,cc=/^[A-Za-z0-9_-]*$/,tm=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var rm=/^\+(?:[0-9]){6,14}[0-9]$/,nm="(?:(?:\\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])))",om=new RegExp(`^${nm}$`);function sm(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function im(t){return new RegExp(`^${sm(t)}$`)}function am(t){let e=sm({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${nm}T(?:${n})$`)}var cm=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var um=/^\d+$/,lm=/^-?\d+(?:\.\d+)?/i,dm=/true|false/i,pm=/null/i;var fm=/^[^A-Z]*$/,mm=/^[^a-z]*$/;var Ie=x("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),hm={number:"number",bigint:"bigint",object:"date"},uc=x("$ZodCheckLessThan",(t,e)=>{Ie.init(t,e);let r=hm[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),lc=x("$ZodCheckGreaterThan",(t,e)=>{Ie.init(t,e);let r=hm[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),gm=x("$ZodCheckMultipleOf",(t,e)=>{Ie.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Va(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),_m=x("$ZodCheckNumberFormat",(t,e)=>{Ie.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Ya[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=um)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});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:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var ym=x("$ZodCheckMaxLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!xo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=So(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),xm=x("$ZodCheckMinLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!xo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=So(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),vm=x("$ZodCheckLengthEquals",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!xo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=So(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),bo=x("$ZodCheckStringFormat",(t,e)=>{var r,n;Ie.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Sm=x("$ZodCheckRegex",(t,e)=>{bo.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),km=x("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=fm),bo.init(t,e)}),bm=x("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=mm),bo.init(t,e)}),wm=x("$ZodCheckIncludes",(t,e)=>{Ie.init(t,e);let r=ir(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),Em=x("$ZodCheckStartsWith",(t,e)=>{Ie.init(t,e);let r=new RegExp(`^${ir(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Tm=x("$ZodCheckEndsWith",(t,e)=>{Ie.init(t,e);let r=new RegExp(`.*${ir(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var $m=x("$ZodCheckOverwrite",(t,e)=>{Ie.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var qs=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
26
+ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var nS={};Je(nS,{detectPlatform:()=>rS,getAdapter:()=>FI});import{existsSync as Ht}from"node:fs";import{resolve as Ft}from"node:path";import{homedir as HI}from"node:os";function rS(t){if(t?.name){let n=Fx[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","kilo","opencode","codex","vscode-copilot","cursor","antigravity","kiro","pi","zed"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCLAW_HOME||process.env.OPENCLAW_CLI)return{platform:"openclaw",confidence:"high",reason:"OPENCLAW_HOME or OPENCLAW_CLI env var set"};if(process.env.KILO||process.env.KILO_PID)return{platform:"kilo",confidence:"high",reason:"KILO or KILO_PID env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.CURSOR_TRACE_ID||process.env.CURSOR_CLI)return{platform:"cursor",confidence:"high",reason:"CURSOR_TRACE_ID or CURSOR_CLI env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let r=HI();return Ht(Ft(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Ht(Ft(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Ht(Ft(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Ht(Ft(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Ht(Ft(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Ht(Ft(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Ht(Ft(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Ht(Ft(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Ht(Ft(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Ht(Ft(r,".config","zed"))?{platform:"zed",confidence:"medium",reason:"~/.config/zed/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function FI(t){let e=t??rS().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(jp(),Ap));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(iv(),sv));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(dv(),lv));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(hv(),mv));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(vv(),xv));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(Ev(),wv));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(jv(),Av));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(Uv(),Zv));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(Jv(),Kv));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(tS(),eS));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(jp(),Ap));return new r}}}var oS=$e(()=>{"use strict";qx()});var D={};Je(D,{BRAND:()=>JS,DIRTY:()=>Rr,EMPTY_PATH:()=>TS,INVALID:()=>A,NEVER:()=>Ck,OK:()=>Ze,ParseStatus:()=>Ce,Schema:()=>F,ZodAny:()=>ir,ZodArray:()=>Wt,ZodBigInt:()=>Cr,ZodBoolean:()=>Ir,ZodBranded:()=>mo,ZodCatch:()=>Fr,ZodDate:()=>zr,ZodDefault:()=>Hr,ZodDiscriminatedUnion:()=>As,ZodEffects:()=>ct,ZodEnum:()=>Zr,ZodError:()=>We,ZodFirstPartyTypeKind:()=>b,ZodFunction:()=>Ms,ZodIntersection:()=>Mr,ZodIssueCode:()=>k,ZodLazy:()=>Dr,ZodLiteral:()=>Lr,ZodMap:()=>kn,ZodNaN:()=>wn,ZodNativeEnum:()=>Ur,ZodNever:()=>yt,ZodNull:()=>Ar,ZodNullable:()=>zt,ZodNumber:()=>Or,ZodObject:()=>Ye,ZodOptional:()=>Ge,ZodParsedType:()=>$,ZodPipeline:()=>ho,ZodPromise:()=>ar,ZodReadonly:()=>qr,ZodRecord:()=>js,ZodSchema:()=>F,ZodSet:()=>bn,ZodString:()=>sr,ZodSymbol:()=>vn,ZodTransformer:()=>ct,ZodTuple:()=>It,ZodType:()=>F,ZodUndefined:()=>Nr,ZodUnion:()=>jr,ZodUnknown:()=>Jt,ZodVoid:()=>Sn,addIssueToContext:()=>w,any:()=>nk,array:()=>ak,bigint:()=>XS,boolean:()=>Af,coerce:()=>Ok,custom:()=>If,date:()=>QS,datetimeRegex:()=>Of,defaultErrorMap:()=>Vt,discriminatedUnion:()=>lk,effect:()=>kk,enum:()=>xk,function:()=>gk,getErrorMap:()=>_n,getParsedType:()=>Ct,instanceof:()=>GS,intersection:()=>dk,isAborted:()=>zs,isAsync:()=>yn,isDirty:()=>Ns,isValid:()=>or,late:()=>WS,lazy:()=>_k,literal:()=>yk,makeIssue:()=>fo,map:()=>mk,nan:()=>YS,nativeEnum:()=>vk,never:()=>sk,null:()=>rk,nullable:()=>wk,number:()=>Nf,object:()=>Ha,objectUtil:()=>La,oboolean:()=>Rk,onumber:()=>Pk,optional:()=>bk,ostring:()=>$k,pipeline:()=>Tk,preprocess:()=>Ek,promise:()=>Sk,quotelessJson:()=>bS,record:()=>fk,set:()=>hk,setErrorMap:()=>ES,strictObject:()=>ck,string:()=>zf,symbol:()=>ek,transformer:()=>kk,tuple:()=>pk,undefined:()=>tk,union:()=>uk,unknown:()=>ok,util:()=>J,void:()=>ik});var J;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.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},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.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)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(J||(J={}));var La;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(La||(La={}));var $=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ct=t=>{switch(typeof t){case"undefined":return $.undefined;case"string":return $.string;case"number":return Number.isNaN(t)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":return Array.isArray(t)?$.array:t===null?$.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?$.promise:typeof Map<"u"&&t instanceof Map?$.map:typeof Set<"u"&&t instanceof Set?$.set:typeof Date<"u"&&t instanceof Date?$.date:$.object;default:return $.unknown}};var k=J.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"]),bS=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),We=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,J.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};We.create=t=>new We(t);var wS=(t,e)=>{let r;switch(t.code){case k.invalid_type:t.received===$.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case k.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,J.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:r=`Unrecognized key(s) in object: ${J.joinValues(t.keys,", ")}`;break;case k.invalid_union:r="Invalid input";break;case k.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${J.joinValues(t.options)}`;break;case k.invalid_enum_value:r=`Invalid enum value. Expected ${J.joinValues(t.options)}, received '${t.received}'`;break;case k.invalid_arguments:r="Invalid function arguments";break;case k.invalid_return_type:r="Invalid function return type";break;case k.invalid_date:r="Invalid date";break;case k.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:J.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case k.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case k.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case k.custom:r="Invalid input";break;case k.invalid_intersection_types:r="Intersection results could not be merged";break;case k.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case k.not_finite:r="Number must be finite";break;default:r=e.defaultError,J.assertNever(t)}return{message:r}},Vt=wS;var Ef=Vt;function ES(t){Ef=t}function _n(){return Ef}var fo=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},TS=[];function w(t,e){let r=_n(),n=fo({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Vt?void 0:Vt].filter(o=>!!o)});t.common.issues.push(n)}var Ce=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return A;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return A;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},A=Object.freeze({status:"aborted"}),Rr=t=>({status:"dirty",value:t}),Ze=t=>({status:"valid",value:t}),zs=t=>t.status==="aborted",Ns=t=>t.status==="dirty",or=t=>t.status==="valid",yn=t=>typeof Promise<"u"&&t instanceof Promise;var R;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(R||(R={}));var at=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Tf=(t,e)=>{if(or(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new We(t.common.issues);return this._error=r,this._error}}};function U(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;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 F=class{get description(){return this._def.description}_getType(e){return Ct(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Ct(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ce,ctx:{common:e.parent.common,data:e.data,parsedType:Ct(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(yn(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)},o=this._parseSync({data:e,path:n.path,parent:n});return Tf(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return or(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>or(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(yn(o)?o:Promise.resolve(o));return Tf(n,s)}refine(e,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=e(o),a=()=>s.addIssue({code:k.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new ct({schema:this,typeName:b.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Ge.create(this,this._def)}nullable(){return zt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Wt.create(this)}promise(){return ar.create(this,this._def)}or(e){return jr.create([this,e],this._def)}and(e){return Mr.create(this,e,this._def)}transform(e){return new ct({...U(this._def),schema:this,typeName:b.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Hr({...U(this._def),innerType:this,defaultValue:r,typeName:b.ZodDefault})}brand(){return new mo({typeName:b.ZodBranded,type:this,...U(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Fr({...U(this._def),innerType:this,catchValue:r,typeName:b.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return ho.create(this,e)}readonly(){return qr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},$S=/^c[^\s-]{8,}$/i,PS=/^[0-9a-z]+$/,RS=/^[0-9A-HJKMNP-TV-Z]{26}$/i,OS=/^[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,CS=/^[a-z0-9_-]{21}$/i,IS=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,zS=/^[-+]?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)?)??$/,NS=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,AS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Za,jS=/^(?:(?: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])$/,MS=/^(?:(?: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])$/,DS=/^(([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]))$/,LS=/^(([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])$/,ZS=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,US=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pf="((\\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])))",HS=new RegExp(`^${Pf}$`);function Rf(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function FS(t){return new RegExp(`^${Rf(t)}$`)}function Of(t){let e=`${Pf}T${Rf(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function qS(t,e){return!!((e==="v4"||!e)&&jS.test(t)||(e==="v6"||!e)&&DS.test(t))}function BS(t,e){if(!IS.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function VS(t,e){return!!((e==="v4"||!e)&&MS.test(t)||(e==="v6"||!e)&&LS.test(t))}var sr=class t extends F{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==$.string){let s=this._getOrReturnCtx(e);return w(s,{code:k.invalid_type,expected:$.string,received:s.parsedType}),A}let n=new Ce,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),w(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),w(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?w(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&w(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")NS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"email",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Za||(Za=new RegExp(AS,"u")),Za.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"emoji",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")OS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"uuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")CS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"nanoid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")$S.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"cuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")PS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"cuid2",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")RS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"ulid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),w(o,{validation:"url",code:k.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"regex",code:k.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Of(s).test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?HS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?FS(s).test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{code:k.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?zS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"duration",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?qS(e.data,s.version)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"ip",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?BS(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"jwt",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?VS(e.data,s.version)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"cidr",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?ZS.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"base64",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?US.test(e.data)||(o=this._getOrReturnCtx(e,o),w(o,{validation:"base64url",code:k.invalid_string,message:s.message}),n.dirty()):J.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:k.invalid_string,...R.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...R.errToObj(e)})}url(e){return this._addCheck({kind:"url",...R.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...R.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...R.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...R.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...R.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...R.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...R.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...R.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...R.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...R.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...R.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...R.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...R.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...R.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...R.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...R.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...R.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...R.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...R.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...R.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...R.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...R.errToObj(r)})}nonempty(e){return this.min(1,R.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};sr.create=t=>new sr({checks:[],typeName:b.ZodString,coerce:t?.coerce??!1,...U(t)});function KS(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var Or=class t extends F{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==$.number){let s=this._getOrReturnCtx(e);return w(s,{code:k.invalid_type,expected:$.number,received:s.parsedType}),A}let n,o=new Ce;for(let s of this._def.checks)s.kind==="int"?J.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),w(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?KS(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),w(n,{code:k.not_finite,message:s.message}),o.dirty()):J.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:R.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:R.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&J.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};Or.create=t=>new Or({checks:[],typeName:b.ZodNumber,coerce:t?.coerce||!1,...U(t)});var Cr=class t extends F{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==$.bigint)return this._getInvalidInput(e);let n,o=new Ce;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),w(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):J.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return w(r,{code:k.invalid_type,expected:$.bigint,received:r.parsedType}),A}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Cr.create=t=>new Cr({checks:[],typeName:b.ZodBigInt,coerce:t?.coerce??!1,...U(t)});var Ir=class extends F{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.boolean,received:n.parsedType}),A}return Ze(e.data)}};Ir.create=t=>new Ir({typeName:b.ZodBoolean,coerce:t?.coerce||!1,...U(t)});var zr=class t extends F{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==$.date){let s=this._getOrReturnCtx(e);return w(s,{code:k.invalid_type,expected:$.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return w(s,{code:k.invalid_date}),A}let n=new Ce,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),w(o,{code:k.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),w(o,{code:k.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):J.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:R.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:R.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};zr.create=t=>new zr({checks:[],coerce:t?.coerce||!1,typeName:b.ZodDate,...U(t)});var vn=class extends F{_parse(e){if(this._getType(e)!==$.symbol){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.symbol,received:n.parsedType}),A}return Ze(e.data)}};vn.create=t=>new vn({typeName:b.ZodSymbol,...U(t)});var Nr=class extends F{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.undefined,received:n.parsedType}),A}return Ze(e.data)}};Nr.create=t=>new Nr({typeName:b.ZodUndefined,...U(t)});var Ar=class extends F{_parse(e){if(this._getType(e)!==$.null){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.null,received:n.parsedType}),A}return Ze(e.data)}};Ar.create=t=>new Ar({typeName:b.ZodNull,...U(t)});var ir=class extends F{constructor(){super(...arguments),this._any=!0}_parse(e){return Ze(e.data)}};ir.create=t=>new ir({typeName:b.ZodAny,...U(t)});var Jt=class extends F{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ze(e.data)}};Jt.create=t=>new Jt({typeName:b.ZodUnknown,...U(t)});var yt=class extends F{_parse(e){let r=this._getOrReturnCtx(e);return w(r,{code:k.invalid_type,expected:$.never,received:r.parsedType}),A}};yt.create=t=>new yt({typeName:b.ZodNever,...U(t)});var Sn=class extends F{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.void,received:n.parsedType}),A}return Ze(e.data)}};Sn.create=t=>new Sn({typeName:b.ZodVoid,...U(t)});var Wt=class t extends F{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==$.array)return w(r,{code:k.invalid_type,expected:$.array,received:r.parsedType}),A;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(w(r,{code:i?k.too_big:k.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&&(w(r,{code:k.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&&(w(r,{code:k.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 at(r,i,r.path,a)))).then(i=>Ce.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new at(r,i,r.path,a)));return Ce.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:R.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:R.toString(r)}})}nonempty(e){return this.min(1,e)}};Wt.create=(t,e)=>new Wt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:b.ZodArray,...U(e)});function xn(t){if(t instanceof Ye){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ge.create(xn(n))}return new Ye({...t._def,shape:()=>e})}else return t instanceof Wt?new Wt({...t._def,type:xn(t.element)}):t instanceof Ge?Ge.create(xn(t.unwrap())):t instanceof zt?zt.create(xn(t.unwrap())):t instanceof It?It.create(t.items.map(e=>xn(e))):t}var Ye=class t extends F{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=J.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==$.object){let u=this._getOrReturnCtx(e);return w(u,{code:k.invalid_type,expected:$.object,received:u.parsedType}),A}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof yt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new at(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof yt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(w(o,{code:k.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new at(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,f=await l.value;u.push({key:d,value:f,alwaysSet:l.alwaysSet})}return u}).then(u=>Ce.mergeObjectSync(n,u)):Ce.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return R.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:R.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:b.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of J.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of J.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return xn(this)}partial(e){let r={};for(let n of J.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of J.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Ge;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return Cf(J.objectKeys(this.shape))}};Ye.create=(t,e)=>new Ye({shape:()=>t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Ye.strictCreate=(t,e)=>new Ye({shape:()=>t,unknownKeys:"strict",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Ye.lazycreate=(t,e)=>new Ye({shape:t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});var jr=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),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 We(a.ctx.common.issues));return w(r,{code:k.invalid_union,unionErrors:i}),A}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new We(c));return w(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};jr.create=(t,e)=>new jr({options:t,typeName:b.ZodUnion,...U(e)});var Kt=t=>t instanceof Dr?Kt(t.schema):t instanceof ct?Kt(t.innerType()):t instanceof Lr?[t.value]:t instanceof Zr?t.options:t instanceof Ur?J.objectValues(t.enum):t instanceof Hr?Kt(t._def.innerType):t instanceof Nr?[void 0]:t instanceof Ar?[null]:t instanceof Ge?[void 0,...Kt(t.unwrap())]:t instanceof zt?[null,...Kt(t.unwrap())]:t instanceof mo||t instanceof qr?Kt(t.unwrap()):t instanceof Fr?Kt(t._def.innerType):[],As=class t extends F{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return w(r,{code:k.invalid_type,expected:$.object,received:r.parsedType}),A;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}):(w(r,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Kt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:b.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...U(n)})}};function Ua(t,e){let r=Ct(t),n=Ct(e);if(t===e)return{valid:!0,data:t};if(r===$.object&&n===$.object){let o=J.objectKeys(e),s=J.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Ua(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===$.array&&n===$.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=Ua(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===$.date&&n===$.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Mr=class extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(zs(s)||zs(i))return A;let a=Ua(s.value,i.value);return a.valid?((Ns(s)||Ns(i))&&r.dirty(),{status:r.value,value:a.data}):(w(n,{code:k.invalid_intersection_types}),A)};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}))}};Mr.create=(t,e,r)=>new Mr({left:t,right:e,typeName:b.ZodIntersection,...U(r)});var It=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.array)return w(n,{code:k.invalid_type,expected:$.array,received:n.parsedType}),A;if(n.data.length<this._def.items.length)return w(n,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&n.data.length>this._def.items.length&&(w(n,{code:k.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 at(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ce.mergeArray(r,i)):Ce.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};It.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new It({items:t,typeName:b.ZodTuple,rest:null,...U(e)})};var js=class t extends F{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.object)return w(n,{code:k.invalid_type,expected:$.object,received:n.parsedType}),A;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new at(n,a,n.path,a)),value:i._parse(new at(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ce.mergeObjectAsync(r,o):Ce.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof F?new t({keyType:e,valueType:r,typeName:b.ZodRecord,...U(n)}):new t({keyType:sr.create(),valueType:e,typeName:b.ZodRecord,...U(r)})}},kn=class extends F{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.map)return w(n,{code:k.invalid_type,expected:$.map,received:n.parsedType}),A;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new at(n,a,n.path,[u,"key"])),value:s._parse(new at(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};kn.create=(t,e,r)=>new kn({valueType:e,keyType:t,typeName:b.ZodMap,...U(r)});var bn=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.set)return w(n,{code:k.invalid_type,expected:$.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(w(n,{code:k.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&&(w(n,{code:k.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return A;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new at(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:R.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};bn.create=(t,e)=>new bn({valueType:t,minSize:null,maxSize:null,typeName:b.ZodSet,...U(e)});var Ms=class t extends F{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.function)return w(r,{code:k.invalid_type,expected:$.function,received:r.parsedType}),A;function n(a,c){return fo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,_n(),Vt].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return fo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,_n(),Vt].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof ar){let a=this;return Ze(async function(...c){let u=new We([]),l=await a._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(n(c,m)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(o(d,m)),u})})}else{let a=this;return Ze(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new We([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new We([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:It.create(e).rest(Jt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||It.create([]).rest(Jt.create()),returns:r||Jt.create(),typeName:b.ZodFunction,...U(n)})}},Dr=class extends F{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Dr.create=(t,e)=>new Dr({getter:t,typeName:b.ZodLazy,...U(e)});var Lr=class extends F{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return w(r,{received:r.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:e.data}}get value(){return this._def.value}};Lr.create=(t,e)=>new Lr({value:t,typeName:b.ZodLiteral,...U(e)});function Cf(t,e){return new Zr({values:t,typeName:b.ZodEnum,...U(e)})}var Zr=class t extends F{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return w(r,{expected:J.joinValues(n),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return w(r,{received:r.data,code:k.invalid_enum_value,options:n}),A}return Ze(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Zr.create=Cf;var Ur=class extends F{_parse(e){let r=J.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==$.string&&n.parsedType!==$.number){let o=J.objectValues(r);return w(n,{expected:J.joinValues(o),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(J.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=J.objectValues(r);return w(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return Ze(e.data)}get enum(){return this._def.values}};Ur.create=(t,e)=>new Ur({values:t,typeName:b.ZodNativeEnum,...U(e)});var ar=class extends F{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.promise&&r.common.async===!1)return w(r,{code:k.invalid_type,expected:$.promise,received:r.parsedType}),A;let n=r.parsedType===$.promise?r.data:Promise.resolve(r.data);return Ze(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};ar.create=(t,e)=>new ar({type:t,typeName:b.ZodPromise,...U(e)});var ct=class extends F{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===b.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{w(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 A;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?A:c.status==="dirty"?Rr(c.value):r.value==="dirty"?Rr(c.value):c});{if(r.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?A:a.status==="dirty"?Rr(a.value):r.value==="dirty"?Rr(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"?A:(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"?A:(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(!or(i))return A;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=>or(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):A);J.assertNever(o)}};ct.create=(t,e,r)=>new ct({schema:t,typeName:b.ZodEffects,effect:e,...U(r)});ct.createWithPreprocess=(t,e,r)=>new ct({schema:e,effect:{type:"preprocess",transform:t},typeName:b.ZodEffects,...U(r)});var Ge=class extends F{_parse(e){return this._getType(e)===$.undefined?Ze(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ge.create=(t,e)=>new Ge({innerType:t,typeName:b.ZodOptional,...U(e)});var zt=class extends F{_parse(e){return this._getType(e)===$.null?Ze(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};zt.create=(t,e)=>new zt({innerType:t,typeName:b.ZodNullable,...U(e)});var Hr=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===$.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Hr.create=(t,e)=>new Hr({innerType:t,typeName:b.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...U(e)});var Fr=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return yn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new We(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new We(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Fr.create=(t,e)=>new Fr({innerType:t,typeName:b.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...U(e)});var wn=class extends F{_parse(e){if(this._getType(e)!==$.nan){let n=this._getOrReturnCtx(e);return w(n,{code:k.invalid_type,expected:$.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};wn.create=t=>new wn({typeName:b.ZodNaN,...U(t)});var JS=Symbol("zod_brand"),mo=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},ho=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);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"?A:s.status==="dirty"?(r.dirty(),Rr(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"?A:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:b.ZodPipeline})}},qr=class extends F{_parse(e){let r=this._def.innerType._parse(e),n=o=>(or(o)&&(o.value=Object.freeze(o.value)),o);return yn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};qr.create=(t,e)=>new qr({innerType:t,typeName:b.ZodReadonly,...U(e)});function $f(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function If(t,e={},r){return t?ir.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=$f(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=$f(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):ir.create()}var WS={object:Ye.lazycreate},b;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(b||(b={}));var GS=(t,e={message:`Input not instance of ${t.name}`})=>If(r=>r instanceof t,e),zf=sr.create,Nf=Or.create,YS=wn.create,XS=Cr.create,Af=Ir.create,QS=zr.create,ek=vn.create,tk=Nr.create,rk=Ar.create,nk=ir.create,ok=Jt.create,sk=yt.create,ik=Sn.create,ak=Wt.create,Ha=Ye.create,ck=Ye.strictCreate,uk=jr.create,lk=As.create,dk=Mr.create,pk=It.create,fk=js.create,mk=kn.create,hk=bn.create,gk=Ms.create,_k=Dr.create,yk=Lr.create,xk=Zr.create,vk=Ur.create,Sk=ar.create,kk=ct.create,bk=Ge.create,wk=zt.create,Ek=ct.createWithPreprocess,Tk=ho.create,$k=()=>zf().optional(),Pk=()=>Nf().optional(),Rk=()=>Af().optional(),Ok={string:(t=>sr.create({...t,coerce:!0})),number:(t=>Or.create({...t,coerce:!0})),boolean:(t=>Ir.create({...t,coerce:!0})),bigint:(t=>Cr.create({...t,coerce:!0})),date:(t=>zr.create({...t,coerce:!0}))};var Ck=A;var Ik=Object.freeze({status:"aborted"});function x(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var Gt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ds={};function nt(t){return t&&Object.assign(Ds,t),Ds}var W={};Je(W,{BIGINT_FORMAT_RANGES:()=>Mf,Class:()=>qa,NUMBER_FORMAT_RANGES:()=>Ya,aborted:()=>Vr,allowsEval:()=>Ja,assert:()=>Mk,assertEqual:()=>zk,assertIs:()=>Ak,assertNever:()=>jk,assertNotEqual:()=>Nk,assignProp:()=>Ka,cached:()=>yo,captureStackTrace:()=>Zs,cleanEnum:()=>Gk,cleanRegex:()=>vo,clone:()=>ot,createTransparentProxy:()=>Fk,defineLazy:()=>ce,esc:()=>Br,escapeRegex:()=>cr,extend:()=>Vk,finalizeIssue:()=>xt,floatSafeRemainder:()=>Va,getElementAtPath:()=>Dk,getEnumValues:()=>_o,getLengthableOrigin:()=>So,getParsedType:()=>Hk,getSizableOrigin:()=>Df,isObject:()=>En,isPlainObject:()=>Tn,issue:()=>Xa,joinValues:()=>Ls,jsonStringifyReplacer:()=>Ba,merge:()=>Kk,normalizeParams:()=>j,nullish:()=>xo,numKeys:()=>Uk,omit:()=>Bk,optionalKeys:()=>Ga,partial:()=>Jk,pick:()=>qk,prefixIssues:()=>Nt,primitiveTypes:()=>jf,promiseAllObject:()=>Lk,propertyKeyTypes:()=>Wa,randomString:()=>Zk,required:()=>Wk,stringifyPrimitive:()=>Us,unwrapMessage:()=>go});function zk(t){return t}function Nk(t){return t}function Ak(t){}function jk(t){throw new Error}function Mk(t){}function _o(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function Ls(t,e="|"){return t.map(r=>Us(r)).join(e)}function Ba(t,e){return typeof e=="bigint"?e.toString():e}function yo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function xo(t){return t==null}function vo(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Va(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function ce(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function Ka(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Dk(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Lk(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function Zk(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Br(t){return JSON.stringify(t)}var Zs=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function En(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ja=yo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Tn(t){if(En(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(En(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Uk(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Hk=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Wa=new Set(["string","number","symbol"]),jf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function cr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ot(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function j(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Fk(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function Us(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ga(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Ya={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]},Mf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function qk(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return ot(t,{...t._zod.def,shape:r,checks:[]})}function Bk(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return ot(t,{...t._zod.def,shape:r,checks:[]})}function Vk(t,e){if(!Tn(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return Ka(this,"shape",n),n},checks:[]};return ot(t,r)}function Kk(t,e){return ot(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Ka(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Jk(t,e,r){let n=e._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]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return ot(e,{...e._zod.def,shape:o,checks:[]})}function Wk(t,e,r){let n=e._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 t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return ot(e,{...e._zod.def,shape:o,checks:[]})}function Vr(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Nt(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function go(t){return typeof t=="string"?t:t?.message}function xt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=go(t.inst?._zod.def?.error?.(t))??go(e?.error?.(t))??go(r.customError?.(t))??go(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Df(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function So(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Xa(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Gk(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var qa=class{constructor(...e){}};var Lf=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,Ba,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Hs=x("$ZodError",Lf),ko=x("$ZodError",Lf,{Parent:Error});function Qa(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function ec(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var tc=t=>(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Gt;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>xt(c,s,nt())));throw Zs(a,o?.callee),a}return i.value},rc=tc(ko),nc=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>xt(c,s,nt())));throw Zs(a,o?.callee),a}return i.value},oc=nc(ko),sc=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Gt;return s.issues.length?{success:!1,error:new(t??Hs)(s.issues.map(i=>xt(i,o,nt())))}:{success:!0,data:s.value}},Kr=sc(ko),ic=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>xt(i,o,nt())))}:{success:!0,data:s.value}},Jr=ic(ko);var Zf=/^[cC][^\s-]{8,}$/,Uf=/^[0-9a-z]+$/,Hf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ff=/^[0-9a-vA-V]{20}$/,qf=/^[A-Za-z0-9]{27}$/,Bf=/^[a-zA-Z0-9_-]{21}$/,Vf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Kf=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ac=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var Jf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Xk="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Wf(){return new RegExp(Xk,"u")}var Gf=/^(?:(?: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])$/,Yf=/^(([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})$/,Xf=/^((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])$/,Qf=/^(([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])$/,em=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,cc=/^[A-Za-z0-9_-]*$/,tm=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var rm=/^\+(?:[0-9]){6,14}[0-9]$/,nm="(?:(?:\\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])))",om=new RegExp(`^${nm}$`);function sm(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function im(t){return new RegExp(`^${sm(t)}$`)}function am(t){let e=sm({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${nm}T(?:${n})$`)}var cm=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var um=/^\d+$/,lm=/^-?\d+(?:\.\d+)?/i,dm=/true|false/i,pm=/null/i;var fm=/^[^A-Z]*$/,mm=/^[^a-z]*$/;var Ie=x("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),hm={number:"number",bigint:"bigint",object:"date"},uc=x("$ZodCheckLessThan",(t,e)=>{Ie.init(t,e);let r=hm[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),lc=x("$ZodCheckGreaterThan",(t,e)=>{Ie.init(t,e);let r=hm[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),gm=x("$ZodCheckMultipleOf",(t,e)=>{Ie.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Va(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),_m=x("$ZodCheckNumberFormat",(t,e)=>{Ie.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Ya[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=um)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});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:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var ym=x("$ZodCheckMaxLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!xo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=So(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),xm=x("$ZodCheckMinLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!xo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=So(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),vm=x("$ZodCheckLengthEquals",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!xo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=So(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),bo=x("$ZodCheckStringFormat",(t,e)=>{var r,n;Ie.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Sm=x("$ZodCheckRegex",(t,e)=>{bo.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),km=x("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=fm),bo.init(t,e)}),bm=x("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=mm),bo.init(t,e)}),wm=x("$ZodCheckIncludes",(t,e)=>{Ie.init(t,e);let r=cr(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),Em=x("$ZodCheckStartsWith",(t,e)=>{Ie.init(t,e);let r=new RegExp(`^${cr(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Tm=x("$ZodCheckEndsWith",(t,e)=>{Ie.init(t,e);let r=new RegExp(`.*${cr(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var $m=x("$ZodCheckOverwrite",(t,e)=>{Ie.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var qs=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
27
27
  `).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 e=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new e(...r,o.join(`
28
- `))}};var Rm={major:4,minor:0,patch:0};var ne=x("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Rm;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=Vr(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=l._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new Wt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=Vr(s,d)))});else{if(s.issues.length===d)continue;c||(c=Vr(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new Wt;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Kr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Jr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),wo=x("$ZodString",(t,e)=>{ne.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??cm(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),ue=x("$ZodStringFormat",(t,e)=>{bo.init(t,e),wo.init(t,e)}),pc=x("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Kf),ue.init(t,e)}),fc=x("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ac(n))}else e.pattern??(e.pattern=ac());ue.init(t,e)}),mc=x("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Jf),ue.init(t,e)}),hc=x("$ZodURL",(t,e)=>{ue.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:tm.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&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:t,continue:!e.abort})}}}),gc=x("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Wf()),ue.init(t,e)}),_c=x("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Bf),ue.init(t,e)}),yc=x("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Zf),ue.init(t,e)}),xc=x("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=Uf),ue.init(t,e)}),vc=x("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Hf),ue.init(t,e)}),Sc=x("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Ff),ue.init(t,e)}),kc=x("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=qf),ue.init(t,e)}),Lm=x("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=am(e)),ue.init(t,e)}),Zm=x("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=om),ue.init(t,e)}),Um=x("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=im(e)),ue.init(t,e)}),Hm=x("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Vf),ue.init(t,e)}),bc=x("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Gf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),wc=x("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Yf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Ec=x("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=Xf),ue.init(t,e)}),Tc=x("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=Qf),ue.init(t,e),t._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:t,continue:!e.abort})}}});function Fm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var $c=x("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=em),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Fm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Qk(t){if(!cc.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Fm(r)}var Pc=x("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=cc),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{Qk(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Rc=x("$ZodE164",(t,e)=>{e.pattern??(e.pattern=rm),ue.init(t,e)});function eb(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var Oc=x("$ZodJWT",(t,e)=>{ue.init(t,e),t._zod.check=r=>{eb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Vs=x("$ZodNumber",(t,e)=>{ne.init(t,e),t._zod.pattern=t._zod.bag.pattern??lm,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let 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:t,...s?{received:s}:{}}),r}}),Cc=x("$ZodNumber",(t,e)=>{_m.init(t,e),Vs.init(t,e)}),Ic=x("$ZodBoolean",(t,e)=>{ne.init(t,e),t._zod.pattern=dm,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}});var zc=x("$ZodNull",(t,e)=>{ne.init(t,e),t._zod.pattern=pm,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}});var Nc=x("$ZodUnknown",(t,e)=>{ne.init(t,e),t._zod.parse=r=>r}),Ac=x("$ZodNever",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Om(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var jc=x("$ZodArray",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Om(u,r,i))):Om(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Bs(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}function Cm(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...Nt(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Ks=x("$ZodObject",(t,e)=>{ne.init(t,e);let r=yo(()=>{let d=Object.keys(e.shape);for(let m of d)if(!(e.shape[m]instanceof ne))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let f=Ga(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});ce(t._zod,"propValues",()=>{let d=e.shape,f={};for(let m in d){let p=d[m]._zod;if(p.values){f[m]??(f[m]=new Set);for(let h of p.values)f[m].add(h)}}return f});let n=d=>{let f=new qs(["shape","payload","ctx"]),m=r.value,p=v=>{let S=Br(v);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),g=0;for(let v of m.keys)h[v]=`key_${g++}`;f.write("const newResult = {}");for(let v of m.keys)if(m.optionalKeys.has(v)){let S=h[v];f.write(`const ${S} = ${p(v)};`);let E=Br(v);f.write(`
28
+ `))}};var Rm={major:4,minor:0,patch:0};var ne=x("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Rm;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=Vr(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=l._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new Gt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=Vr(s,d)))});else{if(s.issues.length===d)continue;c||(c=Vr(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new Gt;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Kr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Jr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),wo=x("$ZodString",(t,e)=>{ne.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??cm(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),ue=x("$ZodStringFormat",(t,e)=>{bo.init(t,e),wo.init(t,e)}),pc=x("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Kf),ue.init(t,e)}),fc=x("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ac(n))}else e.pattern??(e.pattern=ac());ue.init(t,e)}),mc=x("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Jf),ue.init(t,e)}),hc=x("$ZodURL",(t,e)=>{ue.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:tm.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&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:t,continue:!e.abort})}}}),gc=x("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Wf()),ue.init(t,e)}),_c=x("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Bf),ue.init(t,e)}),yc=x("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Zf),ue.init(t,e)}),xc=x("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=Uf),ue.init(t,e)}),vc=x("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Hf),ue.init(t,e)}),Sc=x("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Ff),ue.init(t,e)}),kc=x("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=qf),ue.init(t,e)}),Lm=x("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=am(e)),ue.init(t,e)}),Zm=x("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=om),ue.init(t,e)}),Um=x("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=im(e)),ue.init(t,e)}),Hm=x("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Vf),ue.init(t,e)}),bc=x("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Gf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),wc=x("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Yf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Ec=x("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=Xf),ue.init(t,e)}),Tc=x("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=Qf),ue.init(t,e),t._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:t,continue:!e.abort})}}});function Fm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var $c=x("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=em),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Fm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Qk(t){if(!cc.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Fm(r)}var Pc=x("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=cc),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{Qk(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Rc=x("$ZodE164",(t,e)=>{e.pattern??(e.pattern=rm),ue.init(t,e)});function eb(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var Oc=x("$ZodJWT",(t,e)=>{ue.init(t,e),t._zod.check=r=>{eb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Vs=x("$ZodNumber",(t,e)=>{ne.init(t,e),t._zod.pattern=t._zod.bag.pattern??lm,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let 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:t,...s?{received:s}:{}}),r}}),Cc=x("$ZodNumber",(t,e)=>{_m.init(t,e),Vs.init(t,e)}),Ic=x("$ZodBoolean",(t,e)=>{ne.init(t,e),t._zod.pattern=dm,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}});var zc=x("$ZodNull",(t,e)=>{ne.init(t,e),t._zod.pattern=pm,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}});var Nc=x("$ZodUnknown",(t,e)=>{ne.init(t,e),t._zod.parse=r=>r}),Ac=x("$ZodNever",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Om(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var jc=x("$ZodArray",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Om(u,r,i))):Om(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Bs(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}function Cm(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...Nt(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Ks=x("$ZodObject",(t,e)=>{ne.init(t,e);let r=yo(()=>{let d=Object.keys(e.shape);for(let m of d)if(!(e.shape[m]instanceof ne))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let f=Ga(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});ce(t._zod,"propValues",()=>{let d=e.shape,f={};for(let m in d){let p=d[m]._zod;if(p.values){f[m]??(f[m]=new Set);for(let h of p.values)f[m].add(h)}}return f});let n=d=>{let f=new qs(["shape","payload","ctx"]),m=r.value,p=v=>{let S=Br(v);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),g=0;for(let v of m.keys)h[v]=`key_${g++}`;f.write("const newResult = {}");for(let v of m.keys)if(m.optionalKeys.has(v)){let S=h[v];f.write(`const ${S} = ${p(v)};`);let E=Br(v);f.write(`
29
29
  if (${S}.issues.length) {
30
30
  if (input[${E}] === undefined) {
31
31
  if (${E} in input) {
@@ -48,16 +48,16 @@ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_inde
48
48
  if (${S}.issues.length) payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
49
49
  ...iss,
50
50
  path: iss.path ? [${Br(v)}, ...iss.path] : [${Br(v)}]
51
- })));`),f.write(`newResult[${Br(v)}] = ${S}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let _=f.compile();return(v,S)=>_(d,v,S)},o,s=wn,i=!Ds.jitless,c=i&&Ja.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let p=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let S=l.shape;for(let E of l.keys){let z=S[E],de=z._zod.run({value:m[E],issues:[]},f),Te=z._zod.optin==="optional"&&z._zod.optout==="optional";de instanceof Promise?p.push(de.then(K=>Te?Cm(K,d,E,m):Bs(K,d,E))):Te?Cm(de,d,E,m):Bs(de,d,E)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,_=u._zod,v=_.def.type;for(let S of Object.keys(m)){if(g.has(S))continue;if(v==="never"){h.push(S);continue}let E=_.run({value:m[S],issues:[]},f);E instanceof Promise?p.push(E.then(z=>Bs(z,d,S))):Bs(E,d,S)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:m,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function Im(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>xt(s,n,nt())))}),e}var Js=x("$ZodUnion",(t,e)=>{ne.init(t,e),ce(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ce(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ce(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),ce(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>vo(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.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,t,n)):Im(s,r,t,n)}}),Mc=x("$ZodDiscriminatedUnion",(t,e)=>{Js.init(t,e);let r=t._zod.parse;ce(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=yo(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.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});t._zod.parse=(o,s)=>{let i=o.value;if(!wn(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),Dc=x("$ZodIntersection",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>zm(r,c,u)):zm(r,s,i)}});function dc(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(En(t)&&En(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=dc(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=dc(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 zm(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Vr(t))return t;let n=dc(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}var Lc=x("$ZodRecord",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!En(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Nt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Nt(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>xt(u,n,nt())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Nt(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Nt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Zc=x("$ZodEnum",(t,e)=>{ne.init(t,e);let r=_o(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Wa.has(typeof n)).map(n=>typeof n=="string"?ir(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),Uc=x("$ZodLiteral",(t,e)=>{ne.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?ir(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var Hc=x("$ZodTransform",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new Wt;return r.value=o,r}}),Fc=x("$ZodOptional",(t,e)=>{ne.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${vo(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),qc=x("$ZodNullable",(t,e)=>{ne.init(t,e),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${vo(r.source)}|null)$`):void 0}),ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Bc=x("$ZodDefault",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Nm(s,e)):Nm(o,e)}});function Nm(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Vc=x("$ZodPrefault",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Kc=x("$ZodNonOptional",(t,e)=>{ne.init(t,e),ce(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Am(s,t)):Am(o,t)}});function Am(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Jc=x("$ZodCatch",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>xt(i,n,nt()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>xt(s,n,nt()))},input:r.value}),r.issues=[]),r)}});var Wc=x("$ZodPipe",(t,e)=>{ne.init(t,e),ce(t._zod,"values",()=>e.in._zod.values),ce(t._zod,"optin",()=>e.in._zod.optin),ce(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>jm(s,e,n)):jm(o,e,n)}});function jm(t,e,r){return Vr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Gc=x("$ZodReadonly",(t,e)=>{ne.init(t,e),ce(t._zod,"propValues",()=>e.innerType._zod.propValues),ce(t._zod,"values",()=>e.innerType._zod.values),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(Mm):Mm(o)}});function Mm(t){return t.value=Object.freeze(t.value),t}var Yc=x("$ZodCustom",(t,e)=>{Ie.init(t,e),ne.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>Dm(s,r,n,t));Dm(o,r,n,t)}});function Dm(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(Xa(o))}}var tb=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},rb=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${tb(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Us(n.values[0])}`:`Invalid option: expected one of ${Ls(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(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=e(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":""}: ${Ls(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 qm(){return{localeError:rb()}}var Eo=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Bm(){return new Eo}var ar=Bm();function Xc(t,e){return new t({type:"string",...j(e)})}function Qc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...j(e)})}function Ws(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...j(e)})}function eu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...j(e)})}function tu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(e)})}function ru(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(e)})}function nu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(e)})}function ou(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...j(e)})}function su(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...j(e)})}function iu(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(e)})}function au(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...j(e)})}function cu(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(e)})}function uu(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...j(e)})}function lu(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...j(e)})}function du(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(e)})}function pu(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(e)})}function fu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(e)})}function mu(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(e)})}function hu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(e)})}function gu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...j(e)})}function _u(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...j(e)})}function yu(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...j(e)})}function xu(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...j(e)})}function Vm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function Km(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function Jm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function Wm(t,e){return new t({type:"string",format:"duration",check:"string_format",...j(e)})}function vu(t,e){return new t({type:"number",checks:[],...j(e)})}function Su(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...j(e)})}function ku(t,e){return new t({type:"boolean",...j(e)})}function bu(t,e){return new t({type:"null",...j(e)})}function wu(t){return new t({type:"unknown"})}function Eu(t,e){return new t({type:"never",...j(e)})}function Gs(t,e){return new uc({check:"less_than",...j(e),value:t,inclusive:!1})}function To(t,e){return new uc({check:"less_than",...j(e),value:t,inclusive:!0})}function Ys(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!1})}function $o(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!0})}function Xs(t,e){return new gm({check:"multiple_of",...j(e),value:t})}function Qs(t,e){return new ym({check:"max_length",...j(e),maximum:t})}function Tn(t,e){return new xm({check:"min_length",...j(e),minimum:t})}function ei(t,e){return new vm({check:"length_equals",...j(e),length:t})}function Tu(t,e){return new Sm({check:"string_format",format:"regex",...j(e),pattern:t})}function $u(t){return new km({check:"string_format",format:"lowercase",...j(t)})}function Pu(t){return new bm({check:"string_format",format:"uppercase",...j(t)})}function Ru(t,e){return new wm({check:"string_format",format:"includes",...j(e),includes:t})}function Ou(t,e){return new Em({check:"string_format",format:"starts_with",...j(e),prefix:t})}function Cu(t,e){return new Tm({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Wr(t){return new $m({check:"overwrite",tx:t})}function Iu(t){return Wr(e=>e.normalize(t))}function zu(){return Wr(t=>t.trim())}function Nu(){return Wr(t=>t.toLowerCase())}function Au(){return Wr(t=>t.toUpperCase())}function Gm(t,e,r){return new t({type:"array",element:e,...j(r)})}function ju(t,e,r){let n=j(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Mu(t,e,r){return new t({type:"custom",check:"custom",fn:e,...j(r)})}var ti=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??ar,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)a.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let m=a.schema;switch(o.type){case"string":{let p=m;p.type="string";let{minimum:h,maximum:g,format:_,patterns:v,contentEncoding:S}=e._zod.bag;if(typeof h=="number"&&(p.minLength=h),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),S&&(p.contentEncoding=S),v&&v.size>0){let E=[...v];E.length===1?p.pattern=E[0].source:E.length>1&&(a.schema.allOf=[...E.map(z=>({...this.target==="draft-7"?{type:"string"}:{},pattern:z.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:_,multipleOf:v,exclusiveMaximum:S,exclusiveMinimum:E}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof E=="number"&&(p.exclusiveMinimum=E),typeof h=="number"&&(p.minimum=h,typeof E=="number"&&(E>=h?delete p.minimum:delete p.exclusiveMinimum)),typeof S=="number"&&(p.exclusiveMaximum=S),typeof g=="number"&&(p.maximum=g,typeof S=="number"&&(S<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof v=="number"&&(p.multipleOf=v);break}case"boolean":{let p=m;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{m.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":{m.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=m,{minimum:h,maximum:g}=e._zod.bag;typeof h=="number"&&(p.minItems=h),typeof g=="number"&&(p.maxItems=g),p.type="array",p.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let p=m;p.type="object",p.properties={};let h=o.shape;for(let v in h)p.properties[v]=this.process(h[v],{...d,path:[...d.path,"properties",v]});let g=new Set(Object.keys(h)),_=new Set([...g].filter(v=>{let S=o.shape[v]._zod;return this.io==="input"?S.optin===void 0:S.optout===void 0}));_.size>0&&(p.required=Array.from(_)),o.catchall?._zod.def.type==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{let p=m;p.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=m,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=S=>"allOf"in S&&Object.keys(S).length===1,v=[..._(h)?h.allOf:[h],..._(g)?g.allOf:[g]];p.allOf=v;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((v,S)=>this.process(v,{...d,path:[...d.path,"prefixItems",S]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let v=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=v:p.additionalItems=v}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:_}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof _=="number"&&(p.maxItems=_);break}case"record":{let p=m;p.type="object",p.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let p=m,h=_o(o.entries);h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),p.enum=h;break}case"literal":{let p=m,h=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){let g=h[0];p.type=g===null?"null":typeof g,p.const=g}else h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),h.every(g=>typeof g=="boolean")&&(p.type="string"),h.every(g=>g===null)&&(p.type="null"),p.enum=h;break}case"file":{let p=m,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:v}=e._zod.bag;g!==void 0&&(h.minLength=g),_!==void 0&&(h.maxLength=_),v?v.length===1?(h.contentMediaType=v[0],Object.assign(p,h)):p.anyOf=v.map(S=>({...h,contentMediaType:S})):Object.assign(p,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let p=this.process(o.innerType,d);m.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=m;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,m.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(m._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}m.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let p=m,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=h.source;break}case"pipe":{let p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,m.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let p=e._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&Pe(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(l[0])?.id,g=n.external.uri??(v=>v);if(h)return{ref:g(h)};let _=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=_,{defId:_,ref:`${g("__shared")}#/${d}/${_}`}}if(l[1]===o)return{ref:"#"};let m=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:m+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:m}=s(l);d.def={...d.schema},m&&(d.defId=m);let p=d.schema;for(let h in p)delete p[h];p.$ref=f};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/<root>
51
+ })));`),f.write(`newResult[${Br(v)}] = ${S}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let _=f.compile();return(v,S)=>_(d,v,S)},o,s=En,i=!Ds.jitless,c=i&&Ja.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let p=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let S=l.shape;for(let E of l.keys){let z=S[E],de=z._zod.run({value:m[E],issues:[]},f),Te=z._zod.optin==="optional"&&z._zod.optout==="optional";de instanceof Promise?p.push(de.then(K=>Te?Cm(K,d,E,m):Bs(K,d,E))):Te?Cm(de,d,E,m):Bs(de,d,E)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,_=u._zod,v=_.def.type;for(let S of Object.keys(m)){if(g.has(S))continue;if(v==="never"){h.push(S);continue}let E=_.run({value:m[S],issues:[]},f);E instanceof Promise?p.push(E.then(z=>Bs(z,d,S))):Bs(E,d,S)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:m,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function Im(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>xt(s,n,nt())))}),e}var Js=x("$ZodUnion",(t,e)=>{ne.init(t,e),ce(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ce(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ce(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),ce(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>vo(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.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,t,n)):Im(s,r,t,n)}}),Mc=x("$ZodDiscriminatedUnion",(t,e)=>{Js.init(t,e);let r=t._zod.parse;ce(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=yo(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.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});t._zod.parse=(o,s)=>{let i=o.value;if(!En(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),Dc=x("$ZodIntersection",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>zm(r,c,u)):zm(r,s,i)}});function dc(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Tn(t)&&Tn(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=dc(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=dc(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 zm(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Vr(t))return t;let n=dc(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}var Lc=x("$ZodRecord",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Tn(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Nt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Nt(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>xt(u,n,nt())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Nt(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Nt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Zc=x("$ZodEnum",(t,e)=>{ne.init(t,e);let r=_o(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Wa.has(typeof n)).map(n=>typeof n=="string"?cr(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),Uc=x("$ZodLiteral",(t,e)=>{ne.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?cr(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var Hc=x("$ZodTransform",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new Gt;return r.value=o,r}}),Fc=x("$ZodOptional",(t,e)=>{ne.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${vo(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),qc=x("$ZodNullable",(t,e)=>{ne.init(t,e),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${vo(r.source)}|null)$`):void 0}),ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Bc=x("$ZodDefault",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Nm(s,e)):Nm(o,e)}});function Nm(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Vc=x("$ZodPrefault",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Kc=x("$ZodNonOptional",(t,e)=>{ne.init(t,e),ce(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Am(s,t)):Am(o,t)}});function Am(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Jc=x("$ZodCatch",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>xt(i,n,nt()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>xt(s,n,nt()))},input:r.value}),r.issues=[]),r)}});var Wc=x("$ZodPipe",(t,e)=>{ne.init(t,e),ce(t._zod,"values",()=>e.in._zod.values),ce(t._zod,"optin",()=>e.in._zod.optin),ce(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>jm(s,e,n)):jm(o,e,n)}});function jm(t,e,r){return Vr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Gc=x("$ZodReadonly",(t,e)=>{ne.init(t,e),ce(t._zod,"propValues",()=>e.innerType._zod.propValues),ce(t._zod,"values",()=>e.innerType._zod.values),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(Mm):Mm(o)}});function Mm(t){return t.value=Object.freeze(t.value),t}var Yc=x("$ZodCustom",(t,e)=>{Ie.init(t,e),ne.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>Dm(s,r,n,t));Dm(o,r,n,t)}});function Dm(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(Xa(o))}}var tb=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},rb=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${tb(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Us(n.values[0])}`:`Invalid option: expected one of ${Ls(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(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=e(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":""}: ${Ls(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 qm(){return{localeError:rb()}}var Eo=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Bm(){return new Eo}var ur=Bm();function Xc(t,e){return new t({type:"string",...j(e)})}function Qc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...j(e)})}function Ws(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...j(e)})}function eu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...j(e)})}function tu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(e)})}function ru(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(e)})}function nu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(e)})}function ou(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...j(e)})}function su(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...j(e)})}function iu(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(e)})}function au(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...j(e)})}function cu(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(e)})}function uu(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...j(e)})}function lu(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...j(e)})}function du(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(e)})}function pu(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(e)})}function fu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(e)})}function mu(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(e)})}function hu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(e)})}function gu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...j(e)})}function _u(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...j(e)})}function yu(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...j(e)})}function xu(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...j(e)})}function Vm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function Km(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function Jm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function Wm(t,e){return new t({type:"string",format:"duration",check:"string_format",...j(e)})}function vu(t,e){return new t({type:"number",checks:[],...j(e)})}function Su(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...j(e)})}function ku(t,e){return new t({type:"boolean",...j(e)})}function bu(t,e){return new t({type:"null",...j(e)})}function wu(t){return new t({type:"unknown"})}function Eu(t,e){return new t({type:"never",...j(e)})}function Gs(t,e){return new uc({check:"less_than",...j(e),value:t,inclusive:!1})}function To(t,e){return new uc({check:"less_than",...j(e),value:t,inclusive:!0})}function Ys(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!1})}function $o(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!0})}function Xs(t,e){return new gm({check:"multiple_of",...j(e),value:t})}function Qs(t,e){return new ym({check:"max_length",...j(e),maximum:t})}function $n(t,e){return new xm({check:"min_length",...j(e),minimum:t})}function ei(t,e){return new vm({check:"length_equals",...j(e),length:t})}function Tu(t,e){return new Sm({check:"string_format",format:"regex",...j(e),pattern:t})}function $u(t){return new km({check:"string_format",format:"lowercase",...j(t)})}function Pu(t){return new bm({check:"string_format",format:"uppercase",...j(t)})}function Ru(t,e){return new wm({check:"string_format",format:"includes",...j(e),includes:t})}function Ou(t,e){return new Em({check:"string_format",format:"starts_with",...j(e),prefix:t})}function Cu(t,e){return new Tm({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Wr(t){return new $m({check:"overwrite",tx:t})}function Iu(t){return Wr(e=>e.normalize(t))}function zu(){return Wr(t=>t.trim())}function Nu(){return Wr(t=>t.toLowerCase())}function Au(){return Wr(t=>t.toUpperCase())}function Gm(t,e,r){return new t({type:"array",element:e,...j(r)})}function ju(t,e,r){let n=j(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Mu(t,e,r){return new t({type:"custom",check:"custom",fn:e,...j(r)})}var ti=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??ur,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)a.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let m=a.schema;switch(o.type){case"string":{let p=m;p.type="string";let{minimum:h,maximum:g,format:_,patterns:v,contentEncoding:S}=e._zod.bag;if(typeof h=="number"&&(p.minLength=h),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),S&&(p.contentEncoding=S),v&&v.size>0){let E=[...v];E.length===1?p.pattern=E[0].source:E.length>1&&(a.schema.allOf=[...E.map(z=>({...this.target==="draft-7"?{type:"string"}:{},pattern:z.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:_,multipleOf:v,exclusiveMaximum:S,exclusiveMinimum:E}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof E=="number"&&(p.exclusiveMinimum=E),typeof h=="number"&&(p.minimum=h,typeof E=="number"&&(E>=h?delete p.minimum:delete p.exclusiveMinimum)),typeof S=="number"&&(p.exclusiveMaximum=S),typeof g=="number"&&(p.maximum=g,typeof S=="number"&&(S<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof v=="number"&&(p.multipleOf=v);break}case"boolean":{let p=m;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{m.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":{m.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=m,{minimum:h,maximum:g}=e._zod.bag;typeof h=="number"&&(p.minItems=h),typeof g=="number"&&(p.maxItems=g),p.type="array",p.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let p=m;p.type="object",p.properties={};let h=o.shape;for(let v in h)p.properties[v]=this.process(h[v],{...d,path:[...d.path,"properties",v]});let g=new Set(Object.keys(h)),_=new Set([...g].filter(v=>{let S=o.shape[v]._zod;return this.io==="input"?S.optin===void 0:S.optout===void 0}));_.size>0&&(p.required=Array.from(_)),o.catchall?._zod.def.type==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{let p=m;p.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=m,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=S=>"allOf"in S&&Object.keys(S).length===1,v=[..._(h)?h.allOf:[h],..._(g)?g.allOf:[g]];p.allOf=v;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((v,S)=>this.process(v,{...d,path:[...d.path,"prefixItems",S]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let v=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=v:p.additionalItems=v}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:_}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof _=="number"&&(p.maxItems=_);break}case"record":{let p=m;p.type="object",p.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let p=m,h=_o(o.entries);h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),p.enum=h;break}case"literal":{let p=m,h=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){let g=h[0];p.type=g===null?"null":typeof g,p.const=g}else h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),h.every(g=>typeof g=="boolean")&&(p.type="string"),h.every(g=>g===null)&&(p.type="null"),p.enum=h;break}case"file":{let p=m,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:v}=e._zod.bag;g!==void 0&&(h.minLength=g),_!==void 0&&(h.maxLength=_),v?v.length===1?(h.contentMediaType=v[0],Object.assign(p,h)):p.anyOf=v.map(S=>({...h,contentMediaType:S})):Object.assign(p,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let p=this.process(o.innerType,d);m.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=m;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,m.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(m._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}m.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let p=m,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=h.source;break}case"pipe":{let p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,m.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let p=e._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&Pe(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(l[0])?.id,g=n.external.uri??(v=>v);if(h)return{ref:g(h)};let _=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=_,{defId:_,ref:`${g("__shared")}#/${d}/${_}`}}if(l[1]===o)return{ref:"#"};let m=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:m+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:m}=s(l);d.def={...d.schema},m&&(d.defId=m);let p=d.schema;for(let h in p)delete p[h];p.$ref=f};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/<root>
52
52
 
53
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let m=n.external.registry.get(l[0])?.id;if(e!==l[0]&&m){i(l);continue}}if(this.metadataRegistry.get(l[0])?.id){i(l);continue}if(d.cycle){i(l);continue}if(d.count>1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let f=this.seen.get(l),m=f.def??f.schema,p={...m};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(m.allOf=m.allOf??[],m.allOf.push(g)):(Object.assign(m,g),Object.assign(m,p))}f.isParent||this.override({zodSchema:l,jsonSchema:m,path:f.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Du(t,e){if(t instanceof Eo){let n=new ti(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,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 ti(e);return r.process(t),r.emit(t,e)}function Pe(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Pe(o.element,r);case"object":{for(let s in o.shape)if(Pe(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(Pe(s,r))return!0;return!1}case"intersection":return Pe(o.left,r)||Pe(o.right,r);case"tuple":{for(let s of o.items)if(Pe(s,r))return!0;return!!(o.rest&&Pe(o.rest,r))}case"record":return Pe(o.keyType,r)||Pe(o.valueType,r);case"map":return Pe(o.keyType,r)||Pe(o.valueType,r);case"set":return Pe(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Pe(o.innerType,r);case"lazy":return Pe(o.getter(),r);case"default":return Pe(o.innerType,r);case"prefault":return Pe(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Pe(o.in,r)||Pe(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Mb=x("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(t,e),t.def=e,t.parse=(r,n)=>rc(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Kr(t,r,n),t.parseAsync=async(r,n)=>oc(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Jr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>ot(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var Db=x("ZodMiniObject",(t,e)=>{Ks.init(t,e),Mb.init(t,e),W.defineLazy(t,"shape",()=>e.shape)});function Lu(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new Db(r)}function ct(t){return!!t._zod}function Yr(t){let e=Object.values(t);if(e.length===0)return Lu({});let r=e.every(ct),n=e.every(o=>!ct(o));if(r)return Lu(t);if(n)return Ha(t);throw new Error("Mixed Zod versions detected in object shape.")}function cr(t,e){return ct(t)?Kr(t,e):t.safeParse(e)}async function ri(t,e){return ct(t)?await Jr(t,e):await t.safeParseAsync(e)}function ur(t){if(!t)return;let e;if(ct(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function $n(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Yr(t)}}if(ct(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function ni(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function Xm(t){return t.description}function Qm(t){if(ct(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function oi(t){if(ct(t)){let s=t._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=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var Po={};Je(Po,{ZodISODate:()=>th,ZodISODateTime:()=>eh,ZodISODuration:()=>nh,ZodISOTime:()=>rh,date:()=>Uu,datetime:()=>Zu,duration:()=>Fu,time:()=>Hu});var eh=x("ZodISODateTime",(t,e)=>{Lm.init(t,e),he.init(t,e)});function Zu(t){return Vm(eh,t)}var th=x("ZodISODate",(t,e)=>{Zm.init(t,e),he.init(t,e)});function Uu(t){return Km(th,t)}var rh=x("ZodISOTime",(t,e)=>{Um.init(t,e),he.init(t,e)});function Hu(t){return Jm(rh,t)}var nh=x("ZodISODuration",(t,e)=>{Hm.init(t,e),he.init(t,e)});function Fu(t){return Wm(nh,t)}var oh=(t,e)=>{Hs.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>ec(t,r)},flatten:{value:r=>Qa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},WN=x("ZodError",oh),Ro=x("ZodError",oh,{Parent:Error});var sh=tc(Ro),ih=nc(Ro),ah=sc(Ro),ch=ic(Ro);var xe=x("ZodType",(t,e)=>(ne.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>ot(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>sh(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>ah(t,r,n),t.parseAsync=async(r,n)=>ih(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>ch(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Aw(r,n)),t.superRefine=r=>t.check(jw(r)),t.overwrite=r=>t.check(Wr(r)),t.optional=()=>_e(t),t.nullable=()=>dh(t),t.nullish=()=>_e(dh(t)),t.nonoptional=r=>Pw(t,r),t.array=()=>G(t),t.or=r=>pe([t,r]),t.and=r=>ii(t,r),t.transform=r=>Bu(t,_h(r)),t.default=r=>Ew(t,r),t.prefault=r=>$w(t,r),t.catch=r=>Ow(t,r),t.pipe=r=>Bu(t,r),t.readonly=()=>zw(t),t.describe=r=>{let n=t.clone();return ar.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return ar.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ar.get(t);let n=t.clone();return ar.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),ph=x("_ZodString",(t,e)=>{wo.init(t,e),xe.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Tu(...n)),t.includes=(...n)=>t.check(Ru(...n)),t.startsWith=(...n)=>t.check(Ou(...n)),t.endsWith=(...n)=>t.check(Cu(...n)),t.min=(...n)=>t.check(Tn(...n)),t.max=(...n)=>t.check(Qs(...n)),t.length=(...n)=>t.check(ei(...n)),t.nonempty=(...n)=>t.check(Tn(1,...n)),t.lowercase=n=>t.check($u(n)),t.uppercase=n=>t.check(Pu(n)),t.trim=()=>t.check(zu()),t.normalize=(...n)=>t.check(Iu(...n)),t.toLowerCase=()=>t.check(Nu()),t.toUpperCase=()=>t.check(Au())}),Kb=x("ZodString",(t,e)=>{wo.init(t,e),ph.init(t,e),t.email=r=>t.check(Qc(Jb,r)),t.url=r=>t.check(ou(Wb,r)),t.jwt=r=>t.check(xu(lw,r)),t.emoji=r=>t.check(su(Gb,r)),t.guid=r=>t.check(Ws(uh,r)),t.uuid=r=>t.check(eu(si,r)),t.uuidv4=r=>t.check(tu(si,r)),t.uuidv6=r=>t.check(ru(si,r)),t.uuidv7=r=>t.check(nu(si,r)),t.nanoid=r=>t.check(iu(Yb,r)),t.guid=r=>t.check(Ws(uh,r)),t.cuid=r=>t.check(au(Xb,r)),t.cuid2=r=>t.check(cu(Qb,r)),t.ulid=r=>t.check(uu(ew,r)),t.base64=r=>t.check(gu(aw,r)),t.base64url=r=>t.check(_u(cw,r)),t.xid=r=>t.check(lu(tw,r)),t.ksuid=r=>t.check(du(rw,r)),t.ipv4=r=>t.check(pu(nw,r)),t.ipv6=r=>t.check(fu(ow,r)),t.cidrv4=r=>t.check(mu(sw,r)),t.cidrv6=r=>t.check(hu(iw,r)),t.e164=r=>t.check(yu(uw,r)),t.datetime=r=>t.check(Zu(r)),t.date=r=>t.check(Uu(r)),t.time=r=>t.check(Hu(r)),t.duration=r=>t.check(Fu(r))});function y(t){return Xc(Kb,t)}var he=x("ZodStringFormat",(t,e)=>{ue.init(t,e),ph.init(t,e)}),Jb=x("ZodEmail",(t,e)=>{mc.init(t,e),he.init(t,e)});var uh=x("ZodGUID",(t,e)=>{pc.init(t,e),he.init(t,e)});var si=x("ZodUUID",(t,e)=>{fc.init(t,e),he.init(t,e)});var Wb=x("ZodURL",(t,e)=>{hc.init(t,e),he.init(t,e)});var Gb=x("ZodEmoji",(t,e)=>{gc.init(t,e),he.init(t,e)});var Yb=x("ZodNanoID",(t,e)=>{_c.init(t,e),he.init(t,e)});var Xb=x("ZodCUID",(t,e)=>{yc.init(t,e),he.init(t,e)});var Qb=x("ZodCUID2",(t,e)=>{xc.init(t,e),he.init(t,e)});var ew=x("ZodULID",(t,e)=>{vc.init(t,e),he.init(t,e)});var tw=x("ZodXID",(t,e)=>{Sc.init(t,e),he.init(t,e)});var rw=x("ZodKSUID",(t,e)=>{kc.init(t,e),he.init(t,e)});var nw=x("ZodIPv4",(t,e)=>{bc.init(t,e),he.init(t,e)});var ow=x("ZodIPv6",(t,e)=>{wc.init(t,e),he.init(t,e)});var sw=x("ZodCIDRv4",(t,e)=>{Ec.init(t,e),he.init(t,e)});var iw=x("ZodCIDRv6",(t,e)=>{Tc.init(t,e),he.init(t,e)});var aw=x("ZodBase64",(t,e)=>{$c.init(t,e),he.init(t,e)});var cw=x("ZodBase64URL",(t,e)=>{Pc.init(t,e),he.init(t,e)});var uw=x("ZodE164",(t,e)=>{Rc.init(t,e),he.init(t,e)});var lw=x("ZodJWT",(t,e)=>{Oc.init(t,e),he.init(t,e)});var fh=x("ZodNumber",(t,e)=>{Vs.init(t,e),xe.init(t,e),t.gt=(n,o)=>t.check(Ys(n,o)),t.gte=(n,o)=>t.check($o(n,o)),t.min=(n,o)=>t.check($o(n,o)),t.lt=(n,o)=>t.check(Gs(n,o)),t.lte=(n,o)=>t.check(To(n,o)),t.max=(n,o)=>t.check(To(n,o)),t.int=n=>t.check(lh(n)),t.safe=n=>t.check(lh(n)),t.positive=n=>t.check(Ys(0,n)),t.nonnegative=n=>t.check($o(0,n)),t.negative=n=>t.check(Gs(0,n)),t.nonpositive=n=>t.check(To(0,n)),t.multipleOf=(n,o)=>t.check(Xs(n,o)),t.step=(n,o)=>t.check(Xs(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function re(t){return vu(fh,t)}var dw=x("ZodNumberFormat",(t,e)=>{Cc.init(t,e),fh.init(t,e)});function lh(t){return Su(dw,t)}var pw=x("ZodBoolean",(t,e)=>{Ic.init(t,e),xe.init(t,e)});function Oe(t){return ku(pw,t)}var fw=x("ZodNull",(t,e)=>{zc.init(t,e),xe.init(t,e)});function mh(t){return bu(fw,t)}var mw=x("ZodUnknown",(t,e)=>{Nc.init(t,e),xe.init(t,e)});function ge(){return wu(mw)}var hw=x("ZodNever",(t,e)=>{Ac.init(t,e),xe.init(t,e)});function gw(t){return Eu(hw,t)}var _w=x("ZodArray",(t,e)=>{jc.init(t,e),xe.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Tn(r,n)),t.nonempty=r=>t.check(Tn(1,r)),t.max=(r,n)=>t.check(Qs(r,n)),t.length=(r,n)=>t.check(ei(r,n)),t.unwrap=()=>t.element});function G(t,e){return Gm(_w,t,e)}var hh=x("ZodObject",(t,e)=>{Ks.init(t,e),xe.init(t,e),W.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Xe(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ge()}),t.loose=()=>t.clone({...t._zod.def,catchall:ge()}),t.strict=()=>t.clone({...t._zod.def,catchall:gw()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>W.extend(t,r),t.merge=r=>W.merge(t,r),t.pick=r=>W.pick(t,r),t.omit=r=>W.omit(t,r),t.partial=(...r)=>W.partial(yh,t,r[0]),t.required=(...r)=>W.required(xh,t,r[0])});function P(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new hh(r)}function qe(t,e){return new hh({type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},catchall:ge(),...W.normalizeParams(e)})}var gh=x("ZodUnion",(t,e)=>{Js.init(t,e),xe.init(t,e),t.options=e.options});function pe(t,e){return new gh({type:"union",options:t,...W.normalizeParams(e)})}var yw=x("ZodDiscriminatedUnion",(t,e)=>{gh.init(t,e),Mc.init(t,e)});function Vu(t,e,r){return new yw({type:"union",options:e,discriminator:t,...W.normalizeParams(r)})}var xw=x("ZodIntersection",(t,e)=>{Dc.init(t,e),xe.init(t,e)});function ii(t,e){return new xw({type:"intersection",left:t,right:e})}var vw=x("ZodRecord",(t,e)=>{Lc.init(t,e),xe.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function le(t,e,r){return new vw({type:"record",keyType:t,valueType:e,...W.normalizeParams(r)})}var qu=x("ZodEnum",(t,e)=>{Zc.init(t,e),xe.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new qu({...e,checks:[],...W.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.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 qu({...e,checks:[],...W.normalizeParams(o),entries:s})}});function Xe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new qu({type:"enum",entries:r,...W.normalizeParams(e)})}var Sw=x("ZodLiteral",(t,e)=>{Uc.init(t,e),xe.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function C(t,e){return new Sw({type:"literal",values:Array.isArray(t)?t:[t],...W.normalizeParams(e)})}var kw=x("ZodTransform",(t,e)=>{Hc.init(t,e),xe.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(W.issue(s,r.value,e));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!0),r.issues.push(W.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function _h(t){return new kw({type:"transform",transform:t})}var yh=x("ZodOptional",(t,e)=>{Fc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function _e(t){return new yh({type:"optional",innerType:t})}var bw=x("ZodNullable",(t,e)=>{qc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function dh(t){return new bw({type:"nullable",innerType:t})}var ww=x("ZodDefault",(t,e)=>{Bc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function Ew(t,e){return new ww({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Tw=x("ZodPrefault",(t,e)=>{Vc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function $w(t,e){return new Tw({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var xh=x("ZodNonOptional",(t,e)=>{Kc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Pw(t,e){return new xh({type:"nonoptional",innerType:t,...W.normalizeParams(e)})}var Rw=x("ZodCatch",(t,e)=>{Jc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Ow(t,e){return new Rw({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Cw=x("ZodPipe",(t,e)=>{Wc.init(t,e),xe.init(t,e),t.in=e.in,t.out=e.out});function Bu(t,e){return new Cw({type:"pipe",in:t,out:e})}var Iw=x("ZodReadonly",(t,e)=>{Gc.init(t,e),xe.init(t,e)});function zw(t){return new Iw({type:"readonly",innerType:t})}var vh=x("ZodCustom",(t,e)=>{Yc.init(t,e),xe.init(t,e)});function Nw(t){let e=new Ie({check:"custom"});return e._zod.check=t,e}function Sh(t,e){return ju(vh,t??(()=>!0),e)}function Aw(t,e={}){return Mu(vh,t,e)}function jw(t){let e=Nw(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(W.issue(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(W.issue(o))}},t(r.value,r)));return e}function Ku(t,e){return Bu(_h(t),e)}nt(qm());var Wu="2025-11-25";var kh=[Wu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],lr="io.modelcontextprotocol/related-task",ci="2.0",Re=Sh(t=>t!==null&&(typeof t=="object"||typeof t=="function")),bh=pe([y(),re().int()]),wh=y(),uA=qe({ttl:re().optional(),pollInterval:re().optional()}),Mw=P({ttl:re().optional()}),Dw=P({taskId:y()}),Gu=qe({progressToken:bh.optional(),[lr]:Dw.optional()}),st=P({_meta:Gu.optional()}),Oo=st.extend({task:Mw.optional()}),Eh=t=>Oo.safeParse(t).success,ze=P({method:y(),params:st.loose().optional()}),ut=P({_meta:Gu.optional()}),lt=P({method:y(),params:ut.loose().optional()}),Ne=qe({_meta:Gu.optional()}),ui=pe([y(),re().int()]),Th=P({jsonrpc:C(ci),id:ui,...ze.shape}).strict(),Yu=t=>Th.safeParse(t).success,$h=P({jsonrpc:C(ci),...lt.shape}).strict(),Ph=t=>$h.safeParse(t).success,Xu=P({jsonrpc:C(ci),id:ui,result:Ne}).strict(),Co=t=>Xu.safeParse(t).success;var N;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(N||(N={}));var Qu=P({jsonrpc:C(ci),id:ui.optional(),error:P({code:re().int(),message:y(),data:ge().optional()})}).strict();var Rh=t=>Qu.safeParse(t).success;var Oh=pe([Th,$h,Xu,Qu]),lA=pe([Xu,Qu]),li=Ne.strict(),Lw=ut.extend({requestId:ui.optional(),reason:y().optional()}),di=lt.extend({method:C("notifications/cancelled"),params:Lw}),Zw=P({src:y(),mimeType:y().optional(),sizes:G(y()).optional(),theme:Xe(["light","dark"]).optional()}),Io=P({icons:G(Zw).optional()}),Pn=P({name:y(),title:y().optional()}),Ch=Pn.extend({...Pn.shape,...Io.shape,version:y(),websiteUrl:y().optional(),description:y().optional()}),Uw=ii(P({applyDefaults:Oe().optional()}),le(y(),ge())),Hw=Ku(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,ii(P({form:Uw.optional(),url:Re.optional()}),le(y(),ge()).optional())),Fw=qe({list:Re.optional(),cancel:Re.optional(),requests:qe({sampling:qe({createMessage:Re.optional()}).optional(),elicitation:qe({create:Re.optional()}).optional()}).optional()}),qw=qe({list:Re.optional(),cancel:Re.optional(),requests:qe({tools:qe({call:Re.optional()}).optional()}).optional()}),Bw=P({experimental:le(y(),Re).optional(),sampling:P({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:Hw.optional(),roots:P({listChanged:Oe().optional()}).optional(),tasks:Fw.optional(),extensions:le(y(),Re).optional()}),Vw=st.extend({protocolVersion:y(),capabilities:Bw,clientInfo:Ch}),el=ze.extend({method:C("initialize"),params:Vw});var Kw=P({experimental:le(y(),Re).optional(),logging:Re.optional(),completions:Re.optional(),prompts:P({listChanged:Oe().optional()}).optional(),resources:P({subscribe:Oe().optional(),listChanged:Oe().optional()}).optional(),tools:P({listChanged:Oe().optional()}).optional(),tasks:qw.optional(),extensions:le(y(),Re).optional()}),Jw=Ne.extend({protocolVersion:y(),capabilities:Kw,serverInfo:Ch,instructions:y().optional()}),tl=lt.extend({method:C("notifications/initialized"),params:ut.optional()});var pi=ze.extend({method:C("ping"),params:st.optional()}),Ww=P({progress:re(),total:_e(re()),message:_e(y())}),Gw=P({...ut.shape,...Ww.shape,progressToken:bh}),fi=lt.extend({method:C("notifications/progress"),params:Gw}),Yw=st.extend({cursor:wh.optional()}),zo=ze.extend({params:Yw.optional()}),No=Ne.extend({nextCursor:wh.optional()}),Xw=Xe(["working","input_required","completed","failed","cancelled"]),Ao=P({taskId:y(),status:Xw,ttl:pe([re(),mh()]),createdAt:y(),lastUpdatedAt:y(),pollInterval:_e(re()),statusMessage:_e(y())}),Rn=Ne.extend({task:Ao}),Qw=ut.merge(Ao),jo=lt.extend({method:C("notifications/tasks/status"),params:Qw}),mi=ze.extend({method:C("tasks/get"),params:st.extend({taskId:y()})}),hi=Ne.merge(Ao),gi=ze.extend({method:C("tasks/result"),params:st.extend({taskId:y()})}),dA=Ne.loose(),_i=zo.extend({method:C("tasks/list")}),yi=No.extend({tasks:G(Ao)}),xi=ze.extend({method:C("tasks/cancel"),params:st.extend({taskId:y()})}),Ih=Ne.merge(Ao),zh=P({uri:y(),mimeType:_e(y()),_meta:le(y(),ge()).optional()}),Nh=zh.extend({text:y()}),rl=y().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Ah=zh.extend({blob:rl}),Mo=Xe(["user","assistant"]),On=P({audience:G(Mo).optional(),priority:re().min(0).max(1).optional(),lastModified:Po.datetime({offset:!0}).optional()}),jh=P({...Pn.shape,...Io.shape,uri:y(),description:_e(y()),mimeType:_e(y()),size:_e(re()),annotations:On.optional(),_meta:_e(qe({}))}),eE=P({...Pn.shape,...Io.shape,uriTemplate:y(),description:_e(y()),mimeType:_e(y()),annotations:On.optional(),_meta:_e(qe({}))}),Cn=zo.extend({method:C("resources/list")}),tE=No.extend({resources:G(jh)}),In=zo.extend({method:C("resources/templates/list")}),rE=No.extend({resourceTemplates:G(eE)}),nl=st.extend({uri:y()}),nE=nl,vi=ze.extend({method:C("resources/read"),params:nE}),oE=Ne.extend({contents:G(pe([Nh,Ah]))}),sE=lt.extend({method:C("notifications/resources/list_changed"),params:ut.optional()}),iE=nl,aE=ze.extend({method:C("resources/subscribe"),params:iE}),cE=nl,uE=ze.extend({method:C("resources/unsubscribe"),params:cE}),lE=ut.extend({uri:y()}),dE=lt.extend({method:C("notifications/resources/updated"),params:lE}),pE=P({name:y(),description:_e(y()),required:_e(Oe())}),fE=P({...Pn.shape,...Io.shape,description:_e(y()),arguments:_e(G(pE)),_meta:_e(qe({}))}),zn=zo.extend({method:C("prompts/list")}),mE=No.extend({prompts:G(fE)}),hE=st.extend({name:y(),arguments:le(y(),y()).optional()}),Si=ze.extend({method:C("prompts/get"),params:hE}),ol=P({type:C("text"),text:y(),annotations:On.optional(),_meta:le(y(),ge()).optional()}),sl=P({type:C("image"),data:rl,mimeType:y(),annotations:On.optional(),_meta:le(y(),ge()).optional()}),il=P({type:C("audio"),data:rl,mimeType:y(),annotations:On.optional(),_meta:le(y(),ge()).optional()}),gE=P({type:C("tool_use"),name:y(),id:y(),input:le(y(),ge()),_meta:le(y(),ge()).optional()}),_E=P({type:C("resource"),resource:pe([Nh,Ah]),annotations:On.optional(),_meta:le(y(),ge()).optional()}),yE=jh.extend({type:C("resource_link")}),al=pe([ol,sl,il,yE,_E]),xE=P({role:Mo,content:al}),vE=Ne.extend({description:y().optional(),messages:G(xE)}),SE=lt.extend({method:C("notifications/prompts/list_changed"),params:ut.optional()}),kE=P({title:y().optional(),readOnlyHint:Oe().optional(),destructiveHint:Oe().optional(),idempotentHint:Oe().optional(),openWorldHint:Oe().optional()}),bE=P({taskSupport:Xe(["required","optional","forbidden"]).optional()}),Mh=P({...Pn.shape,...Io.shape,description:y().optional(),inputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(ge()),outputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(ge()).optional(),annotations:kE.optional(),execution:bE.optional(),_meta:le(y(),ge()).optional()}),ki=zo.extend({method:C("tools/list")}),wE=No.extend({tools:G(Mh)}),bi=Ne.extend({content:G(al).default([]),structuredContent:le(y(),ge()).optional(),isError:Oe().optional()}),pA=bi.or(Ne.extend({toolResult:ge()})),EE=Oo.extend({name:y(),arguments:le(y(),ge()).optional()}),Nn=ze.extend({method:C("tools/call"),params:EE}),TE=lt.extend({method:C("notifications/tools/list_changed"),params:ut.optional()}),fA=P({autoRefresh:Oe().default(!0),debounceMs:re().int().nonnegative().default(300)}),Do=Xe(["debug","info","notice","warning","error","critical","alert","emergency"]),$E=st.extend({level:Do}),cl=ze.extend({method:C("logging/setLevel"),params:$E}),PE=ut.extend({level:Do,logger:y().optional(),data:ge()}),RE=lt.extend({method:C("notifications/message"),params:PE}),OE=P({name:y().optional()}),CE=P({hints:G(OE).optional(),costPriority:re().min(0).max(1).optional(),speedPriority:re().min(0).max(1).optional(),intelligencePriority:re().min(0).max(1).optional()}),IE=P({mode:Xe(["auto","required","none"]).optional()}),zE=P({type:C("tool_result"),toolUseId:y().describe("The unique identifier for the corresponding tool call."),content:G(al).default([]),structuredContent:P({}).loose().optional(),isError:Oe().optional(),_meta:le(y(),ge()).optional()}),NE=Vu("type",[ol,sl,il]),ai=Vu("type",[ol,sl,il,gE,zE]),AE=P({role:Mo,content:pe([ai,G(ai)]),_meta:le(y(),ge()).optional()}),jE=Oo.extend({messages:G(AE),modelPreferences:CE.optional(),systemPrompt:y().optional(),includeContext:Xe(["none","thisServer","allServers"]).optional(),temperature:re().optional(),maxTokens:re().int(),stopSequences:G(y()).optional(),metadata:Re.optional(),tools:G(Mh).optional(),toolChoice:IE.optional()}),ME=ze.extend({method:C("sampling/createMessage"),params:jE}),Lo=Ne.extend({model:y(),stopReason:_e(Xe(["endTurn","stopSequence","maxTokens"]).or(y())),role:Mo,content:NE}),ul=Ne.extend({model:y(),stopReason:_e(Xe(["endTurn","stopSequence","maxTokens","toolUse"]).or(y())),role:Mo,content:pe([ai,G(ai)])}),DE=P({type:C("boolean"),title:y().optional(),description:y().optional(),default:Oe().optional()}),LE=P({type:C("string"),title:y().optional(),description:y().optional(),minLength:re().optional(),maxLength:re().optional(),format:Xe(["email","uri","date","date-time"]).optional(),default:y().optional()}),ZE=P({type:Xe(["number","integer"]),title:y().optional(),description:y().optional(),minimum:re().optional(),maximum:re().optional(),default:re().optional()}),UE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),default:y().optional()}),HE=P({type:C("string"),title:y().optional(),description:y().optional(),oneOf:G(P({const:y(),title:y()})),default:y().optional()}),FE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),enumNames:G(y()).optional(),default:y().optional()}),qE=pe([UE,HE]),BE=P({type:C("array"),title:y().optional(),description:y().optional(),minItems:re().optional(),maxItems:re().optional(),items:P({type:C("string"),enum:G(y())}),default:G(y()).optional()}),VE=P({type:C("array"),title:y().optional(),description:y().optional(),minItems:re().optional(),maxItems:re().optional(),items:P({anyOf:G(P({const:y(),title:y()}))}),default:G(y()).optional()}),KE=pe([BE,VE]),JE=pe([FE,qE,KE]),WE=pe([JE,DE,LE,ZE]),GE=Oo.extend({mode:C("form").optional(),message:y(),requestedSchema:P({type:C("object"),properties:le(y(),WE),required:G(y()).optional()})}),YE=Oo.extend({mode:C("url"),message:y(),elicitationId:y(),url:y().url()}),XE=pe([GE,YE]),QE=ze.extend({method:C("elicitation/create"),params:XE}),eT=ut.extend({elicitationId:y()}),tT=lt.extend({method:C("notifications/elicitation/complete"),params:eT}),An=Ne.extend({action:Xe(["accept","decline","cancel"]),content:Ku(t=>t===null?void 0:t,le(y(),pe([y(),re(),Oe(),G(y())])).optional())}),rT=P({type:C("ref/resource"),uri:y()});var nT=P({type:C("ref/prompt"),name:y()}),oT=st.extend({ref:pe([nT,rT]),argument:P({name:y(),value:y()}),context:P({arguments:le(y(),y()).optional()}).optional()}),wi=ze.extend({method:C("completion/complete"),params:oT});function Dh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function Lh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var sT=Ne.extend({completion:qe({values:G(y()).max(100),total:_e(re().int()),hasMore:_e(Oe())})}),iT=P({uri:y().startsWith("file://"),name:y().optional(),_meta:le(y(),ge()).optional()}),aT=ze.extend({method:C("roots/list"),params:st.optional()}),ll=Ne.extend({roots:G(iT)}),cT=lt.extend({method:C("notifications/roots/list_changed"),params:ut.optional()}),mA=pe([pi,el,wi,cl,Si,zn,Cn,In,vi,aE,uE,Nn,ki,mi,gi,_i,xi]),hA=pe([di,fi,tl,cT,jo]),gA=pe([li,Lo,ul,An,ll,hi,yi,Rn]),_A=pe([pi,ME,QE,aT,mi,gi,_i,xi]),yA=pe([di,fi,RE,dE,sE,TE,SE,jo,tT]),xA=pe([li,Jw,sT,vE,mE,tE,rE,oE,bi,wE,hi,yi,Rn]),O=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===N.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Ju(o.elicitations,r)}return new t(e,r,n)}},Ju=class extends O{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function dr(t){return t==="completed"||t==="failed"||t==="cancelled"}var Uh=Symbol("Let zodToJsonSchema decide on which parser to use");var Zh={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},Hh=t=>typeof t=="string"?{...Zh,name:t}:{...Zh,...t};var Fh=t=>{let e=Hh(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function dl(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function Y(t,e,r,n,o){t[e]=r,dl(t,e,n,o)}var Ei=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function ye(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?Ei(e,t.currentPath):e.join("/")}}function qh(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==b.ZodAny&&(r.items=M(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&Y(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&Y(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(Y(r,"minItems",t.exactLength.value,t.exactLength.message,e),Y(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function Bh(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?Y(r,"minimum",n.value,n.message,e):Y(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Y(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?Y(r,"maximum",n.value,n.message,e):Y(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Y(r,"maximum",n.value,n.message,e));break;case"multipleOf":Y(r,"multipleOf",n.value,n.message,e);break}return r}function Vh(){return{type:"boolean"}}function Ti(t,e){return M(t.type._def,e)}var Kh=(t,e)=>M(t.innerType._def,e);function pl(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>pl(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return uT(t,e)}}var uT=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":Y(r,"minimum",n.value,n.message,e);break;case"max":Y(r,"maximum",n.value,n.message,e);break}return r};function Jh(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function Wh(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):ye(e)}function Gh(t){return{type:"string",enum:Array.from(t.values)}}var lT=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Yh(t,e){let r=[M(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),M(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(lT(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 Xh(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var fl,vt={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:()=>(fl===void 0&&(fl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),fl),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 $i(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":Y(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":Y(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":St(r,"email",n.message,e);break;case"format:idn-email":St(r,"idn-email",n.message,e);break;case"pattern:zod":Be(r,vt.email,n.message,e);break}break;case"url":St(r,"uri",n.message,e);break;case"uuid":St(r,"uuid",n.message,e);break;case"regex":Be(r,n.regex,n.message,e);break;case"cuid":Be(r,vt.cuid,n.message,e);break;case"cuid2":Be(r,vt.cuid2,n.message,e);break;case"startsWith":Be(r,RegExp(`^${ml(n.value,e)}`),n.message,e);break;case"endsWith":Be(r,RegExp(`${ml(n.value,e)}$`),n.message,e);break;case"datetime":St(r,"date-time",n.message,e);break;case"date":St(r,"date",n.message,e);break;case"time":St(r,"time",n.message,e);break;case"duration":St(r,"duration",n.message,e);break;case"length":Y(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),Y(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Be(r,RegExp(ml(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&St(r,"ipv4",n.message,e),n.version!=="v4"&&St(r,"ipv6",n.message,e);break}case"base64url":Be(r,vt.base64url,n.message,e);break;case"jwt":Be(r,vt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Be(r,vt.ipv4Cidr,n.message,e),n.version!=="v4"&&Be(r,vt.ipv6Cidr,n.message,e);break}case"emoji":Be(r,vt.emoji(),n.message,e);break;case"ulid":{Be(r,vt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{St(r,"binary",n.message,e);break}case"contentEncoding:base64":{Y(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Be(r,vt.base64,n.message,e);break}}break}case"nanoid":Be(r,vt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function ml(t,e){return e.patternStrategy==="escape"?pT(t):t}var dT=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function pT(t){let e="";for(let r=0;r<t.length;r++)dT.has(t[r])||(e+="\\"),e+=t[r];return e}function St(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):Y(t,"format",e,r,n)}function Be(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:Qh(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):Y(t,"pattern",Qh(e,n),r,n)}function Qh(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",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
53
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let m=n.external.registry.get(l[0])?.id;if(e!==l[0]&&m){i(l);continue}}if(this.metadataRegistry.get(l[0])?.id){i(l);continue}if(d.cycle){i(l);continue}if(d.count>1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let f=this.seen.get(l),m=f.def??f.schema,p={...m};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(m.allOf=m.allOf??[],m.allOf.push(g)):(Object.assign(m,g),Object.assign(m,p))}f.isParent||this.override({zodSchema:l,jsonSchema:m,path:f.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Du(t,e){if(t instanceof Eo){let n=new ti(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,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 ti(e);return r.process(t),r.emit(t,e)}function Pe(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Pe(o.element,r);case"object":{for(let s in o.shape)if(Pe(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(Pe(s,r))return!0;return!1}case"intersection":return Pe(o.left,r)||Pe(o.right,r);case"tuple":{for(let s of o.items)if(Pe(s,r))return!0;return!!(o.rest&&Pe(o.rest,r))}case"record":return Pe(o.keyType,r)||Pe(o.valueType,r);case"map":return Pe(o.keyType,r)||Pe(o.valueType,r);case"set":return Pe(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Pe(o.innerType,r);case"lazy":return Pe(o.getter(),r);case"default":return Pe(o.innerType,r);case"prefault":return Pe(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Pe(o.in,r)||Pe(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Mb=x("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(t,e),t.def=e,t.parse=(r,n)=>rc(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Kr(t,r,n),t.parseAsync=async(r,n)=>oc(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Jr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>ot(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var Db=x("ZodMiniObject",(t,e)=>{Ks.init(t,e),Mb.init(t,e),W.defineLazy(t,"shape",()=>e.shape)});function Lu(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new Db(r)}function ut(t){return!!t._zod}function Yr(t){let e=Object.values(t);if(e.length===0)return Lu({});let r=e.every(ut),n=e.every(o=>!ut(o));if(r)return Lu(t);if(n)return Ha(t);throw new Error("Mixed Zod versions detected in object shape.")}function lr(t,e){return ut(t)?Kr(t,e):t.safeParse(e)}async function ri(t,e){return ut(t)?await Jr(t,e):await t.safeParseAsync(e)}function dr(t){if(!t)return;let e;if(ut(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function Pn(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Yr(t)}}if(ut(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function ni(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function Xm(t){return t.description}function Qm(t){if(ut(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function oi(t){if(ut(t)){let s=t._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=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var Po={};Je(Po,{ZodISODate:()=>th,ZodISODateTime:()=>eh,ZodISODuration:()=>nh,ZodISOTime:()=>rh,date:()=>Uu,datetime:()=>Zu,duration:()=>Fu,time:()=>Hu});var eh=x("ZodISODateTime",(t,e)=>{Lm.init(t,e),he.init(t,e)});function Zu(t){return Vm(eh,t)}var th=x("ZodISODate",(t,e)=>{Zm.init(t,e),he.init(t,e)});function Uu(t){return Km(th,t)}var rh=x("ZodISOTime",(t,e)=>{Um.init(t,e),he.init(t,e)});function Hu(t){return Jm(rh,t)}var nh=x("ZodISODuration",(t,e)=>{Hm.init(t,e),he.init(t,e)});function Fu(t){return Wm(nh,t)}var oh=(t,e)=>{Hs.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>ec(t,r)},flatten:{value:r=>Qa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},WN=x("ZodError",oh),Ro=x("ZodError",oh,{Parent:Error});var sh=tc(Ro),ih=nc(Ro),ah=sc(Ro),ch=ic(Ro);var xe=x("ZodType",(t,e)=>(ne.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>ot(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>sh(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>ah(t,r,n),t.parseAsync=async(r,n)=>ih(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>ch(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Aw(r,n)),t.superRefine=r=>t.check(jw(r)),t.overwrite=r=>t.check(Wr(r)),t.optional=()=>_e(t),t.nullable=()=>dh(t),t.nullish=()=>_e(dh(t)),t.nonoptional=r=>Pw(t,r),t.array=()=>G(t),t.or=r=>pe([t,r]),t.and=r=>ii(t,r),t.transform=r=>Bu(t,_h(r)),t.default=r=>Ew(t,r),t.prefault=r=>$w(t,r),t.catch=r=>Ow(t,r),t.pipe=r=>Bu(t,r),t.readonly=()=>zw(t),t.describe=r=>{let n=t.clone();return ur.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return ur.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ur.get(t);let n=t.clone();return ur.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),ph=x("_ZodString",(t,e)=>{wo.init(t,e),xe.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Tu(...n)),t.includes=(...n)=>t.check(Ru(...n)),t.startsWith=(...n)=>t.check(Ou(...n)),t.endsWith=(...n)=>t.check(Cu(...n)),t.min=(...n)=>t.check($n(...n)),t.max=(...n)=>t.check(Qs(...n)),t.length=(...n)=>t.check(ei(...n)),t.nonempty=(...n)=>t.check($n(1,...n)),t.lowercase=n=>t.check($u(n)),t.uppercase=n=>t.check(Pu(n)),t.trim=()=>t.check(zu()),t.normalize=(...n)=>t.check(Iu(...n)),t.toLowerCase=()=>t.check(Nu()),t.toUpperCase=()=>t.check(Au())}),Kb=x("ZodString",(t,e)=>{wo.init(t,e),ph.init(t,e),t.email=r=>t.check(Qc(Jb,r)),t.url=r=>t.check(ou(Wb,r)),t.jwt=r=>t.check(xu(lw,r)),t.emoji=r=>t.check(su(Gb,r)),t.guid=r=>t.check(Ws(uh,r)),t.uuid=r=>t.check(eu(si,r)),t.uuidv4=r=>t.check(tu(si,r)),t.uuidv6=r=>t.check(ru(si,r)),t.uuidv7=r=>t.check(nu(si,r)),t.nanoid=r=>t.check(iu(Yb,r)),t.guid=r=>t.check(Ws(uh,r)),t.cuid=r=>t.check(au(Xb,r)),t.cuid2=r=>t.check(cu(Qb,r)),t.ulid=r=>t.check(uu(ew,r)),t.base64=r=>t.check(gu(aw,r)),t.base64url=r=>t.check(_u(cw,r)),t.xid=r=>t.check(lu(tw,r)),t.ksuid=r=>t.check(du(rw,r)),t.ipv4=r=>t.check(pu(nw,r)),t.ipv6=r=>t.check(fu(ow,r)),t.cidrv4=r=>t.check(mu(sw,r)),t.cidrv6=r=>t.check(hu(iw,r)),t.e164=r=>t.check(yu(uw,r)),t.datetime=r=>t.check(Zu(r)),t.date=r=>t.check(Uu(r)),t.time=r=>t.check(Hu(r)),t.duration=r=>t.check(Fu(r))});function y(t){return Xc(Kb,t)}var he=x("ZodStringFormat",(t,e)=>{ue.init(t,e),ph.init(t,e)}),Jb=x("ZodEmail",(t,e)=>{mc.init(t,e),he.init(t,e)});var uh=x("ZodGUID",(t,e)=>{pc.init(t,e),he.init(t,e)});var si=x("ZodUUID",(t,e)=>{fc.init(t,e),he.init(t,e)});var Wb=x("ZodURL",(t,e)=>{hc.init(t,e),he.init(t,e)});var Gb=x("ZodEmoji",(t,e)=>{gc.init(t,e),he.init(t,e)});var Yb=x("ZodNanoID",(t,e)=>{_c.init(t,e),he.init(t,e)});var Xb=x("ZodCUID",(t,e)=>{yc.init(t,e),he.init(t,e)});var Qb=x("ZodCUID2",(t,e)=>{xc.init(t,e),he.init(t,e)});var ew=x("ZodULID",(t,e)=>{vc.init(t,e),he.init(t,e)});var tw=x("ZodXID",(t,e)=>{Sc.init(t,e),he.init(t,e)});var rw=x("ZodKSUID",(t,e)=>{kc.init(t,e),he.init(t,e)});var nw=x("ZodIPv4",(t,e)=>{bc.init(t,e),he.init(t,e)});var ow=x("ZodIPv6",(t,e)=>{wc.init(t,e),he.init(t,e)});var sw=x("ZodCIDRv4",(t,e)=>{Ec.init(t,e),he.init(t,e)});var iw=x("ZodCIDRv6",(t,e)=>{Tc.init(t,e),he.init(t,e)});var aw=x("ZodBase64",(t,e)=>{$c.init(t,e),he.init(t,e)});var cw=x("ZodBase64URL",(t,e)=>{Pc.init(t,e),he.init(t,e)});var uw=x("ZodE164",(t,e)=>{Rc.init(t,e),he.init(t,e)});var lw=x("ZodJWT",(t,e)=>{Oc.init(t,e),he.init(t,e)});var fh=x("ZodNumber",(t,e)=>{Vs.init(t,e),xe.init(t,e),t.gt=(n,o)=>t.check(Ys(n,o)),t.gte=(n,o)=>t.check($o(n,o)),t.min=(n,o)=>t.check($o(n,o)),t.lt=(n,o)=>t.check(Gs(n,o)),t.lte=(n,o)=>t.check(To(n,o)),t.max=(n,o)=>t.check(To(n,o)),t.int=n=>t.check(lh(n)),t.safe=n=>t.check(lh(n)),t.positive=n=>t.check(Ys(0,n)),t.nonnegative=n=>t.check($o(0,n)),t.negative=n=>t.check(Gs(0,n)),t.nonpositive=n=>t.check(To(0,n)),t.multipleOf=(n,o)=>t.check(Xs(n,o)),t.step=(n,o)=>t.check(Xs(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function re(t){return vu(fh,t)}var dw=x("ZodNumberFormat",(t,e)=>{Cc.init(t,e),fh.init(t,e)});function lh(t){return Su(dw,t)}var pw=x("ZodBoolean",(t,e)=>{Ic.init(t,e),xe.init(t,e)});function Oe(t){return ku(pw,t)}var fw=x("ZodNull",(t,e)=>{zc.init(t,e),xe.init(t,e)});function mh(t){return bu(fw,t)}var mw=x("ZodUnknown",(t,e)=>{Nc.init(t,e),xe.init(t,e)});function ge(){return wu(mw)}var hw=x("ZodNever",(t,e)=>{Ac.init(t,e),xe.init(t,e)});function gw(t){return Eu(hw,t)}var _w=x("ZodArray",(t,e)=>{jc.init(t,e),xe.init(t,e),t.element=e.element,t.min=(r,n)=>t.check($n(r,n)),t.nonempty=r=>t.check($n(1,r)),t.max=(r,n)=>t.check(Qs(r,n)),t.length=(r,n)=>t.check(ei(r,n)),t.unwrap=()=>t.element});function G(t,e){return Gm(_w,t,e)}var hh=x("ZodObject",(t,e)=>{Ks.init(t,e),xe.init(t,e),W.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Xe(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ge()}),t.loose=()=>t.clone({...t._zod.def,catchall:ge()}),t.strict=()=>t.clone({...t._zod.def,catchall:gw()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>W.extend(t,r),t.merge=r=>W.merge(t,r),t.pick=r=>W.pick(t,r),t.omit=r=>W.omit(t,r),t.partial=(...r)=>W.partial(yh,t,r[0]),t.required=(...r)=>W.required(xh,t,r[0])});function P(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new hh(r)}function qe(t,e){return new hh({type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},catchall:ge(),...W.normalizeParams(e)})}var gh=x("ZodUnion",(t,e)=>{Js.init(t,e),xe.init(t,e),t.options=e.options});function pe(t,e){return new gh({type:"union",options:t,...W.normalizeParams(e)})}var yw=x("ZodDiscriminatedUnion",(t,e)=>{gh.init(t,e),Mc.init(t,e)});function Vu(t,e,r){return new yw({type:"union",options:e,discriminator:t,...W.normalizeParams(r)})}var xw=x("ZodIntersection",(t,e)=>{Dc.init(t,e),xe.init(t,e)});function ii(t,e){return new xw({type:"intersection",left:t,right:e})}var vw=x("ZodRecord",(t,e)=>{Lc.init(t,e),xe.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function le(t,e,r){return new vw({type:"record",keyType:t,valueType:e,...W.normalizeParams(r)})}var qu=x("ZodEnum",(t,e)=>{Zc.init(t,e),xe.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new qu({...e,checks:[],...W.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.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 qu({...e,checks:[],...W.normalizeParams(o),entries:s})}});function Xe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new qu({type:"enum",entries:r,...W.normalizeParams(e)})}var Sw=x("ZodLiteral",(t,e)=>{Uc.init(t,e),xe.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function C(t,e){return new Sw({type:"literal",values:Array.isArray(t)?t:[t],...W.normalizeParams(e)})}var kw=x("ZodTransform",(t,e)=>{Hc.init(t,e),xe.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(W.issue(s,r.value,e));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!0),r.issues.push(W.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function _h(t){return new kw({type:"transform",transform:t})}var yh=x("ZodOptional",(t,e)=>{Fc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function _e(t){return new yh({type:"optional",innerType:t})}var bw=x("ZodNullable",(t,e)=>{qc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function dh(t){return new bw({type:"nullable",innerType:t})}var ww=x("ZodDefault",(t,e)=>{Bc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function Ew(t,e){return new ww({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Tw=x("ZodPrefault",(t,e)=>{Vc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function $w(t,e){return new Tw({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var xh=x("ZodNonOptional",(t,e)=>{Kc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Pw(t,e){return new xh({type:"nonoptional",innerType:t,...W.normalizeParams(e)})}var Rw=x("ZodCatch",(t,e)=>{Jc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Ow(t,e){return new Rw({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Cw=x("ZodPipe",(t,e)=>{Wc.init(t,e),xe.init(t,e),t.in=e.in,t.out=e.out});function Bu(t,e){return new Cw({type:"pipe",in:t,out:e})}var Iw=x("ZodReadonly",(t,e)=>{Gc.init(t,e),xe.init(t,e)});function zw(t){return new Iw({type:"readonly",innerType:t})}var vh=x("ZodCustom",(t,e)=>{Yc.init(t,e),xe.init(t,e)});function Nw(t){let e=new Ie({check:"custom"});return e._zod.check=t,e}function Sh(t,e){return ju(vh,t??(()=>!0),e)}function Aw(t,e={}){return Mu(vh,t,e)}function jw(t){let e=Nw(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(W.issue(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(W.issue(o))}},t(r.value,r)));return e}function Ku(t,e){return Bu(_h(t),e)}nt(qm());var Wu="2025-11-25";var kh=[Wu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],pr="io.modelcontextprotocol/related-task",ci="2.0",Re=Sh(t=>t!==null&&(typeof t=="object"||typeof t=="function")),bh=pe([y(),re().int()]),wh=y(),uA=qe({ttl:re().optional(),pollInterval:re().optional()}),Mw=P({ttl:re().optional()}),Dw=P({taskId:y()}),Gu=qe({progressToken:bh.optional(),[pr]:Dw.optional()}),st=P({_meta:Gu.optional()}),Oo=st.extend({task:Mw.optional()}),Eh=t=>Oo.safeParse(t).success,ze=P({method:y(),params:st.loose().optional()}),lt=P({_meta:Gu.optional()}),dt=P({method:y(),params:lt.loose().optional()}),Ne=qe({_meta:Gu.optional()}),ui=pe([y(),re().int()]),Th=P({jsonrpc:C(ci),id:ui,...ze.shape}).strict(),Yu=t=>Th.safeParse(t).success,$h=P({jsonrpc:C(ci),...dt.shape}).strict(),Ph=t=>$h.safeParse(t).success,Xu=P({jsonrpc:C(ci),id:ui,result:Ne}).strict(),Co=t=>Xu.safeParse(t).success;var N;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(N||(N={}));var Qu=P({jsonrpc:C(ci),id:ui.optional(),error:P({code:re().int(),message:y(),data:ge().optional()})}).strict();var Rh=t=>Qu.safeParse(t).success;var Oh=pe([Th,$h,Xu,Qu]),lA=pe([Xu,Qu]),li=Ne.strict(),Lw=lt.extend({requestId:ui.optional(),reason:y().optional()}),di=dt.extend({method:C("notifications/cancelled"),params:Lw}),Zw=P({src:y(),mimeType:y().optional(),sizes:G(y()).optional(),theme:Xe(["light","dark"]).optional()}),Io=P({icons:G(Zw).optional()}),Rn=P({name:y(),title:y().optional()}),Ch=Rn.extend({...Rn.shape,...Io.shape,version:y(),websiteUrl:y().optional(),description:y().optional()}),Uw=ii(P({applyDefaults:Oe().optional()}),le(y(),ge())),Hw=Ku(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,ii(P({form:Uw.optional(),url:Re.optional()}),le(y(),ge()).optional())),Fw=qe({list:Re.optional(),cancel:Re.optional(),requests:qe({sampling:qe({createMessage:Re.optional()}).optional(),elicitation:qe({create:Re.optional()}).optional()}).optional()}),qw=qe({list:Re.optional(),cancel:Re.optional(),requests:qe({tools:qe({call:Re.optional()}).optional()}).optional()}),Bw=P({experimental:le(y(),Re).optional(),sampling:P({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:Hw.optional(),roots:P({listChanged:Oe().optional()}).optional(),tasks:Fw.optional(),extensions:le(y(),Re).optional()}),Vw=st.extend({protocolVersion:y(),capabilities:Bw,clientInfo:Ch}),el=ze.extend({method:C("initialize"),params:Vw});var Kw=P({experimental:le(y(),Re).optional(),logging:Re.optional(),completions:Re.optional(),prompts:P({listChanged:Oe().optional()}).optional(),resources:P({subscribe:Oe().optional(),listChanged:Oe().optional()}).optional(),tools:P({listChanged:Oe().optional()}).optional(),tasks:qw.optional(),extensions:le(y(),Re).optional()}),Jw=Ne.extend({protocolVersion:y(),capabilities:Kw,serverInfo:Ch,instructions:y().optional()}),tl=dt.extend({method:C("notifications/initialized"),params:lt.optional()});var pi=ze.extend({method:C("ping"),params:st.optional()}),Ww=P({progress:re(),total:_e(re()),message:_e(y())}),Gw=P({...lt.shape,...Ww.shape,progressToken:bh}),fi=dt.extend({method:C("notifications/progress"),params:Gw}),Yw=st.extend({cursor:wh.optional()}),zo=ze.extend({params:Yw.optional()}),No=Ne.extend({nextCursor:wh.optional()}),Xw=Xe(["working","input_required","completed","failed","cancelled"]),Ao=P({taskId:y(),status:Xw,ttl:pe([re(),mh()]),createdAt:y(),lastUpdatedAt:y(),pollInterval:_e(re()),statusMessage:_e(y())}),On=Ne.extend({task:Ao}),Qw=lt.merge(Ao),jo=dt.extend({method:C("notifications/tasks/status"),params:Qw}),mi=ze.extend({method:C("tasks/get"),params:st.extend({taskId:y()})}),hi=Ne.merge(Ao),gi=ze.extend({method:C("tasks/result"),params:st.extend({taskId:y()})}),dA=Ne.loose(),_i=zo.extend({method:C("tasks/list")}),yi=No.extend({tasks:G(Ao)}),xi=ze.extend({method:C("tasks/cancel"),params:st.extend({taskId:y()})}),Ih=Ne.merge(Ao),zh=P({uri:y(),mimeType:_e(y()),_meta:le(y(),ge()).optional()}),Nh=zh.extend({text:y()}),rl=y().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Ah=zh.extend({blob:rl}),Mo=Xe(["user","assistant"]),Cn=P({audience:G(Mo).optional(),priority:re().min(0).max(1).optional(),lastModified:Po.datetime({offset:!0}).optional()}),jh=P({...Rn.shape,...Io.shape,uri:y(),description:_e(y()),mimeType:_e(y()),size:_e(re()),annotations:Cn.optional(),_meta:_e(qe({}))}),eE=P({...Rn.shape,...Io.shape,uriTemplate:y(),description:_e(y()),mimeType:_e(y()),annotations:Cn.optional(),_meta:_e(qe({}))}),In=zo.extend({method:C("resources/list")}),tE=No.extend({resources:G(jh)}),zn=zo.extend({method:C("resources/templates/list")}),rE=No.extend({resourceTemplates:G(eE)}),nl=st.extend({uri:y()}),nE=nl,vi=ze.extend({method:C("resources/read"),params:nE}),oE=Ne.extend({contents:G(pe([Nh,Ah]))}),sE=dt.extend({method:C("notifications/resources/list_changed"),params:lt.optional()}),iE=nl,aE=ze.extend({method:C("resources/subscribe"),params:iE}),cE=nl,uE=ze.extend({method:C("resources/unsubscribe"),params:cE}),lE=lt.extend({uri:y()}),dE=dt.extend({method:C("notifications/resources/updated"),params:lE}),pE=P({name:y(),description:_e(y()),required:_e(Oe())}),fE=P({...Rn.shape,...Io.shape,description:_e(y()),arguments:_e(G(pE)),_meta:_e(qe({}))}),Nn=zo.extend({method:C("prompts/list")}),mE=No.extend({prompts:G(fE)}),hE=st.extend({name:y(),arguments:le(y(),y()).optional()}),Si=ze.extend({method:C("prompts/get"),params:hE}),ol=P({type:C("text"),text:y(),annotations:Cn.optional(),_meta:le(y(),ge()).optional()}),sl=P({type:C("image"),data:rl,mimeType:y(),annotations:Cn.optional(),_meta:le(y(),ge()).optional()}),il=P({type:C("audio"),data:rl,mimeType:y(),annotations:Cn.optional(),_meta:le(y(),ge()).optional()}),gE=P({type:C("tool_use"),name:y(),id:y(),input:le(y(),ge()),_meta:le(y(),ge()).optional()}),_E=P({type:C("resource"),resource:pe([Nh,Ah]),annotations:Cn.optional(),_meta:le(y(),ge()).optional()}),yE=jh.extend({type:C("resource_link")}),al=pe([ol,sl,il,yE,_E]),xE=P({role:Mo,content:al}),vE=Ne.extend({description:y().optional(),messages:G(xE)}),SE=dt.extend({method:C("notifications/prompts/list_changed"),params:lt.optional()}),kE=P({title:y().optional(),readOnlyHint:Oe().optional(),destructiveHint:Oe().optional(),idempotentHint:Oe().optional(),openWorldHint:Oe().optional()}),bE=P({taskSupport:Xe(["required","optional","forbidden"]).optional()}),Mh=P({...Rn.shape,...Io.shape,description:y().optional(),inputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(ge()),outputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(ge()).optional(),annotations:kE.optional(),execution:bE.optional(),_meta:le(y(),ge()).optional()}),ki=zo.extend({method:C("tools/list")}),wE=No.extend({tools:G(Mh)}),bi=Ne.extend({content:G(al).default([]),structuredContent:le(y(),ge()).optional(),isError:Oe().optional()}),pA=bi.or(Ne.extend({toolResult:ge()})),EE=Oo.extend({name:y(),arguments:le(y(),ge()).optional()}),An=ze.extend({method:C("tools/call"),params:EE}),TE=dt.extend({method:C("notifications/tools/list_changed"),params:lt.optional()}),fA=P({autoRefresh:Oe().default(!0),debounceMs:re().int().nonnegative().default(300)}),Do=Xe(["debug","info","notice","warning","error","critical","alert","emergency"]),$E=st.extend({level:Do}),cl=ze.extend({method:C("logging/setLevel"),params:$E}),PE=lt.extend({level:Do,logger:y().optional(),data:ge()}),RE=dt.extend({method:C("notifications/message"),params:PE}),OE=P({name:y().optional()}),CE=P({hints:G(OE).optional(),costPriority:re().min(0).max(1).optional(),speedPriority:re().min(0).max(1).optional(),intelligencePriority:re().min(0).max(1).optional()}),IE=P({mode:Xe(["auto","required","none"]).optional()}),zE=P({type:C("tool_result"),toolUseId:y().describe("The unique identifier for the corresponding tool call."),content:G(al).default([]),structuredContent:P({}).loose().optional(),isError:Oe().optional(),_meta:le(y(),ge()).optional()}),NE=Vu("type",[ol,sl,il]),ai=Vu("type",[ol,sl,il,gE,zE]),AE=P({role:Mo,content:pe([ai,G(ai)]),_meta:le(y(),ge()).optional()}),jE=Oo.extend({messages:G(AE),modelPreferences:CE.optional(),systemPrompt:y().optional(),includeContext:Xe(["none","thisServer","allServers"]).optional(),temperature:re().optional(),maxTokens:re().int(),stopSequences:G(y()).optional(),metadata:Re.optional(),tools:G(Mh).optional(),toolChoice:IE.optional()}),ME=ze.extend({method:C("sampling/createMessage"),params:jE}),Lo=Ne.extend({model:y(),stopReason:_e(Xe(["endTurn","stopSequence","maxTokens"]).or(y())),role:Mo,content:NE}),ul=Ne.extend({model:y(),stopReason:_e(Xe(["endTurn","stopSequence","maxTokens","toolUse"]).or(y())),role:Mo,content:pe([ai,G(ai)])}),DE=P({type:C("boolean"),title:y().optional(),description:y().optional(),default:Oe().optional()}),LE=P({type:C("string"),title:y().optional(),description:y().optional(),minLength:re().optional(),maxLength:re().optional(),format:Xe(["email","uri","date","date-time"]).optional(),default:y().optional()}),ZE=P({type:Xe(["number","integer"]),title:y().optional(),description:y().optional(),minimum:re().optional(),maximum:re().optional(),default:re().optional()}),UE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),default:y().optional()}),HE=P({type:C("string"),title:y().optional(),description:y().optional(),oneOf:G(P({const:y(),title:y()})),default:y().optional()}),FE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),enumNames:G(y()).optional(),default:y().optional()}),qE=pe([UE,HE]),BE=P({type:C("array"),title:y().optional(),description:y().optional(),minItems:re().optional(),maxItems:re().optional(),items:P({type:C("string"),enum:G(y())}),default:G(y()).optional()}),VE=P({type:C("array"),title:y().optional(),description:y().optional(),minItems:re().optional(),maxItems:re().optional(),items:P({anyOf:G(P({const:y(),title:y()}))}),default:G(y()).optional()}),KE=pe([BE,VE]),JE=pe([FE,qE,KE]),WE=pe([JE,DE,LE,ZE]),GE=Oo.extend({mode:C("form").optional(),message:y(),requestedSchema:P({type:C("object"),properties:le(y(),WE),required:G(y()).optional()})}),YE=Oo.extend({mode:C("url"),message:y(),elicitationId:y(),url:y().url()}),XE=pe([GE,YE]),QE=ze.extend({method:C("elicitation/create"),params:XE}),eT=lt.extend({elicitationId:y()}),tT=dt.extend({method:C("notifications/elicitation/complete"),params:eT}),jn=Ne.extend({action:Xe(["accept","decline","cancel"]),content:Ku(t=>t===null?void 0:t,le(y(),pe([y(),re(),Oe(),G(y())])).optional())}),rT=P({type:C("ref/resource"),uri:y()});var nT=P({type:C("ref/prompt"),name:y()}),oT=st.extend({ref:pe([nT,rT]),argument:P({name:y(),value:y()}),context:P({arguments:le(y(),y()).optional()}).optional()}),wi=ze.extend({method:C("completion/complete"),params:oT});function Dh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function Lh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var sT=Ne.extend({completion:qe({values:G(y()).max(100),total:_e(re().int()),hasMore:_e(Oe())})}),iT=P({uri:y().startsWith("file://"),name:y().optional(),_meta:le(y(),ge()).optional()}),aT=ze.extend({method:C("roots/list"),params:st.optional()}),ll=Ne.extend({roots:G(iT)}),cT=dt.extend({method:C("notifications/roots/list_changed"),params:lt.optional()}),mA=pe([pi,el,wi,cl,Si,Nn,In,zn,vi,aE,uE,An,ki,mi,gi,_i,xi]),hA=pe([di,fi,tl,cT,jo]),gA=pe([li,Lo,ul,jn,ll,hi,yi,On]),_A=pe([pi,ME,QE,aT,mi,gi,_i,xi]),yA=pe([di,fi,RE,dE,sE,TE,SE,jo,tT]),xA=pe([li,Jw,sT,vE,mE,tE,rE,oE,bi,wE,hi,yi,On]),O=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===N.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Ju(o.elicitations,r)}return new t(e,r,n)}},Ju=class extends O{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function fr(t){return t==="completed"||t==="failed"||t==="cancelled"}var Uh=Symbol("Let zodToJsonSchema decide on which parser to use");var Zh={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},Hh=t=>typeof t=="string"?{...Zh,name:t}:{...Zh,...t};var Fh=t=>{let e=Hh(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function dl(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function Y(t,e,r,n,o){t[e]=r,dl(t,e,n,o)}var Ei=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function ye(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?Ei(e,t.currentPath):e.join("/")}}function qh(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==b.ZodAny&&(r.items=M(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&Y(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&Y(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(Y(r,"minItems",t.exactLength.value,t.exactLength.message,e),Y(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function Bh(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?Y(r,"minimum",n.value,n.message,e):Y(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Y(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?Y(r,"maximum",n.value,n.message,e):Y(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Y(r,"maximum",n.value,n.message,e));break;case"multipleOf":Y(r,"multipleOf",n.value,n.message,e);break}return r}function Vh(){return{type:"boolean"}}function Ti(t,e){return M(t.type._def,e)}var Kh=(t,e)=>M(t.innerType._def,e);function pl(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>pl(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return uT(t,e)}}var uT=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":Y(r,"minimum",n.value,n.message,e);break;case"max":Y(r,"maximum",n.value,n.message,e);break}return r};function Jh(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function Wh(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):ye(e)}function Gh(t){return{type:"string",enum:Array.from(t.values)}}var lT=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Yh(t,e){let r=[M(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),M(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(lT(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 Xh(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var fl,vt={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:()=>(fl===void 0&&(fl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),fl),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 $i(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":Y(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":Y(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":St(r,"email",n.message,e);break;case"format:idn-email":St(r,"idn-email",n.message,e);break;case"pattern:zod":Be(r,vt.email,n.message,e);break}break;case"url":St(r,"uri",n.message,e);break;case"uuid":St(r,"uuid",n.message,e);break;case"regex":Be(r,n.regex,n.message,e);break;case"cuid":Be(r,vt.cuid,n.message,e);break;case"cuid2":Be(r,vt.cuid2,n.message,e);break;case"startsWith":Be(r,RegExp(`^${ml(n.value,e)}`),n.message,e);break;case"endsWith":Be(r,RegExp(`${ml(n.value,e)}$`),n.message,e);break;case"datetime":St(r,"date-time",n.message,e);break;case"date":St(r,"date",n.message,e);break;case"time":St(r,"time",n.message,e);break;case"duration":St(r,"duration",n.message,e);break;case"length":Y(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),Y(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Be(r,RegExp(ml(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&St(r,"ipv4",n.message,e),n.version!=="v4"&&St(r,"ipv6",n.message,e);break}case"base64url":Be(r,vt.base64url,n.message,e);break;case"jwt":Be(r,vt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Be(r,vt.ipv4Cidr,n.message,e),n.version!=="v4"&&Be(r,vt.ipv6Cidr,n.message,e);break}case"emoji":Be(r,vt.emoji(),n.message,e);break;case"ulid":{Be(r,vt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{St(r,"binary",n.message,e);break}case"contentEncoding:base64":{Y(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Be(r,vt.base64,n.message,e);break}}break}case"nanoid":Be(r,vt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function ml(t,e){return e.patternStrategy==="escape"?pT(t):t}var dT=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function pT(t){let e="";for(let r=0;r<t.length;r++)dT.has(t[r])||(e+="\\"),e+=t[r];return e}function St(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):Y(t,"format",e,r,n)}function Be(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:Qh(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):Y(t,"pattern",Qh(e,n),r,n)}function Qh(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",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
54
54
  ]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
55
55
  ]))`;continue}}if(r.s&&n[c]==="."){o+=i?`${n[c]}\r
56
56
  `:`[${n[c]}\r
57
- ]`;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 ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function Pi(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===b.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??ye(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===b.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=$i(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===b.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===b.ZodBranded&&t.keyType._def.type._def.typeName===b.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=Ti(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function eg(t,e){if(e.mapStrategy==="record")return Pi(t,e);let r=M(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||ye(e),n=M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||ye(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function tg(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[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 rg(t){return t.target==="openAi"?void 0:{not:ye({...t,currentPath:[...t.currentPath,"not"]})}}function ng(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Zo={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function sg(t,e){if(e.target==="openApi3")return og(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Zo&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Zo[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 og(t,e)}var og=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>M(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function ig(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:Zo[t.innerType._def.typeName],nullable:!0}:{type:[Zo[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=M(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function ag(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",dl(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?Y(r,"minimum",n.value,n.message,e):Y(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Y(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?Y(r,"maximum",n.value,n.message,e):Y(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Y(r,"maximum",n.value,n.message,e));break;case"multipleOf":Y(r,"multipleOf",n.value,n.message,e);break}return r}function cg(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=mT(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=M(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=fT(t,e);return i!==void 0&&(n.additionalProperties=i),n}function fT(t,e){if(t.catchall._def.typeName!=="ZodNever")return M(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function mT(t){try{return t.isOptional()}catch{return!0}}var ug=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return M(t.innerType._def,e);let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ye(e)},r]}:ye(e)};var lg=(t,e)=>{if(e.pipeStrategy==="input")return M(t.in._def,e);if(e.pipeStrategy==="output")return M(t.out._def,e);let r=M(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=M(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function dg(t,e){return M(t.type._def,e)}function pg(t,e){let n={type:"array",uniqueItems:!0,items:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Y(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Y(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function fg(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:M(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function mg(t){return{not:ye(t)}}function hg(t){return ye(t)}var gg=(t,e)=>M(t.innerType._def,e);var _g=(t,e,r)=>{switch(e){case b.ZodString:return $i(t,r);case b.ZodNumber:return ag(t,r);case b.ZodObject:return cg(t,r);case b.ZodBigInt:return Bh(t,r);case b.ZodBoolean:return Vh();case b.ZodDate:return pl(t,r);case b.ZodUndefined:return mg(r);case b.ZodNull:return ng(r);case b.ZodArray:return qh(t,r);case b.ZodUnion:case b.ZodDiscriminatedUnion:return sg(t,r);case b.ZodIntersection:return Yh(t,r);case b.ZodTuple:return fg(t,r);case b.ZodRecord:return Pi(t,r);case b.ZodLiteral:return Xh(t,r);case b.ZodEnum:return Gh(t);case b.ZodNativeEnum:return tg(t);case b.ZodNullable:return ig(t,r);case b.ZodOptional:return ug(t,r);case b.ZodMap:return eg(t,r);case b.ZodSet:return pg(t,r);case b.ZodLazy:return()=>t.getter()._def;case b.ZodPromise:return dg(t,r);case b.ZodNaN:case b.ZodNever:return rg(r);case b.ZodEffects:return Wh(t,r);case b.ZodAny:return ye(r);case b.ZodUnknown:return hg(r);case b.ZodDefault:return Jh(t,r);case b.ZodBranded:return Ti(t,r);case b.ZodReadonly:return gg(t,r);case b.ZodCatch:return Kh(t,r);case b.ZodPipeline:return lg(t,r);case b.ZodFunction:case b.ZodVoid:case b.ZodSymbol:return;default:return(n=>{})(e)}};function M(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==Uh)return a}if(n&&!r){let a=hT(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=_g(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&gT(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var hT=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Ei(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),ye(e)):e.$refStrategy==="seen"?ye(e):void 0}},gT=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var hl=(t,e)=>{let r=Fh(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:M(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??ye(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=M(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??ye(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.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 _T(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function gl(t,e){return ct(t)?Du(t,{target:_T(e?.target),io:e?.pipeStrategy??"input"}):hl(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function _l(t){let r=ur(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=oi(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function yl(t,e){let r=cr(t,e);if(!r.success)throw r.error;return r.data}var yT=6e4,Ri=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(di,r=>{this._oncancel(r)}),this.setNotificationHandler(fi,r=>{this._onprogress(r)}),this.setRequestHandler(pi,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(mi,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(gi,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,f=new O(d.error.code,d.error.message,d.error.data);l(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new O(N.InvalidParams,`Task not found: ${s}`);if(!dr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(dr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[lr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(_i,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new O(N.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(xi,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(dr(o.status))throw new O(N.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new O(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof O?o:new O(N.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),O.fromError(N.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Co(s)||Rh(s)?this._onresponse(s):Yu(s)?this._onrequest(s,i):Ph(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=O.fromError(N.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[lr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:N.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=Eh(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(i.signal.aborted)throw new O(N.ConnectionClosed,"Request was cancelled");let m={...f,relatedRequestId:e.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let p=m.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:N.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.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(e)}`));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(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Co(e))n(e);else{let i=new O(e.error.code,e.error.message,e.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(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Co(e)&&e.result&&typeof e.result=="object"){let i=e.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),Co(e))o(e);else{let i=O.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,Rn,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new O(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},dr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new O(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new O(N.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=v=>{l(v)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(v){d(v);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[lr]:c}});let p=v=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(v)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(E=>this._onerror(new Error(`Failed to send cancellation: ${E}`)));let S=v instanceof O?v:new O(N.RequestTimeout,String(v));l(S)};this._responseHandlers.set(f,v=>{if(!n?.signal?.aborted){if(v instanceof Error)return l(v);try{let S=cr(r,v.result);S.success?u(S.data):l(S.error)}catch(S){l(S)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let h=n?.timeout??yT,g=()=>p(O.fromError(N.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let v=S=>{let E=this._responseHandlers.get(f);E?E(S):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,v),this._enqueueTaskMessage(_,{type:"request",message:m,timestamp:Date.now()}).catch(S=>{this._cleanupTimeout(f),l(S)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(v=>{this._cleanupTimeout(f),l(v)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},hi,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},yi,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Ih,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[lr]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[lr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[lr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=_l(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=yl(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=_l(e);this._notificationHandlers.set(n,o=>{let s=yl(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&Yu(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new O(N.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new O(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new O(N.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new O(N.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=jo.parse({method:"notifications/tasks/status",params:a});await this.notification(c),dr(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new O(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(dr(a.status))throw new O(N.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=jo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),dr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function yg(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function xg(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];yg(i)&&yg(s)?r[o]={...i,...s}:r[o]=s}return r}var sx=wf(np(),1),ix=wf(ox(),1);function uC(){let t=new sx.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,ix.default)(t),t}var da=class{constructor(e){this._ajv=e??uC()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var pa=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(f=>f.type==="tool_use").map(f=>f.id)),d=new Set(s.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(l.size!==d.size||![...l].every(f=>d.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},Lo,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},An,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function ax(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function cx(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var fa=class extends Ri{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Do.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 da,this.setRequestHandler(el,n=>this._oninitialize(n)),this.setNotificationHandler(tl,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(cl,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Do.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new pa(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=xg(this._capabilities,e)}setRequestHandler(e,r){let o=ur(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(ct(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let l=cr(Nn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new O(N.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=cr(Rn,f);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new O(N.InvalidParams,`Invalid task creation result: ${h}`)}return p.data}let m=cr(bi,f);if(!m.success){let p=m.error instanceof Error?m.error.message:String(m.error);throw new O(N.InvalidParams,`Invalid tools/call result: ${p}`)}return m.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){cx(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&ax(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:kh.includes(r)?r:Wu,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"},li)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},ul,r):this.request({method:"sampling/createMessage",params:e},Lo,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},An,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},An,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new O(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof O?i:new O(N.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},ll,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var lx=Symbol.for("mcp.completable");function dp(t){return!!t&&typeof t=="object"&&lx in t}function dx(t){return t[lx]?.complete}var ux;(function(t){t.Completable="McpCompletable"})(ux||(ux={}));var lC=/^[A-Za-z0-9._-]{1,128}$/;function dC(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!lC.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function pC(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function pp(t){let e=dC(t);return pC(t,e.warnings),e.isValid}var ma=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var ha=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new fa(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ma(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(vr(ki)),this.server.assertCanSetRequestHandler(vr(Nn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ki,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=$n(r.inputSchema);return o?gl(o,{strictUnions:!0,pipeStrategy:"input"}):fC})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=$n(r.outputSchema);o&&(n.outputSchema=gl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Nn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new O(N.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new O(N.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new O(N.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof O&&n.code===N.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=$n(e.inputSchema)??e.inputSchema,i=await ri(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ni(a);throw new O(N.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new O(N.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=$n(e.outputSchema),s=await ri(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ni(i);throw new O(N.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(f=>setTimeout(f,l));let d=await n.taskStore.getTask(c);if(!d)throw new O(N.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(vr(wi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(wi,async e=>{switch(e.params.ref.type){case"ref/prompt":return Dh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return Lh(e),this.handleResourceCompletion(e,e.params.ref);default:throw new O(N.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new O(N.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return gs;let s=ur(n.argsSchema)?.[e.params.argument.name];if(!dp(s))return gs;let i=dx(s);if(!i)return gs;let a=await i(e.params.argument.value,e.params.context);return fx(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return gs;throw new O(N.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return gs;let s=await o(e.params.argument.value,e.params.context);return fx(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(vr(Cn)),this.server.assertCanSetRequestHandler(vr(In)),this.server.assertCanSetRequestHandler(vr(vi)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Cn,async(e,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(In,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(vi,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new O(N.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new O(N.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(vr(zn)),this.server.assertCanSetRequestHandler(vr(Si)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(zn,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?mC(r.argsSchema):void 0}))})),this.server.setRequestHandler(Si,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new O(N.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=$n(n.argsSchema),s=await ri(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ni(c);throw new O(N.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,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(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,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(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Yr(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!==e&&(delete this._registeredPrompts[e],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=Yr(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof Ge?c._def?.innerType:c;return dp(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){pp(e);let l={title:r,description:n,inputSchema:px(o),outputSchema:px(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&pp(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Yr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Yr(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(fp(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!fp(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var fC={type:"object",properties:{}};function mx(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function hx(t){return"_def"in t||"_zod"in t||mx(t)}function fp(t){return typeof t!="object"||t===null||hx(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(mx)}function px(t){if(t){if(fp(t))return Yr(t);if(!hx(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function mC(t){let e=ur(t);return e?Object.entries(e).map(([r,n])=>{let o=Xm(n),s=Qm(n);return{name:r,description:o,required:!s}}):[]}function vr(t){let r=ur(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=oi(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function fx(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var gs={completion:{values:[],hasMore:!1}};import _x from"node:process";var ga=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
57
+ ]`;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 ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function Pi(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===b.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??ye(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===b.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=$i(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===b.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===b.ZodBranded&&t.keyType._def.type._def.typeName===b.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=Ti(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function eg(t,e){if(e.mapStrategy==="record")return Pi(t,e);let r=M(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||ye(e),n=M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||ye(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function tg(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[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 rg(t){return t.target==="openAi"?void 0:{not:ye({...t,currentPath:[...t.currentPath,"not"]})}}function ng(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Zo={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function sg(t,e){if(e.target==="openApi3")return og(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Zo&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Zo[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 og(t,e)}var og=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>M(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function ig(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:Zo[t.innerType._def.typeName],nullable:!0}:{type:[Zo[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=M(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function ag(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",dl(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?Y(r,"minimum",n.value,n.message,e):Y(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Y(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?Y(r,"maximum",n.value,n.message,e):Y(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Y(r,"maximum",n.value,n.message,e));break;case"multipleOf":Y(r,"multipleOf",n.value,n.message,e);break}return r}function cg(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=mT(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=M(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=fT(t,e);return i!==void 0&&(n.additionalProperties=i),n}function fT(t,e){if(t.catchall._def.typeName!=="ZodNever")return M(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function mT(t){try{return t.isOptional()}catch{return!0}}var ug=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return M(t.innerType._def,e);let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ye(e)},r]}:ye(e)};var lg=(t,e)=>{if(e.pipeStrategy==="input")return M(t.in._def,e);if(e.pipeStrategy==="output")return M(t.out._def,e);let r=M(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=M(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function dg(t,e){return M(t.type._def,e)}function pg(t,e){let n={type:"array",uniqueItems:!0,items:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Y(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Y(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function fg(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:M(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function mg(t){return{not:ye(t)}}function hg(t){return ye(t)}var gg=(t,e)=>M(t.innerType._def,e);var _g=(t,e,r)=>{switch(e){case b.ZodString:return $i(t,r);case b.ZodNumber:return ag(t,r);case b.ZodObject:return cg(t,r);case b.ZodBigInt:return Bh(t,r);case b.ZodBoolean:return Vh();case b.ZodDate:return pl(t,r);case b.ZodUndefined:return mg(r);case b.ZodNull:return ng(r);case b.ZodArray:return qh(t,r);case b.ZodUnion:case b.ZodDiscriminatedUnion:return sg(t,r);case b.ZodIntersection:return Yh(t,r);case b.ZodTuple:return fg(t,r);case b.ZodRecord:return Pi(t,r);case b.ZodLiteral:return Xh(t,r);case b.ZodEnum:return Gh(t);case b.ZodNativeEnum:return tg(t);case b.ZodNullable:return ig(t,r);case b.ZodOptional:return ug(t,r);case b.ZodMap:return eg(t,r);case b.ZodSet:return pg(t,r);case b.ZodLazy:return()=>t.getter()._def;case b.ZodPromise:return dg(t,r);case b.ZodNaN:case b.ZodNever:return rg(r);case b.ZodEffects:return Wh(t,r);case b.ZodAny:return ye(r);case b.ZodUnknown:return hg(r);case b.ZodDefault:return Jh(t,r);case b.ZodBranded:return Ti(t,r);case b.ZodReadonly:return gg(t,r);case b.ZodCatch:return Kh(t,r);case b.ZodPipeline:return lg(t,r);case b.ZodFunction:case b.ZodVoid:case b.ZodSymbol:return;default:return(n=>{})(e)}};function M(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==Uh)return a}if(n&&!r){let a=hT(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=_g(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&gT(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var hT=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Ei(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),ye(e)):e.$refStrategy==="seen"?ye(e):void 0}},gT=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var hl=(t,e)=>{let r=Fh(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:M(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??ye(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=M(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??ye(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.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 _T(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function gl(t,e){return ut(t)?Du(t,{target:_T(e?.target),io:e?.pipeStrategy??"input"}):hl(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function _l(t){let r=dr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=oi(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function yl(t,e){let r=lr(t,e);if(!r.success)throw r.error;return r.data}var yT=6e4,Ri=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(di,r=>{this._oncancel(r)}),this.setNotificationHandler(fi,r=>{this._onprogress(r)}),this.setRequestHandler(pi,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(mi,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(gi,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,f=new O(d.error.code,d.error.message,d.error.data);l(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new O(N.InvalidParams,`Task not found: ${s}`);if(!fr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(fr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[pr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(_i,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new O(N.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(xi,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(fr(o.status))throw new O(N.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new O(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof O?o:new O(N.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),O.fromError(N.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Co(s)||Rh(s)?this._onresponse(s):Yu(s)?this._onrequest(s,i):Ph(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=O.fromError(N.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[pr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:N.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=Eh(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(i.signal.aborted)throw new O(N.ConnectionClosed,"Request was cancelled");let m={...f,relatedRequestId:e.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let p=m.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:N.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.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(e)}`));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(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Co(e))n(e);else{let i=new O(e.error.code,e.error.message,e.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(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Co(e)&&e.result&&typeof e.result=="object"){let i=e.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),Co(e))o(e);else{let i=O.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,On,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new O(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},fr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new O(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new O(N.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=v=>{l(v)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(v){d(v);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[pr]:c}});let p=v=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(v)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(E=>this._onerror(new Error(`Failed to send cancellation: ${E}`)));let S=v instanceof O?v:new O(N.RequestTimeout,String(v));l(S)};this._responseHandlers.set(f,v=>{if(!n?.signal?.aborted){if(v instanceof Error)return l(v);try{let S=lr(r,v.result);S.success?u(S.data):l(S.error)}catch(S){l(S)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let h=n?.timeout??yT,g=()=>p(O.fromError(N.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let v=S=>{let E=this._responseHandlers.get(f);E?E(S):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,v),this._enqueueTaskMessage(_,{type:"request",message:m,timestamp:Date.now()}).catch(S=>{this._cleanupTimeout(f),l(S)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(v=>{this._cleanupTimeout(f),l(v)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},hi,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},yi,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Ih,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[pr]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[pr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[pr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=_l(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=yl(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=_l(e);this._notificationHandlers.set(n,o=>{let s=yl(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&Yu(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new O(N.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new O(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new O(N.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new O(N.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=jo.parse({method:"notifications/tasks/status",params:a});await this.notification(c),fr(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new O(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(fr(a.status))throw new O(N.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=jo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),fr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function yg(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function xg(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];yg(i)&&yg(s)?r[o]={...i,...s}:r[o]=s}return r}var sx=wf(np(),1),ix=wf(ox(),1);function uC(){let t=new sx.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,ix.default)(t),t}var da=class{constructor(e){this._ajv=e??uC()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var pa=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(f=>f.type==="tool_use").map(f=>f.id)),d=new Set(s.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(l.size!==d.size||![...l].every(f=>d.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},Lo,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},jn,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function ax(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function cx(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var fa=class extends Ri{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Do.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 da,this.setRequestHandler(el,n=>this._oninitialize(n)),this.setNotificationHandler(tl,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(cl,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Do.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new pa(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=xg(this._capabilities,e)}setRequestHandler(e,r){let o=dr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(ut(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let l=lr(An,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new O(N.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=lr(On,f);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new O(N.InvalidParams,`Invalid task creation result: ${h}`)}return p.data}let m=lr(bi,f);if(!m.success){let p=m.error instanceof Error?m.error.message:String(m.error);throw new O(N.InvalidParams,`Invalid tools/call result: ${p}`)}return m.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){cx(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&ax(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:kh.includes(r)?r:Wu,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"},li)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},ul,r):this.request({method:"sampling/createMessage",params:e},Lo,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},jn,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},jn,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new O(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof O?i:new O(N.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},ll,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var lx=Symbol.for("mcp.completable");function dp(t){return!!t&&typeof t=="object"&&lx in t}function dx(t){return t[lx]?.complete}var ux;(function(t){t.Completable="McpCompletable"})(ux||(ux={}));var lC=/^[A-Za-z0-9._-]{1,128}$/;function dC(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!lC.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function pC(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function pp(t){let e=dC(t);return pC(t,e.warnings),e.isValid}var ma=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var ha=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new fa(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ma(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(ki)),this.server.assertCanSetRequestHandler(kr(An)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ki,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=Pn(r.inputSchema);return o?gl(o,{strictUnions:!0,pipeStrategy:"input"}):fC})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=Pn(r.outputSchema);o&&(n.outputSchema=gl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(An,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new O(N.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new O(N.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new O(N.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof O&&n.code===N.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=Pn(e.inputSchema)??e.inputSchema,i=await ri(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ni(a);throw new O(N.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new O(N.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=Pn(e.outputSchema),s=await ri(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ni(i);throw new O(N.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(f=>setTimeout(f,l));let d=await n.taskStore.getTask(c);if(!d)throw new O(N.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(kr(wi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(wi,async e=>{switch(e.params.ref.type){case"ref/prompt":return Dh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return Lh(e),this.handleResourceCompletion(e,e.params.ref);default:throw new O(N.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new O(N.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return gs;let s=dr(n.argsSchema)?.[e.params.argument.name];if(!dp(s))return gs;let i=dx(s);if(!i)return gs;let a=await i(e.params.argument.value,e.params.context);return fx(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return gs;throw new O(N.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return gs;let s=await o(e.params.argument.value,e.params.context);return fx(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(In)),this.server.assertCanSetRequestHandler(kr(zn)),this.server.assertCanSetRequestHandler(kr(vi)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(In,async(e,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(zn,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(vi,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new O(N.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new O(N.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(Nn)),this.server.assertCanSetRequestHandler(kr(Si)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Nn,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?mC(r.argsSchema):void 0}))})),this.server.setRequestHandler(Si,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new O(N.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=Pn(n.argsSchema),s=await ri(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ni(c);throw new O(N.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,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(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,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(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Yr(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!==e&&(delete this._registeredPrompts[e],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=Yr(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof Ge?c._def?.innerType:c;return dp(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){pp(e);let l={title:r,description:n,inputSchema:px(o),outputSchema:px(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&pp(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Yr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Yr(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(fp(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!fp(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var fC={type:"object",properties:{}};function mx(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function hx(t){return"_def"in t||"_zod"in t||mx(t)}function fp(t){return typeof t!="object"||t===null||hx(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(mx)}function px(t){if(t){if(fp(t))return Yr(t);if(!hx(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function mC(t){let e=dr(t);return e?Object.entries(e).map(([r,n])=>{let o=Xm(n),s=Qm(n);return{name:r,description:o,required:!s}}):[]}function kr(t){let r=dr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=oi(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function fx(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var gs={completion:{values:[],hasMore:!1}};import _x from"node:process";var ga=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
58
58
  `);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),hC(r)}clear(){this._buffer=void 0}};function hC(t){return Oh.parse(JSON.parse(t))}function gx(t){return JSON.stringify(t)+`
59
- `}var _a=class{constructor(e=_x.stdin,r=_x.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new ga,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=gx(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as lS}from"node:module";import{createHash as qI}from"node:crypto";import{existsSync as _t,unlinkSync as br,readdirSync as BI,readFileSync as dS,writeFileSync as pS,rmSync as VI,mkdirSync as gf,cpSync as KI,statSync as sS}from"node:fs";import{execSync as Os}from"node:child_process";import{join as we,dirname as po,resolve as wr}from"node:path";import{fileURLToPath as JI}from"node:url";import{homedir as _f,tmpdir as yf}from"node:os";import{request as WI}from"node:https";import{spawn as yC,execSync as xC,execFileSync as Tx}from"node:child_process";import{mkdtempSync as vC,writeFileSync as bx,rmSync as wx,existsSync as Ex}from"node:fs";import{join as va,resolve as $x}from"node:path";import{tmpdir as SC}from"node:os";import{execSync as mp}from"node:child_process";import{existsSync as yx}from"node:fs";var hp=process.platform==="win32";function Me(t){try{let e=hp?`where ${t}`:`command -v ${t}`;return mp(e,{stdio:"pipe"}),!0}catch{return!1}}function xx(){if(Me("bun"))return!0;if(!hp){let t=process.env.HOME??process.env.USERPROFILE??"";if(t&&yx(`${t}/.bun/bin/bun`))return!0}return!1}function gC(){return Me("bun")?"bun":`${process.env.HOME??process.env.USERPROFILE??""}/.bun/bin/bun`}function _C(){let t=["C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\usr\\bin\\bash.exe"];for(let e of t)if(yx(e))return e;try{let r=mp("where bash",{encoding:"utf-8",stdio:"pipe"}).trim().split(/\r?\n/).map(n=>n.trim()).filter(Boolean);for(let n of r){let o=n.toLowerCase();if(!(o.includes("system32")||o.includes("windowsapps")))return n}return null}catch{return null}}function $t(t){try{return mp(`${t} --version`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function ya(){let e=xx()?gC():null;return{javascript:e??process.execPath,typescript:e||(Me("tsx")?"tsx":Me("ts-node")?"ts-node":null),python:Me("python3")?"python3":Me("python")?"python":null,shell:hp?_C()??(Me("sh")?"sh":Me("powershell")?"powershell":"cmd.exe"):Me("bash")?"bash":"sh",ruby:Me("ruby")?"ruby":null,go:Me("go")?"go":null,rust:Me("rustc")?"rustc":null,php:Me("php")?"php":null,perl:Me("perl")?"perl":null,r:Me("Rscript")?"Rscript":Me("r")?"r":null,elixir:Me("elixir")?"elixir":null}}function xa(){return xx()}function vx(t){let e=[],r=t.javascript?.endsWith("bun")??!1;return e.push(` JavaScript: ${t.javascript} (${$t(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${$t(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${$t(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${$t(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${$t(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${$t(t.go)})`),t.rust&&e.push(` Rust: ${t.rust} (${$t(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${$t(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${$t(t.perl)})`),t.r&&e.push(` R: ${t.r} (${$t(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${$t(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(`
60
- `)}function Sx(t){let e=["javascript","shell"];return t.typescript&&e.push("typescript"),t.python&&e.push("python"),t.ruby&&e.push("ruby"),t.go&&e.push("go"),t.rust&&e.push("rust"),t.php&&e.push("php"),t.perl&&e.push("perl"),t.r&&e.push("r"),t.elixir&&e.push("elixir"),e}function kx(t,e,r){switch(e){case"javascript":return t.javascript.endsWith("bun")?[t.javascript,"run",r]:[t.javascript,r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript?.endsWith("bun")?[t.typescript,"run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}var ht=process.platform==="win32",kC=(()=>{if(ht)return process.env.TEMP??process.env.TMP??SC();try{let t=Tx(process.platform==="darwin"?"getconf":"mktemp",process.platform==="darwin"?["DARWIN_USER_TEMP_DIR"]:["-u","-d"],{env:{...process.env,TMPDIR:void 0},encoding:"utf-8"}).trim(),e=process.platform==="darwin"?t:$x(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();function gp(t){if(ht&&t.pid)try{xC(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var _s=class{#e;#t;#r;#n=new Set;constructor(e){this.#e=e?.hardCapBytes??100*1024*1024,this.#t=e?.projectRoot??process.cwd(),this.#r=e?.runtimes??ya()}get runtimes(){return{...this.#r}}cleanupBackgrounded(){for(let e of this.#n)try{process.kill(ht?e:-e,"SIGTERM")}catch{}this.#n.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=vC(va(kC,".ctx-mode-"));try{let a=this.#s(i,n,r),c=kx(this.#r,r,a);if(c[0]==="__rust_compile_run__")return await this.#i(a,i,o);let u=r==="shell"?this.#t:i,l=await this.#o(c,u,i,o,s);if(!l.backgrounded)try{wx(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{wx(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=$x(this.#t,r),a=this.#c(i,n,o);return this.execute({language:n,code:a,timeout:s})}#s(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main
59
+ `}var _a=class{constructor(e=_x.stdin,r=_x.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new ga,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=gx(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as lS}from"node:module";import{createHash as qI}from"node:crypto";import{existsSync as it,unlinkSync as Er,readdirSync as BI,readFileSync as dS,writeFileSync as pS,rmSync as VI,mkdirSync as gf,cpSync as KI,statSync as sS}from"node:fs";import{execSync as Os}from"node:child_process";import{join as we,dirname as hn,resolve as nr}from"node:path";import{fileURLToPath as JI}from"node:url";import{homedir as _f,tmpdir as yf}from"node:os";import{request as WI}from"node:https";import{spawn as yC,execSync as xC,execFileSync as Tx}from"node:child_process";import{mkdtempSync as vC,writeFileSync as bx,rmSync as wx,existsSync as Ex}from"node:fs";import{join as va,resolve as $x}from"node:path";import{tmpdir as SC}from"node:os";import{execSync as mp}from"node:child_process";import{existsSync as yx}from"node:fs";var hp=process.platform==="win32";function Me(t){try{let e=hp?`where ${t}`:`command -v ${t}`;return mp(e,{stdio:"pipe"}),!0}catch{return!1}}function xx(){if(Me("bun"))return!0;if(!hp){let t=process.env.HOME??process.env.USERPROFILE??"";if(t&&yx(`${t}/.bun/bin/bun`))return!0}return!1}function gC(){return Me("bun")?"bun":`${process.env.HOME??process.env.USERPROFILE??""}/.bun/bin/bun`}function _C(){let t=["C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\usr\\bin\\bash.exe"];for(let e of t)if(yx(e))return e;try{let r=mp("where bash",{encoding:"utf-8",stdio:"pipe"}).trim().split(/\r?\n/).map(n=>n.trim()).filter(Boolean);for(let n of r){let o=n.toLowerCase();if(!(o.includes("system32")||o.includes("windowsapps")))return n}return null}catch{return null}}function $t(t){try{return mp(`${t} --version`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function ya(){let e=xx()?gC():null;return{javascript:e??process.execPath,typescript:e||(Me("tsx")?"tsx":Me("ts-node")?"ts-node":null),python:Me("python3")?"python3":Me("python")?"python":null,shell:hp?_C()??(Me("sh")?"sh":Me("powershell")?"powershell":"cmd.exe"):Me("bash")?"bash":"sh",ruby:Me("ruby")?"ruby":null,go:Me("go")?"go":null,rust:Me("rustc")?"rustc":null,php:Me("php")?"php":null,perl:Me("perl")?"perl":null,r:Me("Rscript")?"Rscript":Me("r")?"r":null,elixir:Me("elixir")?"elixir":null}}function xa(){return xx()}function vx(t){let e=[],r=t.javascript?.endsWith("bun")??!1;return e.push(` JavaScript: ${t.javascript} (${$t(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${$t(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${$t(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${$t(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${$t(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${$t(t.go)})`),t.rust&&e.push(` Rust: ${t.rust} (${$t(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${$t(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${$t(t.perl)})`),t.r&&e.push(` R: ${t.r} (${$t(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${$t(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(`
60
+ `)}function Sx(t){let e=["javascript","shell"];return t.typescript&&e.push("typescript"),t.python&&e.push("python"),t.ruby&&e.push("ruby"),t.go&&e.push("go"),t.rust&&e.push("rust"),t.php&&e.push("php"),t.perl&&e.push("perl"),t.r&&e.push("r"),t.elixir&&e.push("elixir"),e}function kx(t,e,r){switch(e){case"javascript":return t.javascript.endsWith("bun")?[t.javascript,"run",r]:[t.javascript,r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript?.endsWith("bun")?[t.typescript,"run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}var gt=process.platform==="win32",kC=(()=>{if(gt)return process.env.TEMP??process.env.TMP??SC();try{let t=Tx(process.platform==="darwin"?"getconf":"mktemp",process.platform==="darwin"?["DARWIN_USER_TEMP_DIR"]:["-u","-d"],{env:{...process.env,TMPDIR:void 0},encoding:"utf-8"}).trim(),e=process.platform==="darwin"?t:$x(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();function gp(t){if(gt&&t.pid)try{xC(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var _s=class{#e;#t;#r;#n=new Set;constructor(e){this.#e=e?.hardCapBytes??100*1024*1024,this.#t=e?.projectRoot??process.cwd(),this.#r=e?.runtimes??ya()}get runtimes(){return{...this.#r}}cleanupBackgrounded(){for(let e of this.#n)try{process.kill(gt?e:-e,"SIGTERM")}catch{}this.#n.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=vC(va(kC,".ctx-mode-"));try{let a=this.#s(i,n,r),c=kx(this.#r,r,a);if(c[0]==="__rust_compile_run__")return await this.#i(a,i,o);let u=r==="shell"?this.#t:i,l=await this.#o(c,u,i,o,s);if(!l.backgrounded)try{wx(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{wx(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=$x(this.#t,r),a=this.#c(i,n,o);return this.execute({language:n,code:a,timeout:s})}#s(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main
61
61
 
62
62
  import "fmt"
63
63
 
@@ -68,9 +68,9 @@ ${r}
68
68
  ${r}`),n==="elixir"&&Ex(va(this.#t,"mix.exs"))&&(r=`Path.wildcard(Path.join(${JSON.stringify(va(this.#t,"_build/dev/lib"))}, "*/ebin"))
69
69
  |> Enum.each(&Code.prepend_path/1)
70
70
 
71
- ${r}`);let s=va(e,`script.${o[n]}`);return n==="shell"?bx(s,r,{encoding:"utf-8",mode:448}):bx(s,r,"utf-8"),s}async#i(e,r,n){let o=ht?".exe":"",s=e.replace(/\.rs$/,"")+o;try{Tx("rustc",[e,"-o",s],{cwd:r,timeout:Math.min(n,6e4),encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(i){return{stdout:"",stderr:`Compilation failed:
72
- ${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#o([s],r,r,n)}async#o(e,r,n,o,s=!1){return new Promise(i=>{let a=ht&&["tsx","ts-node","elixir"].includes(e[0]),c=e[0],u;ht&&e.length===2&&e[1]?u=[e[1].replace(/\\/g,"/")]:u=ht?e.slice(1).map(v=>v.replace(/\\/g,"/")):e.slice(1);let l=yC(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#a(n),shell:a,detached:!ht}),d=!1,f=!1,m=setTimeout(()=>{if(d=!0,s){f=!0,l.pid&&this.#n.add(l.pid),l.unref(),l.stdout.destroy(),l.stderr.destroy();let v=Buffer.concat(p).toString("utf-8"),S=Buffer.concat(h).toString("utf-8");i({stdout:v,stderr:S,exitCode:0,timedOut:!0,backgrounded:!0})}else gp(l)},o),p=[],h=[],g=0,_=!1;l.stdout.on("data",v=>{g+=v.length,g<=this.#e?p.push(v):_||(_=!0,gp(l))}),l.stderr.on("data",v=>{g+=v.length,g<=this.#e?h.push(v):_||(_=!0,gp(l))}),l.on("close",v=>{if(clearTimeout(m),f)return;let S=Buffer.concat(p).toString("utf-8"),E=Buffer.concat(h).toString("utf-8");_&&(E+=`
73
- [output capped at ${(this.#e/1024/1024).toFixed(0)}MB \u2014 process killed]`),i({stdout:S,stderr:E,exitCode:d?1:v??1,timedOut:d})}),l.on("error",v=>{clearTimeout(m),!f&&i({stdout:"",stderr:v.message,exitCode:1,timedOut:!1})})})}#a(e){let r=process.env.HOME??process.env.USERPROFILE??e,n=new Set(["BASH_ENV","ENV","PROMPT_COMMAND","PS4","SHELLOPTS","BASHOPTS","CDPATH","INPUTRC","BASH_XTRACEFD","NODE_OPTIONS","NODE_PATH","PYTHONSTARTUP","PYTHONHOME","PYTHONWARNINGS","PYTHONBREAKPOINT","PYTHONINSPECT","RUBYOPT","RUBYLIB","PERL5OPT","PERL5LIB","PERLLIB","PERL5DB","ERL_AFLAGS","ERL_FLAGS","ELIXIR_ERL_OPTIONS","ERL_LIBS","GOFLAGS","CGO_CFLAGS","CGO_LDFLAGS","RUSTC","RUSTC_WRAPPER","RUSTC_WORKSPACE_WRAPPER","CARGO_BUILD_RUSTC","CARGO_BUILD_RUSTC_WRAPPER","RUSTFLAGS","PHPRC","PHP_INI_SCAN_DIR","R_PROFILE","R_PROFILE_USER","R_HOME","LD_PRELOAD","DYLD_INSERT_LIBRARIES","OPENSSL_CONF","OPENSSL_ENGINES","CC","CXX","AR","GIT_TEMPLATE_DIR","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_EXEC_PATH","GIT_SSH","GIT_SSH_COMMAND","GIT_ASKPASS"]),o={};for(let[s,i]of Object.entries(process.env))i!==void 0&&!n.has(s)&&!s.startsWith("BASH_FUNC_")&&(o[s]=i);if(o.TMPDIR=e,o.HOME=r,o.LANG="en_US.UTF-8",o.PYTHONDONTWRITEBYTECODE="1",o.PYTHONUNBUFFERED="1",o.PYTHONUTF8="1",o.NO_COLOR="1",ht&&!o.PATH&&o.Path&&(o.PATH=o.Path,delete o.Path),o.PATH||(o.PATH=ht?"":"/usr/local/bin:/usr/bin:/bin"),ht){o.MSYS_NO_PATHCONV="1",o.MSYS2_ARG_CONV_EXCL="*";let s="C:\\Program Files\\Git\\usr\\bin",i="C:\\Program Files\\Git\\bin";o.PATH.includes(s)||(o.PATH=`${s};${i};${o.PATH}`)}if(!o.SSL_CERT_FILE){let s=ht?[]:["/etc/ssl/cert.pem","/etc/ssl/certs/ca-certificates.crt","/etc/pki/tls/certs/ca-bundle.crt","/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"];for(let i of s)if(Ex(i)){o.SSL_CERT_FILE=i;break}}return o}#c(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o};
71
+ ${r}`);let s=va(e,`script.${o[n]}`);return n==="shell"?bx(s,r,{encoding:"utf-8",mode:448}):bx(s,r,"utf-8"),s}async#i(e,r,n){let o=gt?".exe":"",s=e.replace(/\.rs$/,"")+o;try{Tx("rustc",[e,"-o",s],{cwd:r,timeout:Math.min(n,6e4),encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(i){return{stdout:"",stderr:`Compilation failed:
72
+ ${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#o([s],r,r,n)}async#o(e,r,n,o,s=!1){return new Promise(i=>{let a=gt&&["tsx","ts-node","elixir"].includes(e[0]),c=e[0],u;gt&&e.length===2&&e[1]?u=[e[1].replace(/\\/g,"/")]:u=gt?e.slice(1).map(v=>v.replace(/\\/g,"/")):e.slice(1);let l=yC(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#a(n),shell:a,detached:!gt}),d=!1,f=!1,m=setTimeout(()=>{if(d=!0,s){f=!0,l.pid&&this.#n.add(l.pid),l.unref(),l.stdout.destroy(),l.stderr.destroy();let v=Buffer.concat(p).toString("utf-8"),S=Buffer.concat(h).toString("utf-8");i({stdout:v,stderr:S,exitCode:0,timedOut:!0,backgrounded:!0})}else gp(l)},o),p=[],h=[],g=0,_=!1;l.stdout.on("data",v=>{g+=v.length,g<=this.#e?p.push(v):_||(_=!0,gp(l))}),l.stderr.on("data",v=>{g+=v.length,g<=this.#e?h.push(v):_||(_=!0,gp(l))}),l.on("close",v=>{if(clearTimeout(m),f)return;let S=Buffer.concat(p).toString("utf-8"),E=Buffer.concat(h).toString("utf-8");_&&(E+=`
73
+ [output capped at ${(this.#e/1024/1024).toFixed(0)}MB \u2014 process killed]`),i({stdout:S,stderr:E,exitCode:d?1:v??1,timedOut:d})}),l.on("error",v=>{clearTimeout(m),!f&&i({stdout:"",stderr:v.message,exitCode:1,timedOut:!1})})})}#a(e){let r=process.env.HOME??process.env.USERPROFILE??e,n=new Set(["BASH_ENV","ENV","PROMPT_COMMAND","PS4","SHELLOPTS","BASHOPTS","CDPATH","INPUTRC","BASH_XTRACEFD","NODE_OPTIONS","NODE_PATH","PYTHONSTARTUP","PYTHONHOME","PYTHONWARNINGS","PYTHONBREAKPOINT","PYTHONINSPECT","RUBYOPT","RUBYLIB","PERL5OPT","PERL5LIB","PERLLIB","PERL5DB","ERL_AFLAGS","ERL_FLAGS","ELIXIR_ERL_OPTIONS","ERL_LIBS","GOFLAGS","CGO_CFLAGS","CGO_LDFLAGS","RUSTC","RUSTC_WRAPPER","RUSTC_WORKSPACE_WRAPPER","CARGO_BUILD_RUSTC","CARGO_BUILD_RUSTC_WRAPPER","RUSTFLAGS","PHPRC","PHP_INI_SCAN_DIR","R_PROFILE","R_PROFILE_USER","R_HOME","LD_PRELOAD","DYLD_INSERT_LIBRARIES","OPENSSL_CONF","OPENSSL_ENGINES","CC","CXX","AR","GIT_TEMPLATE_DIR","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_EXEC_PATH","GIT_SSH","GIT_SSH_COMMAND","GIT_ASKPASS"]),o={};for(let[s,i]of Object.entries(process.env))i!==void 0&&!n.has(s)&&!s.startsWith("BASH_FUNC_")&&(o[s]=i);if(o.TMPDIR=e,o.HOME=r,o.LANG="en_US.UTF-8",o.PYTHONDONTWRITEBYTECODE="1",o.PYTHONUNBUFFERED="1",o.PYTHONUTF8="1",o.NO_COLOR="1",gt&&!o.PATH&&o.Path&&(o.PATH=o.Path,delete o.Path),o.PATH||(o.PATH=gt?"":"/usr/local/bin:/usr/bin:/bin"),gt){o.MSYS_NO_PATHCONV="1",o.MSYS2_ARG_CONV_EXCL="*";let s="C:\\Program Files\\Git\\usr\\bin",i="C:\\Program Files\\Git\\bin";o.PATH.includes(s)||(o.PATH=`${s};${i};${o.PATH}`)}if(!o.SSL_CERT_FILE){let s=gt?[]:["/etc/ssl/cert.pem","/etc/ssl/certs/ca-certificates.crt","/etc/pki/tls/certs/ca-bundle.crt","/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"];for(let i of s)if(Ex(i)){o.SSL_CERT_FILE=i;break}}return o}#c(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o};
74
74
  const file_path = FILE_CONTENT_PATH;
75
75
  const FILE_CONTENT = require("fs").readFileSync(FILE_CONTENT_PATH, "utf-8");
76
76
  ${n}`;case"python":return`FILE_CONTENT_PATH = ${o}
@@ -125,7 +125,7 @@ FILE_CONTENT <- paste(FILE_CONTENT, collapse="\\n")
125
125
  ${n}`;case"elixir":return`file_content_path = ${o}
126
126
  file_path = file_content_path
127
127
  file_content = File.read!(file_content_path)
128
- ${n}`}}};import{createRequire as bC}from"node:module";import{existsSync as wC,unlinkSync as Px,renameSync as TL}from"node:fs";var _p=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){let r="",n=null;for(let s=0;s<e.length;s++){let i=e[s];if(n)r+=i,i===n&&(n=null);else if(i==="'"||i==='"')r+=i,n=i;else if(i===";"){let a=r.trim();a&&this.#e.prepare(a).run(),r=""}else r+=i}let o=r.trim();return o&&this.#e.prepare(o).run(),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.run(...n),get:(...n)=>{let o=r.get(...n);return o===null?void 0:o},all:(...n)=>r.all(...n),iterate:(...n)=>r.iterate(...n)}}transaction(e){return this.#e.transaction(e)}close(){this.#e.close()}},yp=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){return this.#e.exec(e),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.run(...n),get:(...n)=>r.get(...n),all:(...n)=>r.all(...n),iterate:(...n)=>typeof r.iterate=="function"?r.iterate(...n):r.all(...n)[Symbol.iterator]()}}transaction(e){return(...r)=>{this.#e.exec("BEGIN");try{let n=e(...r);return this.#e.exec("COMMIT"),n}catch(n){throw this.#e.exec("ROLLBACK"),n}}}close(){this.#e.close()}},Qn=null;function xs(){if(!Qn){let t=bC(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;Qn=function(n,o){let s=new e(n,{readonly:o?.readonly,create:!0}),i=new _p(s);return o?.timeout&&i.pragma(`busy_timeout = ${o.timeout}`),i}}else if(process.platform==="linux")try{let{DatabaseSync:e}=t(["node","sqlite"].join(":"));Qn=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new yp(s)}}catch{Qn=t("better-sqlite3")}else Qn=t("better-sqlite3")}return Qn}function xp(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function vp(t){if(!wC(t))for(let e of["-wal","-shm"])try{Px(t+e)}catch{}}function Rx(t){for(let e of["","-wal","-shm"])try{Px(t+e)}catch{}}function Sp(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function eo(t,e=[100,500,2e3]){let r;for(let n=0;n<=e.length;n++)try{return t()}catch(o){let s=o instanceof Error?o.message:String(o);if(!s.includes("SQLITE_BUSY")&&!s.includes("database is locked"))throw o;if(r=o instanceof Error?o:new Error(s),n<e.length){let i=e[n],a=Date.now();for(;Date.now()-a<i;);}}throw new Error(`SQLITE_BUSY: database is locked after ${e.length} retries. Original error: ${r?.message}`)}function Ox(t){return t.includes("SQLITE_CORRUPT")||t.includes("SQLITE_NOTADB")||t.includes("database disk image is malformed")||t.includes("file is not a database")}var ys=Symbol.for("__context_mode_live_dbs__"),$L=(()=>{let t=globalThis;return t[ys]||(t[ys]=new Set,process.on("exit",()=>{for(let e of t[ys])Sp(e);t[ys].clear()})),t[ys]})();import{readFileSync as EC,readdirSync as zx,unlinkSync as bp,existsSync as Cx,statSync as kp}from"node:fs";import{tmpdir as Nx}from"node:os";import{join as wp}from"node:path";var to=new Set(["the","and","for","are","but","not","you","all","can","had","her","was","one","our","out","has","his","how","its","may","new","now","old","see","way","who","did","get","got","let","say","she","too","use","will","with","this","that","from","they","been","have","many","some","them","than","each","make","like","just","over","such","take","into","year","your","good","could","would","about","which","their","there","other","after","should","through","also","more","most","only","very","when","what","then","these","those","being","does","done","both","same","still","while","where","here","were","much","update","updates","updated","deps","dev","tests","test","add","added","fix","fixed","run","running","using"]);function TC(t,e="AND"){let r=t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(s=>s.length>0&&!["AND","OR","NOT","NEAR"].includes(s.toUpperCase()));if(r.length===0)return'""';let n=r.filter(s=>!to.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function $C(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=r.split(/\s+/).filter(i=>i.length>=3);if(n.length===0)return"";let o=n.filter(i=>!to.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function PC(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=Array.from({length:e.length+1},(n,o)=>o);for(let n=1;n<=t.length;n++){let o=[n];for(let s=1;s<=e.length;s++)o[s]=t[n-1]===e[s-1]?r[s-1]:1+Math.min(r[s],o[s-1],r[s-1]);r=o}return r[e.length]}function RC(t){return t<=4?1:t<=12?2:3}var Ix=4096;function Ep(){let t=Nx(),e=0;try{let r=zx(t);for(let n of r){let o=n.match(/^context-mode-(\d+)\.db$/);if(!o)continue;let s=parseInt(o[1],10);if(s!==process.pid)try{process.kill(s,0)}catch{let i=wp(t,n);for(let a of["","-wal","-shm"])try{bp(i+a)}catch{}e++}}}catch{}return e}function Tp(t,e){let r=0;try{if(!Cx(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=zx(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=wp(t,s),c=kp(i).mtimeMs<n;if(!c){let u=i+"-wal";if(Cx(u))try{let l=kp(u);l.size>0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{bp(i+u)}catch{}r++}}catch{}}catch{}return r}function OC(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function CC(t){if(t.length===0)return 1/0;if(t.length===1)return 0;let e=t.map(o=>[...o].sort((s,i)=>s-i)),r=new Array(e.length).fill(0),n=1/0;for(;;){let o=1/0,s=-1/0,i=0;for(let c=0;c<e.length;c++){let u=e[c][r[c]];u<o&&(o=u,i=c),u>s&&(s=u)}let a=s-o;if(a<n&&(n=a),r[i]++,r[i]>=e[i].length)break}return n}var Sa=class t{#e;#t;#r;#n;#s;#i;#o;#a;#c;#d;#p;#f;#m;#h;#g;#_;#y;#x;#v;#S;#k;#b;#w;#E;#T;#$;#P;#R;#O;#C;#I;#z;#N=0;static OPTIMIZE_EVERY=50;constructor(e){let r=xs();this.#t=e??wp(Nx(),`context-mode-${process.pid}.db`),vp(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),xp(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(Ox(s)){Rx(this.#t),vp(this.#t);try{n=new r(this.#t,{timeout:3e4}),xp(n)}catch(i){throw new Error(`Failed to create fresh DB after deleting corrupt file: ${i instanceof Error?i.message:String(i)}`)}}else throw o}this.#e=n,this.#Z(),this.#U()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{bp(this.#t+e)}catch{}}#Z(){this.#e.exec(`
128
+ ${n}`}}};import{createRequire as bC}from"node:module";import{existsSync as wC,unlinkSync as Px,renameSync as TL}from"node:fs";var _p=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){let r="",n=null;for(let s=0;s<e.length;s++){let i=e[s];if(n)r+=i,i===n&&(n=null);else if(i==="'"||i==='"')r+=i,n=i;else if(i===";"){let a=r.trim();a&&this.#e.prepare(a).run(),r=""}else r+=i}let o=r.trim();return o&&this.#e.prepare(o).run(),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.run(...n),get:(...n)=>{let o=r.get(...n);return o===null?void 0:o},all:(...n)=>r.all(...n),iterate:(...n)=>r.iterate(...n)}}transaction(e){return this.#e.transaction(e)}close(){this.#e.close()}},yp=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){return this.#e.exec(e),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.run(...n),get:(...n)=>r.get(...n),all:(...n)=>r.all(...n),iterate:(...n)=>typeof r.iterate=="function"?r.iterate(...n):r.all(...n)[Symbol.iterator]()}}transaction(e){return(...r)=>{this.#e.exec("BEGIN");try{let n=e(...r);return this.#e.exec("COMMIT"),n}catch(n){throw this.#e.exec("ROLLBACK"),n}}}close(){this.#e.close()}},eo=null;function xs(){if(!eo){let t=bC(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;eo=function(n,o){let s=new e(n,{readonly:o?.readonly,create:!0}),i=new _p(s);return o?.timeout&&i.pragma(`busy_timeout = ${o.timeout}`),i}}else if(process.platform==="linux")try{let{DatabaseSync:e}=t(["node","sqlite"].join(":"));eo=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new yp(s)}}catch{eo=t("better-sqlite3")}else eo=t("better-sqlite3")}return eo}function xp(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function vp(t){if(!wC(t))for(let e of["-wal","-shm"])try{Px(t+e)}catch{}}function Rx(t){for(let e of["","-wal","-shm"])try{Px(t+e)}catch{}}function Sp(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function to(t,e=[100,500,2e3]){let r;for(let n=0;n<=e.length;n++)try{return t()}catch(o){let s=o instanceof Error?o.message:String(o);if(!s.includes("SQLITE_BUSY")&&!s.includes("database is locked"))throw o;if(r=o instanceof Error?o:new Error(s),n<e.length){let i=e[n],a=Date.now();for(;Date.now()-a<i;);}}throw new Error(`SQLITE_BUSY: database is locked after ${e.length} retries. Original error: ${r?.message}`)}function Ox(t){return t.includes("SQLITE_CORRUPT")||t.includes("SQLITE_NOTADB")||t.includes("database disk image is malformed")||t.includes("file is not a database")}var ys=Symbol.for("__context_mode_live_dbs__"),$L=(()=>{let t=globalThis;return t[ys]||(t[ys]=new Set,process.on("exit",()=>{for(let e of t[ys])Sp(e);t[ys].clear()})),t[ys]})();import{readFileSync as EC,readdirSync as zx,unlinkSync as bp,existsSync as Cx,statSync as kp}from"node:fs";import{tmpdir as Nx}from"node:os";import{join as wp}from"node:path";var ro=new Set(["the","and","for","are","but","not","you","all","can","had","her","was","one","our","out","has","his","how","its","may","new","now","old","see","way","who","did","get","got","let","say","she","too","use","will","with","this","that","from","they","been","have","many","some","them","than","each","make","like","just","over","such","take","into","year","your","good","could","would","about","which","their","there","other","after","should","through","also","more","most","only","very","when","what","then","these","those","being","does","done","both","same","still","while","where","here","were","much","update","updates","updated","deps","dev","tests","test","add","added","fix","fixed","run","running","using"]);function TC(t,e="AND"){let r=t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(s=>s.length>0&&!["AND","OR","NOT","NEAR"].includes(s.toUpperCase()));if(r.length===0)return'""';let n=r.filter(s=>!ro.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function $C(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=r.split(/\s+/).filter(i=>i.length>=3);if(n.length===0)return"";let o=n.filter(i=>!ro.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function PC(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=Array.from({length:e.length+1},(n,o)=>o);for(let n=1;n<=t.length;n++){let o=[n];for(let s=1;s<=e.length;s++)o[s]=t[n-1]===e[s-1]?r[s-1]:1+Math.min(r[s],o[s-1],r[s-1]);r=o}return r[e.length]}function RC(t){return t<=4?1:t<=12?2:3}var Ix=4096;function Ep(){let t=Nx(),e=0;try{let r=zx(t);for(let n of r){let o=n.match(/^context-mode-(\d+)\.db$/);if(!o)continue;let s=parseInt(o[1],10);if(s!==process.pid)try{process.kill(s,0)}catch{let i=wp(t,n);for(let a of["","-wal","-shm"])try{bp(i+a)}catch{}e++}}}catch{}return e}function Tp(t,e){let r=0;try{if(!Cx(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=zx(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=wp(t,s),c=kp(i).mtimeMs<n;if(!c){let u=i+"-wal";if(Cx(u))try{let l=kp(u);l.size>0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{bp(i+u)}catch{}r++}}catch{}}catch{}return r}function OC(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function CC(t){if(t.length===0)return 1/0;if(t.length===1)return 0;let e=t.map(o=>[...o].sort((s,i)=>s-i)),r=new Array(e.length).fill(0),n=1/0;for(;;){let o=1/0,s=-1/0,i=0;for(let c=0;c<e.length;c++){let u=e[c][r[c]];u<o&&(o=u,i=c),u>s&&(s=u)}let a=s-o;if(a<n&&(n=a),r[i]++,r[i]>=e[i].length)break}return n}var Sa=class t{#e;#t;#r;#n;#s;#i;#o;#a;#c;#d;#p;#f;#m;#h;#g;#_;#y;#x;#v;#S;#k;#b;#w;#E;#T;#$;#P;#R;#O;#C;#I;#z;#N=0;static OPTIMIZE_EVERY=50;constructor(e){let r=xs();this.#t=e??wp(Nx(),`context-mode-${process.pid}.db`),vp(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),xp(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(Ox(s)){Rx(this.#t),vp(this.#t);try{n=new r(this.#t,{timeout:3e4}),xp(n)}catch(i){throw new Error(`Failed to create fresh DB after deleting corrupt file: ${i instanceof Error?i.message:String(i)}`)}}else throw o}this.#e=n,this.#Z(),this.#U()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{bp(this.#t+e)}catch{}}#Z(){this.#e.exec(`
129
129
  CREATE TABLE IF NOT EXISTS sources (
130
130
  id INTEGER PRIMARY KEY AUTOINCREMENT,
131
131
  label TEXT NOT NULL,
@@ -320,7 +320,7 @@ ${n}`}}};import{createRequire as bC}from"node:module";import{existsSync as wC,un
320
320
  (SELECT COUNT(*) FROM sources) AS sources,
321
321
  (SELECT COUNT(*) FROM chunks) AS chunks,
322
322
  (SELECT COUNT(*) FROM chunks WHERE content_type = 'code') AS codeChunks
323
- `),this.#C=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#I=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#z=this.#e.prepare("DELETE FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days')")}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??EC(n,"utf-8"),i=o??n??"untitled",a=this.#F(s);return eo(()=>this.#u(a,i,s))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#u([],r,"");let o=this.#q(e,n);return eo(()=>this.#u(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=Ix){if(!e||e.trim().length===0)return this.indexPlainText("",r);let o;try{o=JSON.parse(e)}catch{return this.indexPlainText(e,r)}let s=[];return this.#L(o,[],s,n),s.length===0?this.indexPlainText(e,r):eo(()=>this.#u(s,r,e))}#u(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#a.run(r),this.#c.run(r),this.#d.run(r),e.length===0){let u=this.#r.run(r);return Number(u.lastInsertRowid)}let a=this.#n.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#s.run(u.title,u.content,c,l),this.#i.run(u.title,u.content,c,l)}return c})();return n&&this.#H(n),this.#N++,this.#N%t.OPTIMIZE_EVERY===0&&this.#D(),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}#A(e){return e.map(r=>({title:r.title,content:r.content,source:r.label,rank:r.rank,contentType:r.content_type,highlighted:r.highlighted}))}#l(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=TC(e,o),c,u;return n&&s?(c=i==="exact"?this.#S:this.#v,u=[a,this.#l(n,i),s,r]):n?(c=i==="exact"?this.#m:this.#f,u=[a,this.#l(n,i),r]):s?(c=this.#x,u=[a,s,r]):(c=this.#p,u=[a,r]),eo(()=>this.#A(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=$C(e,o);if(!a)return[];let c,u;return n&&s?(c=i==="exact"?this.#w:this.#b,u=[a,this.#l(n,i),s,r]):n?(c=i==="exact"?this.#_:this.#g,u=[a,this.#l(n,i),r]):s?(c=this.#k,u=[a,s,r]):(c=this.#h,u=[a,r]),eo(()=>this.#A(c.all(...u)))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;let n=RC(r.length),o=this.#y.all(r.length-n,r.length+n),s=null,i=n+1;for(let{word:a}of o){if(a===r)return null;let c=PC(r,a);c<i&&(i=c,s=a)}return i<=n?s:null}#j(e,r,n,o,s="like"){let a=Math.max(r*2,10),c=this.search(e,a,n,"OR",o,s),u=this.searchTrigram(e,a,n,"OR",o,s),l=new Map,d=f=>`${f.source}::${f.title}`;for(let[f,m]of c.entries()){let p=d(m),h=l.get(p);h?h.score+=1/(60+f+1):l.set(p,{result:m,score:1/(60+f+1)})}for(let[f,m]of u.entries()){let p=d(m),h=l.get(p);h?h.score+=1/(60+f+1):l.set(p,{result:m,score:1/(60+f+1)})}return Array.from(l.values()).sort((f,m)=>m.score-f.score).slice(0,r).map(({result:f,score:m})=>({...f,rank:-m}))}#M(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!to.has(i)),s=o.length>0?o:n;return e.map(i=>{let a=i.title.toLowerCase(),c=s.filter(f=>a.includes(f)).length,u=i.contentType==="code"?.6:.3,l=c>0?u*(c/s.length):0,d=0;if(s.length>=2){let f=i.content.toLowerCase(),m=s.map(p=>OC(f,p));m.some(p=>p.length===0)||(d=1/(1+CC(m)/Math.max(f.length,1)))}return{result:i,boost:l+d}}).sort((i,a)=>a.boost-i.boost||i.result.rank-a.result.rank).map(({result:i})=>i)}searchWithFallback(e,r=3,n,o,s="like"){let i=this.#j(e,r,n,o,s);if(i.length>0)return this.#M(i,e).map(f=>({...f,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!to.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#j(l,r,n,o,s);if(d.length>0)return this.#M(d,l).map(m=>({...m,matchLayer:"rrf-fuzzy"}))}return[]}getSourceMeta(e){let r=this.#O.get(e);return r?{label:r.label,chunkCount:r.chunk_count,codeChunkCount:r.code_chunk_count,indexedAt:r.indexed_at}:null}listSources(){return this.#E.all()}getChunksBySource(e){return this.#T.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#$.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#P.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!to.has(f)));for(let f of d)a.set(f,(a.get(f)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let f=Math.log(o/d),m=Math.min(l.length/20,.5),p=/[_]/.test(l),h=l.length>=12,g=p?1.5:h?.8:0;return{word:l,score:f+m+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#R.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}cleanupStaleSources(e){return this.#e.transaction(o=>(this.#C.run(o),this.#I.run(o),this.#z.run(o)))(e).changes}getDBSizeBytes(){try{return kp(this.#t).size}catch{return 0}}#D(){try{this.#e.exec("INSERT INTO chunks(chunks) VALUES('optimize')"),this.#e.exec("INSERT INTO chunks_trigram(chunks_trigram) VALUES('optimize')")}catch{}}close(){this.#D(),Sp(this.#e)}#H(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(o=>o.length>=3&&!to.has(o)),n=[...new Set(r)];this.#e.transaction(()=>{for(let o of n)this.#o.run(o)})()}#F(e,r=Ix){let n=[],o=e.split(`
323
+ `),this.#C=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#I=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#z=this.#e.prepare("DELETE FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days')")}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??EC(n,"utf-8"),i=o??n??"untitled",a=this.#F(s);return to(()=>this.#u(a,i,s))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#u([],r,"");let o=this.#q(e,n);return to(()=>this.#u(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=Ix){if(!e||e.trim().length===0)return this.indexPlainText("",r);let o;try{o=JSON.parse(e)}catch{return this.indexPlainText(e,r)}let s=[];return this.#L(o,[],s,n),s.length===0?this.indexPlainText(e,r):to(()=>this.#u(s,r,e))}#u(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#a.run(r),this.#c.run(r),this.#d.run(r),e.length===0){let u=this.#r.run(r);return Number(u.lastInsertRowid)}let a=this.#n.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#s.run(u.title,u.content,c,l),this.#i.run(u.title,u.content,c,l)}return c})();return n&&this.#H(n),this.#N++,this.#N%t.OPTIMIZE_EVERY===0&&this.#D(),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}#A(e){return e.map(r=>({title:r.title,content:r.content,source:r.label,rank:r.rank,contentType:r.content_type,highlighted:r.highlighted}))}#l(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=TC(e,o),c,u;return n&&s?(c=i==="exact"?this.#S:this.#v,u=[a,this.#l(n,i),s,r]):n?(c=i==="exact"?this.#m:this.#f,u=[a,this.#l(n,i),r]):s?(c=this.#x,u=[a,s,r]):(c=this.#p,u=[a,r]),to(()=>this.#A(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=$C(e,o);if(!a)return[];let c,u;return n&&s?(c=i==="exact"?this.#w:this.#b,u=[a,this.#l(n,i),s,r]):n?(c=i==="exact"?this.#_:this.#g,u=[a,this.#l(n,i),r]):s?(c=this.#k,u=[a,s,r]):(c=this.#h,u=[a,r]),to(()=>this.#A(c.all(...u)))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;let n=RC(r.length),o=this.#y.all(r.length-n,r.length+n),s=null,i=n+1;for(let{word:a}of o){if(a===r)return null;let c=PC(r,a);c<i&&(i=c,s=a)}return i<=n?s:null}#j(e,r,n,o,s="like"){let a=Math.max(r*2,10),c=this.search(e,a,n,"OR",o,s),u=this.searchTrigram(e,a,n,"OR",o,s),l=new Map,d=f=>`${f.source}::${f.title}`;for(let[f,m]of c.entries()){let p=d(m),h=l.get(p);h?h.score+=1/(60+f+1):l.set(p,{result:m,score:1/(60+f+1)})}for(let[f,m]of u.entries()){let p=d(m),h=l.get(p);h?h.score+=1/(60+f+1):l.set(p,{result:m,score:1/(60+f+1)})}return Array.from(l.values()).sort((f,m)=>m.score-f.score).slice(0,r).map(({result:f,score:m})=>({...f,rank:-m}))}#M(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!ro.has(i)),s=o.length>0?o:n;return e.map(i=>{let a=i.title.toLowerCase(),c=s.filter(f=>a.includes(f)).length,u=i.contentType==="code"?.6:.3,l=c>0?u*(c/s.length):0,d=0;if(s.length>=2){let f=i.content.toLowerCase(),m=s.map(p=>OC(f,p));m.some(p=>p.length===0)||(d=1/(1+CC(m)/Math.max(f.length,1)))}return{result:i,boost:l+d}}).sort((i,a)=>a.boost-i.boost||i.result.rank-a.result.rank).map(({result:i})=>i)}searchWithFallback(e,r=3,n,o,s="like"){let i=this.#j(e,r,n,o,s);if(i.length>0)return this.#M(i,e).map(f=>({...f,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!ro.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#j(l,r,n,o,s);if(d.length>0)return this.#M(d,l).map(m=>({...m,matchLayer:"rrf-fuzzy"}))}return[]}getSourceMeta(e){let r=this.#O.get(e);return r?{label:r.label,chunkCount:r.chunk_count,codeChunkCount:r.code_chunk_count,indexedAt:r.indexed_at}:null}listSources(){return this.#E.all()}getChunksBySource(e){return this.#T.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#$.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#P.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!ro.has(f)));for(let f of d)a.set(f,(a.get(f)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let f=Math.log(o/d),m=Math.min(l.length/20,.5),p=/[_]/.test(l),h=l.length>=12,g=p?1.5:h?.8:0;return{word:l,score:f+m+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#R.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}cleanupStaleSources(e){return this.#e.transaction(o=>(this.#C.run(o),this.#I.run(o),this.#z.run(o)))(e).changes}getDBSizeBytes(){try{return kp(this.#t).size}catch{return 0}}#D(){try{this.#e.exec("INSERT INTO chunks(chunks) VALUES('optimize')"),this.#e.exec("INSERT INTO chunks_trigram(chunks_trigram) VALUES('optimize')")}catch{}}close(){this.#D(),Sp(this.#e)}#H(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(o=>o.length>=3&&!ro.has(o)),n=[...new Set(r)];this.#e.transaction(()=>{for(let o of n)this.#o.run(o)})()}#F(e,r=Ix){let n=[],o=e.split(`
324
324
  `),s=[],i=[],a="",c=()=>{let l=i.join(`
325
325
  `).trim();if(l.length===0)return;let d=this.#J(s,a),f=i.some(_=>/^`{3,}/.test(_));if(Buffer.byteLength(l)<=r){n.push({title:d,content:l,hasCode:f}),i=[];return}let m=l.split(/\n\n+/),p=[],h=1,g=()=>{if(p.length===0)return;let _=p.join(`
326
326
 
@@ -329,18 +329,18 @@ ${n}`}}};import{createRequire as bC}from"node:module";import{existsSync as wC,un
329
329
  `);Buffer.byteLength(v)>r&&p.length>1&&(p.pop(),g(),p=[_])}g(),i=[]},u=0;for(;u<o.length;){let l=o[u];if(/^[-_*]{3,}\s*$/.test(l)){c(),u++;continue}let d=l.match(/^(#{1,4})\s+(.+)$/);if(d){c();let m=d[1].length,p=d[2].trim();for(;s.length>0&&s[s.length-1].level>=m;)s.pop();s.push({level:m,text:p}),a=p,i.push(l),u++;continue}let f=l.match(/^(`{3,})(.*)?$/);if(f){let m=f[1],p=[l];for(u++;u<o.length;){if(p.push(o[u]),o[u].startsWith(m)&&o[u].trim()===m){u++;break}u++}i.push(...p);continue}i.push(l),u++}return c(),n}#q(e,r){let n=e.split(/\n\s*\n/);if(n.length>=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(`
330
330
  `)[0].slice(0,80)||`Section ${u+1}`,content:l}}).filter(c=>c.content.length>0);let o=e.split(`
331
331
  `);if(o.length<=r)return[{title:"Output",content:e}];let s=[],a=Math.max(r-2,1);for(let c=0;c<o.length;c+=a){let u=o.slice(c,c+r);if(u.length===0)break;let l=c+1,d=Math.min(c+u.length,o.length),f=u[0]?.trim().slice(0,80);s.push({title:f||`Lines ${l}-${d}`,content:u.join(`
332
- `)})}return s}#L(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=JSON.stringify(e,null,2);if(Buffer.byteLength(i)<=o&&!(typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.values(e).some(c=>typeof c=="object"&&c!==null))){n.push({title:s,content:i,hasCode:!0});return}if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let a=Object.entries(e);if(a.length>0){for(let[c,u]of a)this.#L(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#K(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#B(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#V(e,r,n,o,s){let i=e?`${e} > `:"";if(!s)return r===n?`${i}[${r}]`:`${i}[${r}-${n}]`;let a=c=>String(c[s]);return o.length===1?`${i}${a(o[0])}`:o.length<=3?i+o.map(a).join(", "):`${i}${a(o[0])}\u2026${a(o[o.length-1])}`}#K(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#B(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#V(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;l<e.length;l++){a.push(e[l]);let d=JSON.stringify(a,null,2);Buffer.byteLength(d)>o&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#J(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as jx}from"node:fs";import{resolve as ro}from"node:path";import{homedir as Mx}from"node:os";function Dx(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function IC(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function zC(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function Ax(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function NC(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=zC(o),a=Ax(s);r=`^${i}(\\s${a})?$`}else r=`^${Ax(t)}$`;return new RegExp(r,e?"i":"")}function AC(t,e=!1){let r="",n=0;for(;n<t.length;)t[n]==="*"&&t[n+1]==="*"?n+2<t.length&&t[n+2]==="/"?(r+="(.*/)?",n+=3):(r+=".*",n+=2):t[n]==="*"?(r+="[^/]*",n++):t[n]==="?"?(r+="[^/]",n++):(r+=t[n].replace(/[.+^${}()|[\]\\\/\-]/g,"\\$&"),n++);return new RegExp(`^${r}$`,e?"i":"")}function jC(t,e,r=!1){for(let n of e){let o=Dx(n);if(o&&NC(o,r).test(t))return n}return null}function MC(t){let e=[],r="",n=!1,o=!1,s=!1;for(let i=0;i<t.length;i++){let a=t[i],c=i>0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function $p(t){let e;try{e=jx(t,"utf-8")}catch{return null}let r;try{r=JSON.parse(e)}catch{return null}let n=r?.permissions;if(!n||typeof n!="object")return null;let o=s=>Array.isArray(s)?s.filter(i=>typeof i=="string"&&Dx(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Pp(t,e){let r=[];if(t){let s=ro(t,".claude","settings.local.json"),i=$p(s);i&&r.push(i);let a=ro(t,".claude","settings.json"),c=$p(a);c&&r.push(c)}let n=e??ro(Mx(),".claude","settings.json"),o=$p(n);return o&&r.push(o),r}function Lx(t,e,r){let n=[],o=a=>{let c;try{c=jx(a,"utf-8")}catch{return null}let u;try{u=JSON.parse(c)}catch{return null}let l=u?.permissions?.deny;if(!Array.isArray(l))return[];let d=[];for(let f of l){if(typeof f!="string")continue;let m=IC(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(ro(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(ro(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??ro(Mx(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Rp(t,e,r=process.platform==="win32"){let n=MC(t);for(let o of n)for(let s of e){let i=jC(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function Zx(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(AC(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var DC={python:[/os\.system\(\s*(['"])(.*?)\1\s*\)/g,/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*(['"])(.*?)\1/g],javascript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],typescript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],ruby:[/system\(\s*(['"])(.*?)\1/g,/`(.*?)`/g],go:[/exec\.Command\(\s*(['"`])(.*?)\1/g],php:[/shell_exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])system\(\s*(['"`])(.*?)\1/g,/passthru\(\s*(['"`])(.*?)\1/g,/proc_open\(\s*(['"`])(.*?)\1/g],rust:[/Command::new\(\s*(['"`])(.*?)\1/g]};function LC(t){let e=[],r=/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*\[([^\]]+)\]/g,n;for(;(n=r.exec(t))!==null;){let s=[...n[1].matchAll(/(['"])(.*?)\1/g)].map(i=>i[2]);s.length>0&&e.push(s.join(" "))}return e}function Ux(t,e){let r=DC[e];if(!r&&e!=="python")return[];let n=[];if(r)for(let o of r){o.lastIndex=0;let s;for(;(s=o.exec(t))!==null;){let i=s[s.length-1];i&&n.push(i)}}return e==="python"&&n.push(...LC(t)),n}function Op(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r}
332
+ `)})}return s}#L(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=JSON.stringify(e,null,2);if(Buffer.byteLength(i)<=o&&!(typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.values(e).some(c=>typeof c=="object"&&c!==null))){n.push({title:s,content:i,hasCode:!0});return}if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let a=Object.entries(e);if(a.length>0){for(let[c,u]of a)this.#L(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#K(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#B(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#V(e,r,n,o,s){let i=e?`${e} > `:"";if(!s)return r===n?`${i}[${r}]`:`${i}[${r}-${n}]`;let a=c=>String(c[s]);return o.length===1?`${i}${a(o[0])}`:o.length<=3?i+o.map(a).join(", "):`${i}${a(o[0])}\u2026${a(o[o.length-1])}`}#K(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#B(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#V(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;l<e.length;l++){a.push(e[l]);let d=JSON.stringify(a,null,2);Buffer.byteLength(d)>o&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#J(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as jx}from"node:fs";import{resolve as no}from"node:path";import{homedir as Mx}from"node:os";function Dx(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function IC(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function zC(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function Ax(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function NC(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=zC(o),a=Ax(s);r=`^${i}(\\s${a})?$`}else r=`^${Ax(t)}$`;return new RegExp(r,e?"i":"")}function AC(t,e=!1){let r="",n=0;for(;n<t.length;)t[n]==="*"&&t[n+1]==="*"?n+2<t.length&&t[n+2]==="/"?(r+="(.*/)?",n+=3):(r+=".*",n+=2):t[n]==="*"?(r+="[^/]*",n++):t[n]==="?"?(r+="[^/]",n++):(r+=t[n].replace(/[.+^${}()|[\]\\\/\-]/g,"\\$&"),n++);return new RegExp(`^${r}$`,e?"i":"")}function jC(t,e,r=!1){for(let n of e){let o=Dx(n);if(o&&NC(o,r).test(t))return n}return null}function MC(t){let e=[],r="",n=!1,o=!1,s=!1;for(let i=0;i<t.length;i++){let a=t[i],c=i>0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function $p(t){let e;try{e=jx(t,"utf-8")}catch{return null}let r;try{r=JSON.parse(e)}catch{return null}let n=r?.permissions;if(!n||typeof n!="object")return null;let o=s=>Array.isArray(s)?s.filter(i=>typeof i=="string"&&Dx(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Pp(t,e){let r=[];if(t){let s=no(t,".claude","settings.local.json"),i=$p(s);i&&r.push(i);let a=no(t,".claude","settings.json"),c=$p(a);c&&r.push(c)}let n=e??no(Mx(),".claude","settings.json"),o=$p(n);return o&&r.push(o),r}function Lx(t,e,r){let n=[],o=a=>{let c;try{c=jx(a,"utf-8")}catch{return null}let u;try{u=JSON.parse(c)}catch{return null}let l=u?.permissions?.deny;if(!Array.isArray(l))return[];let d=[];for(let f of l){if(typeof f!="string")continue;let m=IC(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(no(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(no(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??no(Mx(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Rp(t,e,r=process.platform==="win32"){let n=MC(t);for(let o of n)for(let s of e){let i=jC(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function Zx(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(AC(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var DC={python:[/os\.system\(\s*(['"])(.*?)\1\s*\)/g,/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*(['"])(.*?)\1/g],javascript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],typescript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],ruby:[/system\(\s*(['"])(.*?)\1/g,/`(.*?)`/g],go:[/exec\.Command\(\s*(['"`])(.*?)\1/g],php:[/shell_exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])system\(\s*(['"`])(.*?)\1/g,/passthru\(\s*(['"`])(.*?)\1/g,/proc_open\(\s*(['"`])(.*?)\1/g],rust:[/Command::new\(\s*(['"`])(.*?)\1/g]};function LC(t){let e=[],r=/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*\[([^\]]+)\]/g,n;for(;(n=r.exec(t))!==null;){let s=[...n[1].matchAll(/(['"])(.*?)\1/g)].map(i=>i[2]);s.length>0&&e.push(s.join(" "))}return e}function Ux(t,e){let r=DC[e];if(!r&&e!=="python")return[];let n=[];if(r)for(let o of r){o.lastIndex=0;let s;for(;(s=o.exec(t))!==null;){let i=s[s.length-1];i&&n.push(i)}}return e==="python"&&n.push(...LC(t)),n}function Op(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r}
333
333
 
334
334
  stdout:
335
335
  ${n}
336
336
 
337
337
  stderr:
338
- ${o}`}}var ZC=process.ppid;function UC(){let t=process.ppid;return!(t!==ZC||t===0||t===1)}function Hx(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??UC,n=!1,o=()=>{n||(n=!0,t.onShutdown())},s=setInterval(()=>{r()||o()},e);s.unref();let i=["SIGTERM","SIGINT"];process.platform!=="win32"&&i.push("SIGHUP");for(let a of i)process.on(a,o);return()=>{n=!0,clearInterval(s);for(let a of i)process.removeListener(a,o)}}import{createHash as HC}from"node:crypto";import{execFileSync as FC}from"node:child_process";function Cp(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=FC("git",["worktree","list","--porcelain"],{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).split(/\r?\n/).find(n=>n.startsWith("worktree "))?.replace("worktree ","")?.trim();if(r&&e!==r)return`__${HC("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var qC={file:"Files tracked",rule:"Project rules (CLAUDE.md)",prompt:"Your requests saved",mcp:"Plugin tools used",git:"Git operations",env:"Environment setup",error:"Errors caught",task:"Tasks in progress",decision:"Your decisions",cwd:"Working directory",skill:"Skills used",subagent:"Delegated work",intent:"Session mode",data:"Data references",role:"Behavioral directives"},BC={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won\u2019t ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"},no=class{db;constructor(e){this.db=e}static contextSavingsTotal(e,r){let n=e-r,o=e>0?Math.round(n/e*1e3)/10:0;return{rawBytes:e,contextBytes:r,savedBytes:n,savedPercent:o}}static thinkInCodeComparison(e,r){let n=r>0?Math.round(e/r*10)/10:0;return{fileBytes:e,outputBytes:r,ratio:n}}static toolSavings(e){return e.map(r=>({...r,savedBytes:r.rawBytes-r.contextBytes}))}static sandboxIO(e,r){return{inputBytes:e,outputBytes:r}}queryAll(e){let n=this.db.prepare("SELECT session_id FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.session_id??"",o=Object.values(e.bytesReturned).reduce((K,Le)=>K+Le,0),s=Object.values(e.calls).reduce((K,Le)=>K+Le,0),i=e.bytesIndexed+e.bytesSandboxed,a=i+o,c=a/Math.max(o,1),u=a>0?Math.round((1-o/a)*100):0,l=new Set([...Object.keys(e.calls),...Object.keys(e.bytesReturned)]),d=Array.from(l).sort().map(K=>({tool:K,calls:e.calls[K]||0,context_kb:Math.round((e.bytesReturned[K]||0)/1024*10)/10,tokens:Math.round((e.bytesReturned[K]||0)/4)})),m=((Date.now()-e.sessionStart)/6e4).toFixed(1),p;if(e.cacheHits>0||e.cacheBytesSaved>0){let K=a+e.cacheBytesSaved,Le=K/Math.max(o,1),ve=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:ve,total_with_cache:K,total_savings_ratio:Le}}let h=this.db.prepare("SELECT COUNT(*) as cnt FROM session_events").get().cnt,g=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),v=this.db.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.compact_count??0,S=this.db.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get(),E=S?!S.consumed:!1,z=this.db.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),de=new Map;for(let K of z){de.has(K.category)||de.set(K.category,new Set);let Le=de.get(K.category);if(Le.size<5){let ve=K.data;K.category==="file"?ve=K.data.split("/").pop()||K.data:K.category==="prompt"&&(ve=ve.length>50?ve.slice(0,47)+"...":ve),ve.length>40&&(ve=ve.slice(0,37)+"..."),Le.add(ve)}}let Te=g.map(K=>({category:K.category,count:K.cnt,label:qC[K.category]||K.category,preview:de.get(K.category)?Array.from(de.get(K.category)).join(", "):"",why:BC[K.category]||"Survives context resets"}));return{savings:{processed_kb:Math.round(a/1024*10)/10,entered_kb:Math.round(o/1024*10)/10,saved_kb:Math.round(i/1024*10)/10,pct:u,savings_ratio:Math.round(c*10)/10,by_tool:d,total_calls:s,total_bytes_returned:o,kept_out:i,total_processed:a},cache:p,session:{id:n,uptime_min:m},continuity:{total_events:h,by_category:Te,compact_count:v,resume_ready:E}}}};function vs(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${t} B`}function VC(t){let e=parseFloat(t);if(isNaN(e)||e<1)return"< 1 min";if(e<60)return`${Math.round(e)} min`;let r=Math.floor(e/60),n=Math.round(e%60);return n>0?`${r}h ${n}m`:`${r}h`}function KC(t,e){let n="#".repeat(40),o=t>0?Math.max(1,Math.round(e/t*40)):40,s="#".repeat(o)+" ".repeat(40-o);return{withoutBar:n,withBar:s}}function ka(t,e,r){let n=[],o=VC(t.session.uptime_min),s=t.savings.kept_out+(t.cache?t.cache.bytes_saved:0),i=t.savings.total_bytes_returned,a=t.savings.total_calls;if(s===0){if(n.push(`context-mode -- session (${o})`),n.push(""),a===0)n.push("No tool calls yet.");else{let _=a===1?"1 tool call":`${a} tool calls`;n.push(`${_} | ${vs(i)} in context | no savings yet`)}return n.push(""),n.push("Tip: Use ctx_execute to analyze files in sandbox -- savings start there."),n.push(""),n.push(e?`v${e}`:"context-mode"),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(`
338
+ ${o}`}}var ZC=process.ppid;function UC(){let t=process.ppid;return!(t!==ZC||t===0||t===1)}function Hx(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??UC,n=!1,o=()=>{n||(n=!0,t.onShutdown())},s=setInterval(()=>{r()||o()},e);s.unref();let i=["SIGTERM","SIGINT"];process.platform!=="win32"&&i.push("SIGHUP");for(let a of i)process.on(a,o);return()=>{n=!0,clearInterval(s);for(let a of i)process.removeListener(a,o)}}import{createHash as HC}from"node:crypto";import{execFileSync as FC}from"node:child_process";function Cp(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=FC("git",["worktree","list","--porcelain"],{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).split(/\r?\n/).find(n=>n.startsWith("worktree "))?.replace("worktree ","")?.trim();if(r&&e!==r)return`__${HC("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var qC={file:"Files tracked",rule:"Project rules (CLAUDE.md)",prompt:"Your requests saved",mcp:"Plugin tools used",git:"Git operations",env:"Environment setup",error:"Errors caught",task:"Tasks in progress",decision:"Your decisions",cwd:"Working directory",skill:"Skills used",subagent:"Delegated work",intent:"Session mode",data:"Data references",role:"Behavioral directives"},BC={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won\u2019t ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"},oo=class{db;constructor(e){this.db=e}static contextSavingsTotal(e,r){let n=e-r,o=e>0?Math.round(n/e*1e3)/10:0;return{rawBytes:e,contextBytes:r,savedBytes:n,savedPercent:o}}static thinkInCodeComparison(e,r){let n=r>0?Math.round(e/r*10)/10:0;return{fileBytes:e,outputBytes:r,ratio:n}}static toolSavings(e){return e.map(r=>({...r,savedBytes:r.rawBytes-r.contextBytes}))}static sandboxIO(e,r){return{inputBytes:e,outputBytes:r}}queryAll(e){let n=this.db.prepare("SELECT session_id FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.session_id??"",o=Object.values(e.bytesReturned).reduce((K,Le)=>K+Le,0),s=Object.values(e.calls).reduce((K,Le)=>K+Le,0),i=e.bytesIndexed+e.bytesSandboxed,a=i+o,c=a/Math.max(o,1),u=a>0?Math.round((1-o/a)*100):0,l=new Set([...Object.keys(e.calls),...Object.keys(e.bytesReturned)]),d=Array.from(l).sort().map(K=>({tool:K,calls:e.calls[K]||0,context_kb:Math.round((e.bytesReturned[K]||0)/1024*10)/10,tokens:Math.round((e.bytesReturned[K]||0)/4)})),m=((Date.now()-e.sessionStart)/6e4).toFixed(1),p;if(e.cacheHits>0||e.cacheBytesSaved>0){let K=a+e.cacheBytesSaved,Le=K/Math.max(o,1),ve=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:ve,total_with_cache:K,total_savings_ratio:Le}}let h=this.db.prepare("SELECT COUNT(*) as cnt FROM session_events").get().cnt,g=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),v=this.db.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.compact_count??0,S=this.db.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get(),E=S?!S.consumed:!1,z=this.db.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),de=new Map;for(let K of z){de.has(K.category)||de.set(K.category,new Set);let Le=de.get(K.category);if(Le.size<5){let ve=K.data;K.category==="file"?ve=K.data.split("/").pop()||K.data:K.category==="prompt"&&(ve=ve.length>50?ve.slice(0,47)+"...":ve),ve.length>40&&(ve=ve.slice(0,37)+"..."),Le.add(ve)}}let Te=g.map(K=>({category:K.category,count:K.cnt,label:qC[K.category]||K.category,preview:de.get(K.category)?Array.from(de.get(K.category)).join(", "):"",why:BC[K.category]||"Survives context resets"}));return{savings:{processed_kb:Math.round(a/1024*10)/10,entered_kb:Math.round(o/1024*10)/10,saved_kb:Math.round(i/1024*10)/10,pct:u,savings_ratio:Math.round(c*10)/10,by_tool:d,total_calls:s,total_bytes_returned:o,kept_out:i,total_processed:a},cache:p,session:{id:n,uptime_min:m},continuity:{total_events:h,by_category:Te,compact_count:v,resume_ready:E}}}};function vs(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${t} B`}function VC(t){let e=parseFloat(t);if(isNaN(e)||e<1)return"< 1 min";if(e<60)return`${Math.round(e)} min`;let r=Math.floor(e/60),n=Math.round(e%60);return n>0?`${r}h ${n}m`:`${r}h`}function KC(t,e){let n="#".repeat(40),o=t>0?Math.max(1,Math.round(e/t*40)):40,s="#".repeat(o)+" ".repeat(40-o);return{withoutBar:n,withBar:s}}function ka(t,e,r){let n=[],o=VC(t.session.uptime_min),s=t.savings.kept_out+(t.cache?t.cache.bytes_saved:0),i=t.savings.total_bytes_returned,a=t.savings.total_calls;if(s===0){if(n.push(`context-mode -- session (${o})`),n.push(""),a===0)n.push("No tool calls yet.");else{let _=a===1?"1 tool call":`${a} tool calls`;n.push(`${_} | ${vs(i)} in context | no savings yet`)}return n.push(""),n.push("Tip: Use ctx_execute to analyze files in sandbox -- savings start there."),n.push(""),n.push(e?`v${e}`:"context-mode"),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(`
339
339
  `)}let c=s+i,u=c>0?(s/c*100).toFixed(1):"0.0",l=Math.round(s/4/1e3);n.push(`context-mode -- session (${o})`),n.push("");let{withoutBar:d,withBar:f}=KC(c,i);n.push(`Without context-mode: |${d}| ${vs(c)} in your conversation`),n.push(`With context-mode: |${f}| ${vs(i)} in your conversation`),n.push("");let m=`${vs(s)} processed in sandbox, never entered your conversation. (${u}% reduction)`;if(n.push(m),l>0){let _=l>=60?`+${Math.floor(l/60)}h ${l%60}m`:`+${l}m`;n.push(`${_} session time gained.`)}let p=t.savings.by_tool.filter(_=>_.calls>0);if(p.length>=2){n.push("");for(let _ of p){let v=_.context_kb*1024,S=`${_.calls} call${_.calls!==1?"s":""}`;n.push(` ${_.tool.padEnd(22)} ${S.padEnd(10)} ${vs(v)} used`)}}if(t.continuity.by_category.length>0){n.push(""),n.push(`Session continuity: ${t.continuity.total_events} events preserved across ${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),n.push("");for(let _ of t.continuity.by_category){let v=_.category.padEnd(9),S=String(_.count).padStart(3),E=_.preview.length>45?_.preview.slice(0,42)+"...":_.preview;n.push(` ${v} ${S} ${E.padEnd(47)} ${_.why}`)}}let h=[];t.continuity.by_category.length===0&&t.continuity.compact_count>0&&h.push(`${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),t.continuity.by_category.length===0&&t.continuity.total_events>0&&h.push(`${t.continuity.total_events} event${t.continuity.total_events!==1?"s":""} preserved`);let g=e?`v${e}`:"context-mode";return h.push(g),n.push(""),n.push(h.join(" | ")),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(`
340
- `)}var Er=po(JI(import.meta.url)),Tr=(()=>{for(let t of["../package.json","./package.json"]){let e=wr(Er,t);if(_t(e))try{return JSON.parse(dS(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t}
340
+ `)}var Bt=hn(JI(import.meta.url)),Tr=(()=>{for(let t of["../package.json","./package.json"]){let e=nr(Bt,t);if(it(e))try{return JSON.parse(dS(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t}
341
341
  `)});process.on("uncaughtException",t=>{process.stderr.write(`[context-mode] uncaughtException: ${t?.message??t}
342
- `)});var Ma=ya(),Ia=Sx(Ma),De=new ha({name:"context-mode",version:Tr});De.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});De.server.setRequestHandler(zn,async()=>({prompts:[]}));De.server.setRequestHandler(Cn,async()=>({resources:[]}));De.server.setRequestHandler(In,async()=>({resourceTemplates:[]}));var Cs=new _s({runtimes:Ma,projectRoot:process.env.CLAUDE_PROJECT_DIR}),xf=we(yf(),`cm-fs-preload-${process.pid}.js`);pS(xf,`(function(){var __cm_fs=0;process.on('exit',function(){if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch(e){}});try{var f=require('fs');var ors=f.readFileSync;f.readFileSync=function(){var r=ors.apply(this,arguments);if(Buffer.isBuffer(r))__cm_fs+=r.length;else if(typeof r==='string')__cm_fs+=Buffer.byteLength(r);return r;};}catch(e){}})();
343
- `);var qt=null;function GI(t){try{let e=Is();if(!_t(e))return;let r=BI(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=we(e,n);try{t.index({path:o,source:"session-events"}),br(o)}catch{}}}catch{}}var za=null;function Is(){if(za)return za.getSessionDir();let t=we(_f(),".claude","context-mode","sessions");return gf(t,{recursive:!0}),t}function YI(){return process.env.CLAUDE_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||process.env.VSCODE_CWD||process.env.OPENCODE_PROJECT_DIR||process.env.PI_PROJECT_DIR||process.env.CONTEXT_MODE_PROJECT_DIR||process.cwd()}function Na(){let e=YI().replace(/\\/g,"/");return qI("sha256").update(e).digest("hex").slice(0,16)}function hf(){let t=Na(),e=Is(),r=we(po(e),"content");return gf(r,{recursive:!0}),we(r,`${t}.db`)}function hn(){if(!qt){let t=hf();qt=new Sa(t);try{let e=po(hf());Tp(e,14),qt.cleanupStaleSources(14);let r=we(_f(),".context-mode","content");_t(r)&&Tp(r,0)}catch{}Ep()}return GI(qt),qt}var Ee={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},$r=null,Ca=0,iS=0,XI=3,QI=3600*1e3;async function ez(){return new Promise(t=>{let e=WI("https://registry.npmjs.org/context-mode/latest",{headers:{Connection:"close"}},r=>{let n="";r.on("data",o=>{n+=o}),r.on("end",()=>{try{let o=JSON.parse(n);t(o.version??"unknown")}catch{t("unknown")}})});e.on("error",()=>t("unknown")),e.setTimeout(5e3,()=>{e.destroy(),t("unknown")}),e.end()})}function tz(){let t=za?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function rz(){return!$r||$r==="unknown"?!1:$r!==Tr}function nz(){if(!rz())return!1;let t=Date.now();if(Ca>=XI){if(t-iS<QI)return!1;Ca=0}return Ca===0&&(iS=t),Ca++,!0}function L(t,e){if(nz()&&e.content.length>0){let n=tz();e.content[0].text=`\u26A0\uFE0F context-mode v${Tr} outdated \u2192 v${$r} available. Upgrade: ${n}
342
+ `)});var Ma=ya(),Ia=Sx(Ma),De=new ha({name:"context-mode",version:Tr});De.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});De.server.setRequestHandler(Nn,async()=>({prompts:[]}));De.server.setRequestHandler(In,async()=>({resources:[]}));De.server.setRequestHandler(zn,async()=>({resourceTemplates:[]}));var Cs=new _s({runtimes:Ma,projectRoot:process.env.CLAUDE_PROJECT_DIR}),xf=we(yf(),`cm-fs-preload-${process.pid}.js`);pS(xf,`(function(){var __cm_fs=0;process.on('exit',function(){if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch(e){}});try{var f=require('fs');var ors=f.readFileSync;f.readFileSync=function(){var r=ors.apply(this,arguments);if(Buffer.isBuffer(r))__cm_fs+=r.length;else if(typeof r==='string')__cm_fs+=Buffer.byteLength(r);return r;};}catch(e){}})();
343
+ `);var qt=null;function GI(t){try{let e=Is();if(!it(e))return;let r=BI(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=we(e,n);try{t.index({path:o,source:"session-events"}),Er(o)}catch{}}}catch{}}var za=null;function Is(){if(za)return za.getSessionDir();let t=we(_f(),".claude","context-mode","sessions");return gf(t,{recursive:!0}),t}function YI(){return process.env.CLAUDE_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||process.env.VSCODE_CWD||process.env.OPENCODE_PROJECT_DIR||process.env.PI_PROJECT_DIR||process.env.CONTEXT_MODE_PROJECT_DIR||process.cwd()}function Na(){let e=YI().replace(/\\/g,"/");return qI("sha256").update(e).digest("hex").slice(0,16)}function hf(){let t=Na(),e=Is(),r=we(hn(e),"content");return gf(r,{recursive:!0}),we(r,`${t}.db`)}function gn(){if(!qt){let t=hf();qt=new Sa(t);try{let e=hn(hf());Tp(e,14),qt.cleanupStaleSources(14);let r=we(_f(),".context-mode","content");it(r)&&Tp(r,0)}catch{}Ep()}return GI(qt),qt}var Ee={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},$r=null,Ca=0,iS=0,XI=3,QI=3600*1e3;async function ez(){return new Promise(t=>{let e=WI("https://registry.npmjs.org/context-mode/latest",{headers:{Connection:"close"}},r=>{let n="";r.on("data",o=>{n+=o}),r.on("end",()=>{try{let o=JSON.parse(n);t(o.version??"unknown")}catch{t("unknown")}})});e.on("error",()=>t("unknown")),e.setTimeout(5e3,()=>{e.destroy(),t("unknown")}),e.end()})}function tz(){let t=za?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function rz(){return!$r||$r==="unknown"?!1:$r!==Tr}function nz(){if(!rz())return!1;let t=Date.now();if(Ca>=XI){if(t-iS<QI)return!1;Ca=0}return Ca===0&&(iS=t),Ca++,!0}function L(t,e){if(nz()&&e.content.length>0){let n=tz();e.content[0].text=`\u26A0\uFE0F context-mode v${Tr} outdated \u2192 v${$r} available. Upgrade: ${n}
344
344
 
345
345
  `+e.content[0].text}let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return Ee.calls[t]=(Ee.calls[t]||0)+1,Ee.bytesReturned[t]=(Ee.bytesReturned[t]||0)+r,e}function Ot(t){Ee.bytesIndexed+=t}function vf(t,e){try{let r=Pp(process.env.CLAUDE_PROJECT_DIR),n=Rp(t,r);if(n.decision==="deny")return L(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function fS(t,e,r){try{let n=Ux(t,e);if(n.length===0)return null;let o=Pp(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Rp(s,o);if(i.decision==="deny")return L(r,{content:[{type:"text",text:`Command blocked by security policy: embedded shell command "${s}" matches deny pattern ${i.matchedPattern}`}],isError:!0})}}catch{}return null}function oz(t,e){try{let r=Lx("Read",process.env.CLAUDE_PROJECT_DIR),n=Zx(t,r);if(n.denied)return L(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}var sz=Ia.join(", "),iz=xa()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",az="",cz="";function uz(t){let e=[],r=0,n=0;for(;n<t.length;)if(t[n]===az){for(e.push(r),n++;n<t.length&&t[n]!==cz;)r++,n++;n<t.length&&n++}else r++,n++;return e}function mS(t,e,r=1500,n){if(t.length<=r)return t;let o=[];if(n)for(let u of uz(n))o.push(u);if(o.length===0){let u=e.toLowerCase().split(/\s+/).filter(d=>d.length>2),l=t.toLowerCase();for(let d of u){let f=l.indexOf(d);for(;f!==-1;)o.push(f),f=l.indexOf(d,f+1)}}if(o.length===0)return t.slice(0,r)+`
346
346
  \u2026`;o.sort((u,l)=>u-l);let s=300,i=[];for(let u of o){let l=Math.max(0,u-s),d=Math.min(t.length,u+s);i.length>0&&l<=i[i.length-1][1]?i[i.length-1][1]=d:i.push([l,d])}let a=[],c=0;for(let[u,l]of i){if(c>=r)break;let d=t.slice(u,Math.min(l,u+(r-c)));a.push((u>0?"\u2026":"")+d+(l<t.length?"\u2026":"")),c+=d.length}return a.join(`
@@ -419,16 +419,16 @@ _(process backgrounded after ${r}ms \u2014 still running)_`}]}):l?L("ctx_execute
419
419
  _(timed out after ${r}ms \u2014 partial output shown above)_`}]}):L("ctx_execute",{content:[{type:"text",text:`Execution timed out after ${r}ms
420
420
 
421
421
  stderr:
422
- ${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Op({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>Aa?(Ot(Buffer.byteLength(d)),L("ctx_execute",{content:[{type:"text",text:lo(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>ja?(Ot(Buffer.byteLength(d)),L("ctx_execute",{content:[{type:"text",text:lo(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):L("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),L("ctx_execute",{content:[{type:"text",text:lo(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>ja?L("ctx_execute",hS(u,`execute:${t}`)):L("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return L("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});function hS(t,e){let r=hn();Ot(Buffer.byteLength(t));let n=r.index({content:t,source:e});return{content:[{type:"text",text:`Indexed ${n.totalChunks} sections (${n.codeChunks} with code) from: ${n.label}
423
- Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to scope results.`}]}}var Aa=5e3,ja=102400;function lo(t,e,r,n=5){let o=t.split(`
424
- `).length,s=Buffer.byteLength(t),i=hn(),a=i.indexPlainText(t,r),c=i.searchWithFallback(e,n,r),u=i.getDistinctiveTerms(a.sourceId);if(c.length===0){let d=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`No sections matched intent "${e}" in ${o}-line output (${(s/1024).toFixed(1)}KB).`];return u.length>0&&(d.push(""),d.push(`Searchable terms: ${u.join(", ")}`)),d.push(""),d.push("Use search() to explore the indexed content."),d.join(`
422
+ ${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Op({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>Aa?(Ot(Buffer.byteLength(d)),L("ctx_execute",{content:[{type:"text",text:po(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>ja?(Ot(Buffer.byteLength(d)),L("ctx_execute",{content:[{type:"text",text:po(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):L("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),L("ctx_execute",{content:[{type:"text",text:po(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>ja?L("ctx_execute",hS(u,`execute:${t}`)):L("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return L("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});function hS(t,e){let r=gn();Ot(Buffer.byteLength(t));let n=r.index({content:t,source:e});return{content:[{type:"text",text:`Indexed ${n.totalChunks} sections (${n.codeChunks} with code) from: ${n.label}
423
+ Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to scope results.`}]}}var Aa=5e3,ja=102400;function po(t,e,r,n=5){let o=t.split(`
424
+ `).length,s=Buffer.byteLength(t),i=gn(),a=i.indexPlainText(t,r),c=i.searchWithFallback(e,n,r),u=i.getDistinctiveTerms(a.sourceId);if(c.length===0){let d=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`No sections matched intent "${e}" in ${o}-line output (${(s/1024).toFixed(1)}KB).`];return u.length>0&&(d.push(""),d.push(`Searchable terms: ${u.join(", ")}`)),d.push(""),d.push("Use search() to explore the indexed content."),d.join(`
425
425
  `)}let l=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`${c.length} sections matched "${e}" (${o} lines, ${(s/1024).toFixed(1)}KB):`,""];for(let d of c){let f=d.content.split(`
426
426
  `)[0].slice(0,120);l.push(` - ${d.title}: ${f}`)}return u.length>0&&(l.push(""),l.push(`Searchable terms: ${u.join(", ")}`)),l.push(""),l.push("Use search(queries: [...]) to retrieve full content of any section."),l.join(`
427
427
  `)}De.registerTool("ctx_execute_file",{title:"Execute File Processing",description:`Read a file and process it without loading contents into context. The file is read into a FILE_CONTENT variable inside the sandbox. Only your printed summary enters context.
428
428
 
429
429
  PREFER THIS OVER Read/cat for: log files, data files (CSV, JSON, XML), large source files for analysis, and any file where you need to extract specific information rather than read the entire content.
430
430
 
431
- THINK IN CODE: Write code that processes FILE_CONTENT and console.log() only the answer. Don't read files into context to analyze mentally. Write robust, pure JavaScript \u2014 no npm deps, try/catch, null-safe. Node.js + Bun compatible.`,inputSchema:D.object({path:D.string().describe("Absolute file path or relative to project root"),language:D.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:D.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:D.number().optional().default(3e4).describe("Max execution time in ms"),intent:D.string().optional().describe("What you're looking for in the output. When provided and output is large (>5KB), returns only matching sections via BM25 search instead of truncated output.")})},async({path:t,language:e,code:r,timeout:n,intent:o})=>{let s=oz(t,"execute_file");if(s)return s;if(e==="shell"){let i=vf(r,"execute_file");if(i)return i}else{let i=fS(r,e,"execute_file");if(i)return i}try{let i=await Cs.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return L("ctx_execute_file",{content:[{type:"text",text:`Timed out processing ${t} after ${n}ms`}],isError:!0});if(i.exitCode!==0){let{isError:c,output:u}=Op({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),L("ctx_execute_file",{content:[{type:"text",text:lo(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>ja?(Ot(Buffer.byteLength(u)),L("ctx_execute_file",{content:[{type:"text",text:lo(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):L("ctx_execute_file",{content:[{type:"text",text:u}],isError:c})}let a=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(a)>Aa?(Ot(Buffer.byteLength(a)),L("ctx_execute_file",{content:[{type:"text",text:lo(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>ja?L("ctx_execute_file",hS(a,`file:${t}`)):L("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return L("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});De.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned.
431
+ THINK IN CODE: Write code that processes FILE_CONTENT and console.log() only the answer. Don't read files into context to analyze mentally. Write robust, pure JavaScript \u2014 no npm deps, try/catch, null-safe. Node.js + Bun compatible.`,inputSchema:D.object({path:D.string().describe("Absolute file path or relative to project root"),language:D.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:D.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:D.number().optional().default(3e4).describe("Max execution time in ms"),intent:D.string().optional().describe("What you're looking for in the output. When provided and output is large (>5KB), returns only matching sections via BM25 search instead of truncated output.")})},async({path:t,language:e,code:r,timeout:n,intent:o})=>{let s=oz(t,"execute_file");if(s)return s;if(e==="shell"){let i=vf(r,"execute_file");if(i)return i}else{let i=fS(r,e,"execute_file");if(i)return i}try{let i=await Cs.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return L("ctx_execute_file",{content:[{type:"text",text:`Timed out processing ${t} after ${n}ms`}],isError:!0});if(i.exitCode!==0){let{isError:c,output:u}=Op({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),L("ctx_execute_file",{content:[{type:"text",text:po(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>ja?(Ot(Buffer.byteLength(u)),L("ctx_execute_file",{content:[{type:"text",text:po(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):L("ctx_execute_file",{content:[{type:"text",text:u}],isError:c})}let a=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(a)>Aa?(Ot(Buffer.byteLength(a)),L("ctx_execute_file",{content:[{type:"text",text:po(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>ja?L("ctx_execute_file",hS(a,`file:${t}`)):L("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return L("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});De.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned.
432
432
 
433
433
  WHEN TO USE:
434
434
  - Documentation from Context7, Skills, or MCP tools (API docs, framework guides, code examples)
@@ -439,10 +439,10 @@ WHEN TO USE:
439
439
  - Any content with code examples you may need to reference precisely
440
440
 
441
441
  After indexing, use 'search' to retrieve specific sections on-demand.
442
- Do NOT use for: log files, test output, CSV, build output \u2014 use 'execute_file' for those.`,inputSchema:D.object({content:D.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:D.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:D.string().optional().describe("Label for the indexed content (e.g., 'Context7: React useEffect', 'Skill: frontend-design')")})},async({content:t,path:e,source:r})=>{if(!t&&!e)return L("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)Ot(Buffer.byteLength(t));else if(e)try{let s=await import("fs");Ot(s.readFileSync(e).byteLength)}catch{}let o=hn().index({content:t,path:e,source:r});return L("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label}
442
+ Do NOT use for: log files, test output, CSV, build output \u2014 use 'execute_file' for those.`,inputSchema:D.object({content:D.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:D.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:D.string().optional().describe("Label for the indexed content (e.g., 'Context7: React useEffect', 'Skill: frontend-design')")})},async({content:t,path:e,source:r})=>{if(!t&&!e)return L("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)Ot(Buffer.byteLength(t));else if(e)try{let s=await import("fs");Ot(s.readFileSync(e).byteLength)}catch{}let o=gn().index({content:t,path:e,source:r});return L("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label}
443
443
  Use search(queries: ["..."]) to query this content. Use source: "${o.label}" to scope results.`}]})}catch(n){let o=n instanceof Error?n.message:String(n);return L("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});var mn=0,pf=Date.now(),dz=6e4,aS=3,cS=8;function Sf(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function pz(t){let e=Sf(t);return Array.isArray(e)?e.map((r,n)=>typeof r=="string"?{label:`cmd_${n+1}`,command:r}:r):e}De.registerTool("ctx_search",{title:"Search Indexed Content",description:`Search indexed content. Requires prior indexing via ctx_batch_execute, ctx_index, or ctx_fetch_and_index. Pass ALL search questions as queries array in ONE call.
444
444
 
445
- TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:D.object({queries:D.preprocess(Sf,D.array(D.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:D.number().optional().default(3).describe("Results per query (default: 3)"),source:D.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:D.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'.")})},async t=>{try{let e=hn();if(e.getStats().chunks===0)return L("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet.
445
+ TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:D.object({queries:D.preprocess(Sf,D.array(D.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:D.number().optional().default(3).describe("Results per query (default: 3)"),source:D.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:D.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'.")})},async t=>{try{let e=gn();if(e.getStats().chunks===0)return L("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet.
446
446
 
447
447
  ctx_search is a follow-up tool that queries previously indexed content. To gather and index content first, use:
448
448
  \u2022 ctx_batch_execute(commands, queries) \u2014 run commands, auto-index output, and search in one call
@@ -516,11 +516,11 @@ main();
516
516
 
517
517
  Better than WebFetch: preview is immediate, full content is searchable, raw HTML never enters context.
518
518
 
519
- Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, plain text is indexed directly.`,inputSchema:D.object({url:D.string().describe("The URL to fetch and index"),source:D.string().optional().describe("Label for the indexed content (e.g., 'React useEffect docs', 'Supabase Auth API')"),force:D.boolean().optional().describe("Skip cache and re-fetch even if content was recently indexed")})},async({url:t,source:e,force:r})=>{if(!r){let o=hn(),s=e??t,i=o.getSourceMeta(s);if(i){let a=new Date(i.indexedAt+"Z"),c=Date.now()-a.getTime(),u=1440*60*1e3;if(c<u){let l=Math.floor(c/36e5),d=Math.floor(c/(60*1e3)),f=l>0?`${l}h ago`:d>0?`${d}m ago`:"just now",m=i.chunkCount*1600;return Ee.cacheHits++,Ee.cacheBytesSaved+=m,L("ctx_fetch_and_index",{content:[{type:"text",text:`Cached: **${i.label}** \u2014 ${i.chunkCount} sections, indexed ${f} (fresh, TTL: 24h).
519
+ Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, plain text is indexed directly.`,inputSchema:D.object({url:D.string().describe("The URL to fetch and index"),source:D.string().optional().describe("Label for the indexed content (e.g., 'React useEffect docs', 'Supabase Auth API')"),force:D.boolean().optional().describe("Skip cache and re-fetch even if content was recently indexed")})},async({url:t,source:e,force:r})=>{if(!r){let o=gn(),s=e??t,i=o.getSourceMeta(s);if(i){let a=new Date(i.indexedAt+"Z"),c=Date.now()-a.getTime(),u=1440*60*1e3;if(c<u){let l=Math.floor(c/36e5),d=Math.floor(c/(60*1e3)),f=l>0?`${l}h ago`:d>0?`${d}m ago`:"just now",m=i.chunkCount*1600;return Ee.cacheHits++,Ee.cacheBytesSaved+=m,L("ctx_fetch_and_index",{content:[{type:"text",text:`Cached: **${i.label}** \u2014 ${i.chunkCount} sections, indexed ${f} (fresh, TTL: 24h).
520
520
  To refresh: call ctx_fetch_and_index again with \`force: true\`.
521
521
 
522
522
  You MUST call search() to answer questions about this content \u2014 this cached response contains no content.
523
- Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=we(yf(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=hz(t,n),s=await Cs.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return L("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=hn(),a=(s.stdout||"").trim(),c;try{c=dS(n,"utf-8").trim()}catch{return L("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return L("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});Ot(Buffer.byteLength(c));let u;a==="__CM_CT__:json"?u=i.indexJSON(c,e??t):a==="__CM_CT__:text"?u=i.indexPlainText(c,e??t):u=i.index({content:c,source:e??t});let l=3072,d=c.length>l?c.slice(0,l)+`
523
+ Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=we(yf(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=hz(t,n),s=await Cs.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return L("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=gn(),a=(s.stdout||"").trim(),c;try{c=dS(n,"utf-8").trim()}catch{return L("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return L("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});Ot(Buffer.byteLength(c));let u;a==="__CM_CT__:json"?u=i.indexJSON(c,e??t):a==="__CM_CT__:text"?u=i.indexPlainText(c,e??t):u=i.index({content:c,source:e??t});let l=3072,d=c.length>l?c.slice(0,l)+`
524
524
 
525
525
  \u2026[truncated \u2014 use search() for full content]`:c,f=(Buffer.byteLength(c)/1024).toFixed(1),m=[`Fetched and indexed **${u.totalChunks} sections** (${f}KB) from: ${u.label}`,`Full content indexed in sandbox \u2014 use search(queries: [...], source: "${u.label}") for specific lookups.`,"","---","",d].join(`
526
526
  `);return L("ctx_fetch_and_index",{content:[{type:"text",text:m}]})}catch(o){let s=o instanceof Error?o.message:String(o);return L("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{VI(n)}catch{}}});De.registerTool("ctx_batch_execute",{title:"Batch Execute & Search",description:`Execute multiple commands in ONE call, auto-index all output, and search with multiple queries. Returns search results directly \u2014 no follow-up calls needed.
@@ -541,15 +541,15 @@ ${Te}
541
541
  (skipped \u2014 batch timeout exceeded)
542
542
  `);break}}let a=n.join(`
543
543
  `),c=Buffer.byteLength(a),u=a.split(`
544
- `).length;if(s&&n.length===0)return L("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});Ot(c);let l=hn(),d=`batch:${t.map(S=>S.label).join(",").slice(0,80)}`,f=l.index({content:a,source:d}),m=l.getChunksBySource(f.sourceId),p=["## Indexed Sections",""],h=[];for(let S of m){let E=Buffer.byteLength(S.content);p.push(`- ${S.title} (${(E/1024).toFixed(1)}KB)`),h.push(S.title)}let g=lz(l,e,d),_=l.getDistinctiveTerms?l.getDistinctiveTerms(f.sourceId):[],v=[`Executed ${t.length} commands (${u} lines, ${(c/1024).toFixed(1)}KB). Indexed ${f.totalChunks} sections. Searched ${e.length} queries.`,"",...p,"",...g,_.length>0?`
544
+ `).length;if(s&&n.length===0)return L("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});Ot(c);let l=gn(),d=`batch:${t.map(S=>S.label).join(",").slice(0,80)}`,f=l.index({content:a,source:d}),m=l.getChunksBySource(f.sourceId),p=["## Indexed Sections",""],h=[];for(let S of m){let E=Buffer.byteLength(S.content);p.push(`- ${S.title} (${(E/1024).toFixed(1)}KB)`),h.push(S.title)}let g=lz(l,e,d),_=l.getDistinctiveTerms?l.getDistinctiveTerms(f.sourceId):[],v=[`Executed ${t.length} commands (${u} lines, ${(c/1024).toFixed(1)}KB). Indexed ${f.totalChunks} sections. Searched ${e.length} queries.`,"",...p,"",...g,_.length>0?`
545
545
  Searchable terms for follow-up: ${_.join(", ")}`:""].join(`
546
- `);return L("ctx_batch_execute",{content:[{type:"text",text:v}]})}catch(n){let o=n instanceof Error?n.message:String(n);return L("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});function uS(){return{prepare:()=>({run:()=>{},get:(...t)=>({cnt:0,compact_count:0,minutes:null,rate:0,avg:0,outcome:"exploratory"}),all:()=>[]})}}De.registerTool("ctx_stats",{title:"Session Statistics",description:"Returns context consumption statistics for the current session. Shows total bytes returned to context, breakdown by tool, call counts, estimated token usage, and context savings ratio.",inputSchema:D.object({})},async()=>{let t;try{let e=Na(),r=Cp(),n=we(Is(),`${e}${r}.db`);if(_t(n)){let o=xs(),s=new o(n,{readonly:!0});try{let a=new no(s).queryAll(Ee);t=ka(a,Tr,$r)}finally{s.close()}}else{let s=new no(uS()).queryAll(Ee);t=ka(s,Tr,$r)}}catch{let r=new no(uS()).queryAll(Ee);t=ka(r,Tr,$r)}return L("ctx_stats",{content:[{type:"text",text:t}]})});De.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Runs all checks server-side and returns results as a markdown checklist. No CLI execution needed.",inputSchema:D.object({})},async()=>{let t=["## context-mode doctor",""],e=_t(wr(Er,"package.json"))?Er:po(Er),r=11,n=(Ia.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${Ia.length}/${r} (${n}%) \u2014 ${Ia.join(", ")}`),xa()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new _s({runtimes:Ma});try{let i=await s.execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(i.exitCode===0&&i.stdout.trim()==="ok")t.push("- [x] Server test: PASS");else{let a=i.stderr?.trim()?` (${i.stderr.trim().slice(0,200)})`:"";t.push(`- [ ] Server test: FAIL \u2014 exit ${i.exitCode}${a}`)}}catch(i){t.push(`- [ ] Server test: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{s.cleanupBackgrounded()}}{let s;try{let i=xs();s=new i(":memory:"),s.exec("CREATE VIRTUAL TABLE fts_test USING fts5(content)"),s.exec("INSERT INTO fts_test(content) VALUES ('hello world')");let a=s.prepare("SELECT * FROM fts_test WHERE fts_test MATCH 'hello'").get();a&&a.content==="hello world"?t.push("- [x] FTS5 / SQLite: PASS \u2014 native module works"):t.push("- [ ] FTS5 / SQLite: FAIL \u2014 unexpected result")}catch(i){t.push(`- [ ] FTS5 / SQLite: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{try{s?.close()}catch{}}}let o=wr(e,"hooks","pretooluse.mjs");return _t(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${Tr}`),L("ctx_doctor",{content:[{type:"text",text:t.join(`
547
- `)}]})});De.registerTool("ctx_upgrade",{title:"Upgrade Plugin",description:"Upgrade context-mode to the latest version. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a checklist. Tell the user to restart their session after upgrade.",inputSchema:D.object({})},async()=>{let t=_t(wr(Er,"package.json"))?Er:po(Er),e=wr(t,"cli.bundle.mjs"),r=wr(t,"build","cli.js"),n;if(_t(e))n=`node "${e}" upgrade`;else if(_t(r))n=`node "${r}" upgrade`;else{let s="https://github.com/mksglu/context-mode.git",i=["build","hooks","skills","scripts",".claude-plugin"],a=["start.mjs","server.bundle.mjs","cli.bundle.mjs","package.json"],c=['import{execFileSync}from"node:child_process";','import{cpSync,rmSync,existsSync,mkdtempSync}from"node:fs";','import{join}from"node:path";','import{tmpdir}from"node:os";',`const P=${JSON.stringify(t)};`,'const T=mkdtempSync(join(tmpdir(),"ctx-upgrade-"));',"try{",'console.log("- [x] Starting inline upgrade (no CLI found)");',`execFileSync("git",["clone","--depth","1","${s}",T],{stdio:"inherit"});`,'console.log("- [x] Cloned latest source");','execFileSync("npm",["install"],{cwd:T,stdio:"inherit"});','execFileSync("npm",["run","build"],{cwd:T,stdio:"inherit"});','console.log("- [x] Built from source");',...i.map(d=>`if(existsSync(join(T,${JSON.stringify(d)})))cpSync(join(T,${JSON.stringify(d)}),join(P,${JSON.stringify(d)}),{recursive:true,force:true});`),...a.map(d=>`if(existsSync(join(T,${JSON.stringify(d)})))cpSync(join(T,${JSON.stringify(d)}),join(P,${JSON.stringify(d)}),{force:true});`),'console.log("- [x] Copied build artifacts");','execFileSync("npm",["install","--production"],{cwd:P,stdio:"inherit"});','console.log("- [x] Installed production dependencies");','console.log("## context-mode upgrade complete");',"}catch(e){",'console.error("- [ ] Upgrade failed:",e.message);',"process.exit(1);","}finally{","try{rmSync(T,{recursive:true,force:true})}catch{}","}"].join(`
548
- `),u=wr(t,".ctx-upgrade-inline.mjs"),{writeFileSync:l}=await import("node:fs");l(u,c),n=`node "${u}"`}let o=["## ctx-upgrade","","Run this command using your shell execution tool:","","```",n,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for success, `[ ]` for failure","- Example format:"," ```"," ## context-mode upgrade"," - [x] Pulled latest from GitHub"," - [x] Built and installed v0.9.24"," - [x] npm global updated"," - [x] Hooks configured"," - [x] Doctor: all checks PASS"," ```","- Tell the user to restart their session to pick up the new version."].join(`
549
- `);return L("ctx_upgrade",{content:[{type:"text",text:o}]})});De.registerTool("ctx_purge",{title:"Purge Knowledge Base",description:"Permanently deletes ALL session data for this project: FTS5 knowledge base (indexed content), session events DB (analytics, metadata, resume snapshots), and session events markdown. Resets in-memory stats. This is irreversible.",inputSchema:D.object({confirm:D.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return L("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(qt){let r=!1;try{qt.cleanup(),r=!0}catch{}qt=null,r&&e.push("knowledge base (FTS5)")}else{let r=hf(),n=!1;for(let o of["","-wal","-shm"])try{br(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=we(_f(),".context-mode","content",`${Na()}.db`);for(let n of["","-wal","-shm"])try{br(r+n)}catch{}}catch{}try{let r=Na(),n=Cp(),o=Is(),s=we(o,`${r}${n}.db`),i=we(o,`${r}${n}-events.md`),a=we(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{br(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{br(i),u=!0}catch{}u&&e.push("session events markdown");try{br(a)}catch{}}catch{}return Ee.calls={},Ee.bytesReturned={},Ee.bytesIndexed=0,Ee.bytesSandboxed=0,Ee.cacheHits=0,Ee.cacheBytesSaved=0,Ee.sessionStart=Date.now(),e.push("session stats"),L("ctx_purge",{content:[{type:"text",text:`Purged: ${e.join(", ")}. All session data for this project has been permanently deleted.`}]})});De.registerTool("ctx_insight",{title:"Open Insight Dashboard",description:"Opens the context-mode Insight dashboard in the browser. Shows personal analytics: session activity, tool usage, error rate, parallel work patterns, project focus, and actionable insights. First run installs dependencies (~30s). Subsequent runs open instantly.",inputSchema:D.object({port:D.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=wr(Er,"insight"),n=Is(),o=we(po(n),"insight-cache");if(!_t(we(r,"server.mjs")))return L("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let s=[];gf(o,{recursive:!0});let i=sS(we(r,"server.mjs")).mtimeMs,a=_t(we(o,"server.mjs"))?sS(we(o,"server.mjs")).mtimeMs:0;i>a&&(s.push("Copying source files..."),KI(r,o,{recursive:!0,force:!0}),s.push("Source files copied.")),_t(we(o,"node_modules"))||(s.push("Installing dependencies (first run, ~30s)..."),Os("npm install --production=false",{cwd:o,stdio:"pipe",timeout:12e4}),s.push("Dependencies installed.")),s.push("Building dashboard..."),Os("npx vite build",{cwd:o,stdio:"pipe",timeout:3e4}),s.push("Build complete.");let{spawn:u}=await import("node:child_process"),l=u("node",[we(o,"server.mjs")],{cwd:o,env:{...process.env,PORT:String(e)},detached:!0,stdio:"ignore"});l.unref(),await new Promise(m=>setTimeout(m,1500));let d=`http://localhost:${e}`,f=process.platform;try{f==="darwin"?Os(`open "${d}"`,{stdio:"pipe"}):f==="win32"?Os(`start "" "${d}"`,{stdio:"pipe"}):Os(`xdg-open "${d}" 2>/dev/null || sensible-browser "${d}" 2>/dev/null`,{stdio:"pipe"})}catch{}return s.push(`Dashboard running at ${d}`),L("ctx_insight",{content:[{type:"text",text:s.map(m=>`- ${m}`).join(`
546
+ `);return L("ctx_batch_execute",{content:[{type:"text",text:v}]})}catch(n){let o=n instanceof Error?n.message:String(n);return L("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});function uS(){return{prepare:()=>({run:()=>{},get:(...t)=>({cnt:0,compact_count:0,minutes:null,rate:0,avg:0,outcome:"exploratory"}),all:()=>[]})}}De.registerTool("ctx_stats",{title:"Session Statistics",description:"Returns context consumption statistics for the current session. Shows total bytes returned to context, breakdown by tool, call counts, estimated token usage, and context savings ratio.",inputSchema:D.object({})},async()=>{let t;try{let e=Na(),r=Cp(),n=we(Is(),`${e}${r}.db`);if(it(n)){let o=xs(),s=new o(n,{readonly:!0});try{let a=new oo(s).queryAll(Ee);t=ka(a,Tr,$r)}finally{s.close()}}else{let s=new oo(uS()).queryAll(Ee);t=ka(s,Tr,$r)}}catch{let r=new oo(uS()).queryAll(Ee);t=ka(r,Tr,$r)}return L("ctx_stats",{content:[{type:"text",text:t}]})});De.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Runs all checks server-side and returns results as a markdown checklist. No CLI execution needed.",inputSchema:D.object({})},async()=>{let t=["## context-mode doctor",""],e=it(nr(Bt,"package.json"))?Bt:hn(Bt),r=11,n=(Ia.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${Ia.length}/${r} (${n}%) \u2014 ${Ia.join(", ")}`),xa()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new _s({runtimes:Ma});try{let i=await s.execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(i.exitCode===0&&i.stdout.trim()==="ok")t.push("- [x] Server test: PASS");else{let a=i.stderr?.trim()?` (${i.stderr.trim().slice(0,200)})`:"";t.push(`- [ ] Server test: FAIL \u2014 exit ${i.exitCode}${a}`)}}catch(i){t.push(`- [ ] Server test: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{s.cleanupBackgrounded()}}{let s;try{let i=xs();s=new i(":memory:"),s.exec("CREATE VIRTUAL TABLE fts_test USING fts5(content)"),s.exec("INSERT INTO fts_test(content) VALUES ('hello world')");let a=s.prepare("SELECT * FROM fts_test WHERE fts_test MATCH 'hello'").get();a&&a.content==="hello world"?t.push("- [x] FTS5 / SQLite: PASS \u2014 native module works"):t.push("- [ ] FTS5 / SQLite: FAIL \u2014 unexpected result")}catch(i){t.push(`- [ ] FTS5 / SQLite: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{try{s?.close()}catch{}}}let o=nr(e,"hooks","pretooluse.mjs");return it(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${Tr}`),L("ctx_doctor",{content:[{type:"text",text:t.join(`
547
+ `)}]})});De.registerTool("ctx_upgrade",{title:"Upgrade Plugin",description:"Upgrade context-mode to the latest version. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a checklist. Tell the user to restart their session after upgrade.",inputSchema:D.object({})},async()=>{let t=it(nr(Bt,"package.json"))?Bt:hn(Bt),e=nr(t,"cli.bundle.mjs"),r=nr(t,"build","cli.js"),n;if(it(e))n=`node "${e}" upgrade`;else if(it(r))n=`node "${r}" upgrade`;else{let s="https://github.com/mksglu/context-mode.git",i=["build","hooks","skills","scripts",".claude-plugin"],a=["start.mjs","server.bundle.mjs","cli.bundle.mjs","package.json"],c=['import{execFileSync}from"node:child_process";','import{cpSync,rmSync,existsSync,mkdtempSync}from"node:fs";','import{join}from"node:path";','import{tmpdir}from"node:os";',`const P=${JSON.stringify(t)};`,'const T=mkdtempSync(join(tmpdir(),"ctx-upgrade-"));',"try{",'console.log("- [x] Starting inline upgrade (no CLI found)");',`execFileSync("git",["clone","--depth","1","${s}",T],{stdio:"inherit"});`,'console.log("- [x] Cloned latest source");','execFileSync("npm",["install"],{cwd:T,stdio:"inherit"});','execFileSync("npm",["run","build"],{cwd:T,stdio:"inherit"});','console.log("- [x] Built from source");',...i.map(d=>`if(existsSync(join(T,${JSON.stringify(d)})))cpSync(join(T,${JSON.stringify(d)}),join(P,${JSON.stringify(d)}),{recursive:true,force:true});`),...a.map(d=>`if(existsSync(join(T,${JSON.stringify(d)})))cpSync(join(T,${JSON.stringify(d)}),join(P,${JSON.stringify(d)}),{force:true});`),'console.log("- [x] Copied build artifacts");','execFileSync("npm",["install","--production"],{cwd:P,stdio:"inherit"});','console.log("- [x] Installed production dependencies");','console.log("## context-mode upgrade complete");',"}catch(e){",'console.error("- [ ] Upgrade failed:",e.message);',"process.exit(1);","}finally{","try{rmSync(T,{recursive:true,force:true})}catch{}","}"].join(`
548
+ `),u=nr(t,".ctx-upgrade-inline.mjs"),{writeFileSync:l}=await import("node:fs");l(u,c),n=`node "${u}"`}let o=["## ctx-upgrade","","Run this command using your shell execution tool:","","```",n,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for success, `[ ]` for failure","- Example format:"," ```"," ## context-mode upgrade"," - [x] Pulled latest from GitHub"," - [x] Built and installed v0.9.24"," - [x] npm global updated"," - [x] Hooks configured"," - [x] Doctor: all checks PASS"," ```","- Tell the user to restart their session to pick up the new version."].join(`
549
+ `);return L("ctx_upgrade",{content:[{type:"text",text:o}]})});De.registerTool("ctx_purge",{title:"Purge Knowledge Base",description:"Permanently deletes ALL session data for this project: FTS5 knowledge base (indexed content), session events DB (analytics, metadata, resume snapshots), and session events markdown. Resets in-memory stats. This is irreversible.",inputSchema:D.object({confirm:D.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return L("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(qt){let r=!1;try{qt.cleanup(),r=!0}catch{}qt=null,r&&e.push("knowledge base (FTS5)")}else{let r=hf(),n=!1;for(let o of["","-wal","-shm"])try{Er(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=we(_f(),".context-mode","content",`${Na()}.db`);for(let n of["","-wal","-shm"])try{Er(r+n)}catch{}}catch{}try{let r=Na(),n=Cp(),o=Is(),s=we(o,`${r}${n}.db`),i=we(o,`${r}${n}-events.md`),a=we(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{Er(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{Er(i),u=!0}catch{}u&&e.push("session events markdown");try{Er(a)}catch{}}catch{}return Ee.calls={},Ee.bytesReturned={},Ee.bytesIndexed=0,Ee.bytesSandboxed=0,Ee.cacheHits=0,Ee.cacheBytesSaved=0,Ee.sessionStart=Date.now(),e.push("session stats"),L("ctx_purge",{content:[{type:"text",text:`Purged: ${e.join(", ")}. All session data for this project has been permanently deleted.`}]})});De.registerTool("ctx_insight",{title:"Open Insight Dashboard",description:"Opens the context-mode Insight dashboard in the browser. Shows personal analytics: session activity, tool usage, error rate, parallel work patterns, project focus, and actionable insights. First run installs dependencies (~30s). Subsequent runs open instantly.",inputSchema:D.object({port:D.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=it(nr(Bt,"package.json"))?Bt:hn(Bt),n=nr(r,"insight"),o=Is(),s=we(hn(o),"insight-cache");if(!it(we(n,"server.mjs")))return L("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[];gf(s,{recursive:!0});let a=sS(we(n,"server.mjs")).mtimeMs,c=it(we(s,"server.mjs"))?sS(we(s,"server.mjs")).mtimeMs:0;a>c&&(i.push("Copying source files..."),KI(n,s,{recursive:!0,force:!0}),i.push("Source files copied.")),it(we(s,"node_modules"))||(i.push("Installing dependencies (first run, ~30s)..."),Os("npm install --production=false",{cwd:s,stdio:"pipe",timeout:12e4}),i.push("Dependencies installed.")),i.push("Building dashboard..."),Os("npx vite build",{cwd:s,stdio:"pipe",timeout:3e4}),i.push("Build complete.");let{spawn:l}=await import("node:child_process"),d=l("node",[we(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e)},detached:!0,stdio:"ignore"});d.unref(),await new Promise(p=>setTimeout(p,1500));let f=`http://localhost:${e}`,m=process.platform;try{m==="darwin"?Os(`open "${f}"`,{stdio:"pipe"}):m==="win32"?Os(`start "" "${f}"`,{stdio:"pipe"}):Os(`xdg-open "${f}" 2>/dev/null || sensible-browser "${f}" 2>/dev/null`,{stdio:"pipe"})}catch{}return i.push(`Dashboard running at ${f}`),L("ctx_insight",{content:[{type:"text",text:i.map(p=>`- ${p}`).join(`
550
550
  `)+`
551
551
 
552
- Open: ${d}
553
- PID: ${l.pid} \xB7 Stop: kill ${l.pid}`}]})}catch(s){let i=s instanceof Error?s.message:String(s);return L("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${i}`}]})}});async function gz(){let t=Ep();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=we(yf(),`context-mode-mcp-ready-${process.ppid}`),r=()=>{Cs.cleanupBackgrounded(),qt&&qt.close();try{br(xf)}catch{}try{br(e)}catch{}},n=async()=>{r(),process.exit(0)};process.on("exit",r),process.on("SIGINT",()=>{n()}),process.on("SIGTERM",()=>{n()}),Hx({onShutdown:()=>n()});let o=new _a;await De.connect(o);try{pS(e,String(process.pid))}catch{}try{let{detectPlatform:s,getAdapter:i}=await Promise.resolve().then(()=>(oS(),nS)),a=De.server.getClientVersion(),c=s(a??void 0);za=await i(c.platform),a&&console.error(`MCP client: ${a.name} v${a.version} \u2192 ${c.platform}`)}catch{}ez().then(s=>{s!=="unknown"&&($r=s)}),console.error(`Context Mode MCP server v${Tr} running on stdio`),console.error(`Detected runtimes:
552
+ Open: ${f}
553
+ PID: ${d.pid} \xB7 Stop: kill ${d.pid}`}]})}catch(i){let a=i instanceof Error?i.message:String(i);return L("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${a}`}]})}});async function gz(){let t=Ep();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=we(yf(),`context-mode-mcp-ready-${process.ppid}`),r=()=>{Cs.cleanupBackgrounded(),qt&&qt.close();try{Er(xf)}catch{}try{Er(e)}catch{}},n=async()=>{r(),process.exit(0)};process.on("exit",r),process.on("SIGINT",()=>{n()}),process.on("SIGTERM",()=>{n()}),Hx({onShutdown:()=>n()});let o=new _a;await De.connect(o);try{pS(e,String(process.pid))}catch{}try{let{detectPlatform:s,getAdapter:i}=await Promise.resolve().then(()=>(oS(),nS)),a=De.server.getClientVersion(),c=s(a??void 0);za=await i(c.platform),a&&console.error(`MCP client: ${a.name} v${a.version} \u2192 ${c.platform}`)}catch{}ez().then(s=>{s!=="unknown"&&($r=s)}),console.error(`Context Mode MCP server v${Tr} running on stdio`),console.error(`Detected runtimes:
554
554
  ${vx(Ma)}`),xa()||(console.error(`
555
555
  Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}gz().catch(t=>{console.error("Fatal:",t),process.exit(1)});export{mS as extractSnippet,lz as formatBatchQueryResults,uz as positionsFromHighlight};