diff --git a/insight/server.mjs b/insight/server.mjs index a4677fab..4da5511c 100644 --- a/insight/server.mjs +++ b/insight/server.mjs @@ -586,6 +586,7 @@ function serveStaticFile(pathname) { // ── Server (dual runtime) ──────────────────────────────── const indexHTML = readFileSync(join(DIST_DIR, "index.html"), "utf8"); +const API_JSON_HEADERS = { "Content-Type": "application/json" }; if (isBun) { // Bun: use Bun.serve @@ -597,7 +598,7 @@ if (isBun) { const data = route(req.method, url.pathname, url.searchParams); if (data !== null) { return new Response(JSON.stringify(data), { - headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*" }, + headers: API_JSON_HEADERS, }); } if (url.pathname.startsWith("/assets/") || url.pathname.match(/\.\w{2,4}$/)) { @@ -613,8 +614,6 @@ if (isBun) { // Node: use http.createServer const server = createHttpServer((req, res) => { const url = new URL(req.url, `http://localhost:${PORT}`); - res.setHeader("Access-Control-Allow-Origin", "*"); - res.setHeader("Access-Control-Allow-Methods", "GET, DELETE, OPTIONS"); if (req.method === "OPTIONS") { res.writeHead(204); res.end(); return; } const data = route(req.method, url.pathname, url.searchParams); diff --git a/server.bundle.mjs b/server.bundle.mjs index 5496f32a..8a78c114 100755 --- a/server.bundle.mjs +++ b/server.bundle.mjs @@ -1,31 +1,31 @@ #!/usr/bin/env node -var xS=Object.create;var Da=Object.defineProperty;var vS=Object.getOwnPropertyDescriptor;var SS=Object.getOwnPropertyNames;var kS=Object.getPrototypeOf,bS=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),We=(t,e)=>{for(var r in e)Da(t,r,{get:e[r],enumerable:!0})},wS=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of SS(e))!bS.call(t,o)&&o!==r&&Da(t,o,{get:()=>e[o],enumerable:!(n=vS(e,o))||n.enumerable});return t};var Tf=(t,e,r)=>(r=t!=null?xS(kS(t)):{},wS(e||!t||!t.__esModule?Da(r,"default",{value:t,enumerable:!0}):r,t));var Bo=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 qo=class{};te._CodeOrName=qo;te.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var en=class extends qo{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=en;var pt=class extends qo{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 en&&(r[n.str]=(r[n.str]||0)+1),r),{})}};te._Code=pt;te.nil=new pt("");function kg(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.ValueScope=tt.ValueScopeName=tt.Scope=tt.varKinds=tt.UsedValueState=void 0;var et=Bo(),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||(tt.UsedValueState=Oi={}));tt.varKinds={const:new et.Name("const"),let:new et.Name("let"),var:new et.Name("var")};var Ci=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof et.Name?e:this.name(e)}name(e){return new et.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}}};tt.Scope=Ci;var Ii=class extends et.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,et._)`.${new et.Name(r)}[${n}]`}};tt.ValueScopeName=Ii;var RT=(0,et._)`\n`,kl=class extends Ci{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?RT:et.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,et._)`${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=et.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?tt.varKinds.var:tt.varKinds.const;s=(0,et._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,et._)`${s}${l}${this.opts._n}`;else throw new Sl(u);c.set(u,Oi.Completed)})}return s}};tt.ValueScope=kl});var F=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=Bo(),kt=bl(),mr=Bo();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=Zn(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=Zn(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=Zn(this.code,e,r),this}get names(){return this.code instanceof X._CodeOrName?this.code.names:{}}},Vo=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)||(OT(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>nn(e,r.names),{})}},Xt=class extends Vo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Ol=class extends Vo{},Ln=class extends Xt{};Ln.kind="else";var tn=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 Ln(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(wg(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=Zn(this.condition,e,r),this}get names(){let e=super.names;return Ai(e,this.condition),this.else&&nn(e,this.else.names),e}};tn.kind="if";var rn=class extends Xt{};rn.kind="for";var Cl=class extends rn{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=Zn(this.iteration,e,r),this}get names(){return nn(super.names,this.iteration.names)}},Il=class extends rn{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 rn{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=Zn(this.iterable,e,r),this}get names(){return nn(super.names,this.iterable.names)}},Ko=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)}};Ko.kind="func";var Jo=class extends Vo{render(e){return"return "+super.render(e)}};Jo.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&&nn(e,this.catch.names),this.finally&&nn(e,this.finally.names),e}},Wo=class extends Xt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Wo.kind="catch";var Go=class extends Xt{render(e){return"finally"+super.render(e)}};Go.kind="finally";var Nl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` -`:""},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 tn(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 tn(e))}else(){return this._elseNode(new Ln)}endIf(){return this._endBlockNode(tn,Ln)}_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(rn)}label(e){return this._leafNode(new Tl(e))}break(e){return this._leafNode(new $l(e))}return(e){let r=new Jo;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Jo)}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 Wo(s),r(s)}return n&&(this._currNode=o.finally=new Go,this.code(n)),this._endBlockNode(Wo,Go)}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 Ko(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Ko)}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 tn))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 nn(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?nn(t,e.names):t}function Zn(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 OT(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function wg(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,X._)`!${Al(t)}`}B.not=wg;var CT=Eg(B.operators.AND);function IT(...t){return t.reduce(CT)}B.and=IT;var zT=Eg(B.operators.OR);function NT(...t){return t.reduce(zT)}B.or=NT;function Eg(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=F(),AT=Bo();function jT(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=jT;function MT(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Pg(t,e),!Rg(e,t.self.RULES.all))}V.alwaysValidSchema=MT;function Pg(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]||Ig(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=Pg;function Rg(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=Rg;function DT(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=DT;function LT({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=LT;function ZT(t){return Og(decodeURIComponent(t))}V.unescapeFragment=ZT;function UT(t){return encodeURIComponent(Ml(t))}V.escapeFragment=UT;function Ml(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Ml;function Og(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Og;function HT(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=HT;function Tg({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:Tg({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:Cg}),items:Tg({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 Cg(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=Cg;function Dl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,se._)`${e}${(0,se.getProperty)(n)}`,!0))}V.setEvaluated=Dl;var $g={};function qT(t,e){return t.scopeValue("func",{ref:e,code:$g[e.code]||($g[e.code]=new AT._Code(e.code))})}V.useFunc=qT;var jl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(jl||(V.Type=jl={}));function FT(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=FT;function Ig(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=Ig});var Qt=T(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Ue=F(),BT={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=BT});var Yo=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=F(),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 VT(t,e=He.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Ag(t,e,r);n??(i||a)?zg(s,c):Ng(o,(0,ee._)`[${c}]`)}He.reportError=VT;function KT(t,e=He.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Ag(t,e,r);zg(o,a),s||i||Ng(n,Ve.default.vErrors)}He.reportExtraError=KT;function JT(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=JT;function WT({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=WT;function zg(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 Ng(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 on={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 Ag(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ee._)`{}`:GT(t,e,r)}function GT(t,e,r={}){let{gen:n,it:o}=t,s=[YT(o,r),XT(t,r)];return QT(t,e,s),n.object(...s)}function YT({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 XT({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)}`),[on.schemaPath,o]}function QT(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([on.keyword,o],[on.params,typeof e=="function"?e(t):e||(0,ee._)`{}`]),c.messages&&n.push([on.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([on.schema,i],[on.parentSchema,(0,ee._)`${l}${d}`],[Ve.default.data,s]),u&&n.push([on.propertyName,u])}});var Mg=T(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.boolOrEmptySchema=Un.topBoolOrEmptySchema=void 0;var e$=Yo(),t$=F(),r$=Qt(),n$={message:"boolean schema is false"};function o$(t){let{gen:e,schema:r,validateName:n}=t;r===!1?jg(t,!1):typeof r=="object"&&r.$async===!0?e.return(r$.default.data):(e.assign((0,t$._)`${n}.errors`,null),e.return(!0))}Un.topBoolOrEmptySchema=o$;function s$(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),jg(t)):r.var(e,!0)}Un.boolOrEmptySchema=s$;function jg(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,e$.reportError)(o,n$,void 0,e)}});var Zl=T(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.getRules=Hn.isJSONType=void 0;var i$=["string","number","integer","boolean","null","object","array"],a$=new Set(i$);function c$(t){return typeof t=="string"&&a$.has(t)}Hn.isJSONType=c$;function u$(){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:{}}}Hn.getRules=u$});var Ul=T(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.shouldUseRule=hr.shouldUseGroup=hr.schemaHasRulesForType=void 0;function l$({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Dg(t,n)}hr.schemaHasRulesForType=l$;function Dg(t,e){return e.rules.some(r=>Lg(t,r))}hr.shouldUseGroup=Dg;function Lg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hr.shouldUseRule=Lg});var Xo=T(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.reportTypeError=qe.checkDataTypes=qe.checkDataType=qe.coerceAndCheckDataType=qe.getJSONTypes=qe.getSchemaTypes=qe.DataType=void 0;var d$=Zl(),p$=Ul(),f$=Yo(),H=F(),Zg=Q(),qn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(qn||(qe.DataType=qn={}));function m$(t){let e=Ug(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}qe.getSchemaTypes=m$;function Ug(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(d$.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}qe.getJSONTypes=Ug;function h$(t,e){let{gen:r,data:n,opts:o}=t,s=g$(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,p$.schemaHasRulesForType)(t,e[0]));if(i){let a=ql(e,n,o.strictNumbers,qn.Wrong);r.if(a,()=>{s.length?_$(t,e,s):Fl(t)})}return i}qe.coerceAndCheckDataType=h$;var Hg=new Set(["string","number","integer","boolean","null"]);function g$(t,e){return e?t.filter(r=>Hg.has(r)||e==="array"&&r==="array"):[]}function _$(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(ql(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,H._)`${a} !== undefined`);for(let u of r)(Hg.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Fl(t),n.endIf(),n.if((0,H._)`${a} !== undefined`,()=>{n.assign(o,a),y$(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 +var yS=Object.create;var Ma=Object.defineProperty;var xS=Object.getOwnPropertyDescriptor;var vS=Object.getOwnPropertyNames;var SS=Object.getPrototypeOf,kS=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),We=(t,e)=>{for(var r in e)Ma(t,r,{get:e[r],enumerable:!0})},bS=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of vS(e))!kS.call(t,o)&&o!==r&&Ma(t,o,{get:()=>e[o],enumerable:!(n=xS(e,o))||n.enumerable});return t};var $f=(t,e,r)=>(r=t!=null?yS(SS(t)):{},bS(e||!t||!t.__esModule?Ma(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 en=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=en;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 en&&(r[n.str]=(r[n.str]||0)+1),r),{})}};te._Code=pt;te.nil=new pt("");function kg(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.ValueScope=tt.ValueScopeName=tt.Scope=tt.varKinds=tt.UsedValueState=void 0;var et=Fo(),kl=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ri;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Ri||(tt.UsedValueState=Ri={}));tt.varKinds={const:new et.Name("const"),let:new et.Name("let"),var:new et.Name("var")};var Oi=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof et.Name?e:this.name(e)}name(e){return new et.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}}};tt.Scope=Oi;var Ci=class extends et.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,et._)`.${new et.Name(r)}[${n}]`}};tt.ValueScopeName=Ci;var PT=(0,et._)`\n`,bl=class extends Oi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?PT:et.nil}}get(){return this._scope}name(e){return new Ci(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,et._)`${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=et.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,Ri.Started);let l=r(u);if(l){let d=this.opts.es5?tt.varKinds.var:tt.varKinds.const;s=(0,et._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,et._)`${s}${l}${this.opts._n}`;else throw new kl(u);c.set(u,Ri.Completed)})}return s}};tt.ValueScope=bl});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=wl(),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 Ai=wl();Object.defineProperty(B,"Scope",{enumerable:!0,get:function(){return Ai.Scope}});Object.defineProperty(B,"ValueScope",{enumerable:!0,get:function(){return Ai.ValueScope}});Object.defineProperty(B,"ValueScopeName",{enumerable:!0,get:function(){return Ai.ValueScopeName}});Object.defineProperty(B,"varKinds",{enumerable:!0,get:function(){return Ai.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}},El=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=Ln(this.rhs,e,r)),this}get names(){return this.rhs instanceof X._CodeOrName?this.rhs.names:{}}},Ii=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=Ln(this.rhs,e,r),this}get names(){let e=this.lhs instanceof X.Name?{}:{...this.lhs.names};return Ni(e,this.rhs)}},Tl=class extends Ii{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},$l=class extends Yt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Pl=class extends Yt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Rl=class extends Yt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Ol=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=Ln(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)||(RT(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>nn(e,r.names),{})}},Xt=class extends qo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Cl=class extends qo{},Dn=class extends Xt{};Dn.kind="else";var tn=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 Dn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(wg(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=Ln(this.condition,e,r),this}get names(){let e=super.names;return Ni(e,this.condition),this.else&&nn(e,this.else.names),e}};tn.kind="if";var rn=class extends Xt{};rn.kind="for";var Il=class extends rn{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=Ln(this.iteration,e,r),this}get names(){return nn(super.names,this.iteration.names)}},zl=class extends rn{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=Ni(super.names,this.from);return Ni(e,this.to)}},zi=class extends rn{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=Ln(this.iterable,e,r),this}get names(){return nn(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 Nl=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&&nn(e,this.catch.names),this.finally&&nn(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 Al=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` +`:""},this._extScope=e,this._scope=new kt.Scope({parent:e}),this._nodes=[new Cl]}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 El(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 Ii(e,r,n))}add(e,r){return this._leafNode(new Tl(e,B.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==X.nil&&this._leafNode(new Ol(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 tn(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 tn(e))}else(){return this._elseNode(new Dn)}endIf(){return this._endBlockNode(tn,Dn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Il(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 zl(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 zi("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 zi("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(rn)}label(e){return this._leafNode(new $l(e))}break(e){return this._leafNode(new Pl(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 Nl;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 Rl(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 tn))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=Al;function nn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ni(t,e){return e instanceof X._CodeOrName?nn(t,e.names):t}function Ln(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 RT(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function wg(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,X._)`!${jl(t)}`}B.not=wg;var OT=Eg(B.operators.AND);function CT(...t){return t.reduce(OT)}B.and=CT;var IT=Eg(B.operators.OR);function zT(...t){return t.reduce(IT)}B.or=zT;function Eg(t){return(e,r)=>e===X.nil?r:r===X.nil?e:(0,X._)`${jl(e)} ${t} ${jl(r)}`}function jl(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(),NT=Fo();function AT(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=AT;function jT(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Pg(t,e),!Rg(e,t.self.RULES.all))}V.alwaysValidSchema=jT;function Pg(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]||Ig(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=Pg;function Rg(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=Rg;function MT(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=MT;function DT({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=DT;function LT(t){return Og(decodeURIComponent(t))}V.unescapeFragment=LT;function ZT(t){return encodeURIComponent(Dl(t))}V.escapeFragment=ZT;function Dl(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Dl;function Og(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Og;function UT(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=UT;function Tg({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:Tg({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} || {}`),Ll(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Cg}),items:Tg({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 Cg(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,se._)`{}`);return e!==void 0&&Ll(t,r,e),r}V.evaluatedPropsToName=Cg;function Ll(t,e,r){Object.keys(r).forEach(n=>t.assign((0,se._)`${e}${(0,se.getProperty)(n)}`,!0))}V.setEvaluated=Ll;var $g={};function HT(t,e){return t.scopeValue("func",{ref:e,code:$g[e.code]||($g[e.code]=new NT._Code(e.code))})}V.useFunc=HT;var Ml;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Ml||(V.Type=Ml={}));function FT(t,e,r){if(t instanceof se.Name){let n=e===Ml.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():"/"+Dl(t)}V.getErrorPath=FT;function Ig(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=Ig});var Qt=T(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var Ue=q(),qT={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")};Zl.default=qT});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(),ji=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 BT(t,e=He.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Ag(t,e,r);n??(i||a)?zg(s,c):Ng(o,(0,ee._)`[${c}]`)}He.reportError=BT;function VT(t,e=He.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Ag(t,e,r);zg(o,a),s||i||Ng(n,Ve.default.vErrors)}He.reportExtraError=VT;function KT(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=KT;function JT({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=JT;function zg(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 Ng(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 on={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 Ag(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ee._)`{}`:WT(t,e,r)}function WT(t,e,r={}){let{gen:n,it:o}=t,s=[GT(o,r),YT(t,r)];return XT(t,e,s),n.object(...s)}function GT({errorPath:t},{instancePath:e}){let r=e?(0,ee.str)`${t}${(0,ji.getErrorPath)(e,ji.Type.Str)}`:t;return[Ve.default.instancePath,(0,ee.strConcat)(Ve.default.instancePath,r)]}function YT({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,ji.getErrorPath)(r,ji.Type.Str)}`),[on.schemaPath,o]}function XT(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([on.keyword,o],[on.params,typeof e=="function"?e(t):e||(0,ee._)`{}`]),c.messages&&n.push([on.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([on.schema,i],[on.parentSchema,(0,ee._)`${l}${d}`],[Ve.default.data,s]),u&&n.push([on.propertyName,u])}});var Mg=T(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.boolOrEmptySchema=Zn.topBoolOrEmptySchema=void 0;var QT=Wo(),e$=q(),t$=Qt(),r$={message:"boolean schema is false"};function n$(t){let{gen:e,schema:r,validateName:n}=t;r===!1?jg(t,!1):typeof r=="object"&&r.$async===!0?e.return(t$.default.data):(e.assign((0,e$._)`${n}.errors`,null),e.return(!0))}Zn.topBoolOrEmptySchema=n$;function o$(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),jg(t)):r.var(e,!0)}Zn.boolOrEmptySchema=o$;function jg(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,QT.reportError)(o,r$,void 0,e)}});var Ul=T(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.getRules=Un.isJSONType=void 0;var s$=["string","number","integer","boolean","null","object","array"],i$=new Set(s$);function a$(t){return typeof t=="string"&&i$.has(t)}Un.isJSONType=a$;function c$(){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:{}}}Un.getRules=c$});var Hl=T(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.shouldUseRule=hr.shouldUseGroup=hr.schemaHasRulesForType=void 0;function u$({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Dg(t,n)}hr.schemaHasRulesForType=u$;function Dg(t,e){return e.rules.some(r=>Lg(t,r))}hr.shouldUseGroup=Dg;function Lg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hr.shouldUseRule=Lg});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 l$=Ul(),d$=Hl(),p$=Wo(),H=q(),Zg=Q(),Hn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Hn||(Fe.DataType=Hn={}));function f$(t){let e=Ug(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=f$;function Ug(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(l$.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Fe.getJSONTypes=Ug;function m$(t,e){let{gen:r,data:n,opts:o}=t,s=h$(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,d$.schemaHasRulesForType)(t,e[0]));if(i){let a=ql(e,n,o.strictNumbers,Hn.Wrong);r.if(a,()=>{s.length?g$(t,e,s):Bl(t)})}return i}Fe.coerceAndCheckDataType=m$;var Hg=new Set(["string","number","integer","boolean","null"]);function h$(t,e){return e?t.filter(r=>Hg.has(r)||e==="array"&&r==="array"):[]}function g$(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(ql(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,H._)`${a} !== undefined`);for(let u of r)(Hg.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Bl(t),n.endIf(),n.if((0,H._)`${a} !== undefined`,()=>{n.assign(o,a),_$(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 || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,H._)`+${o}`);return;case"integer":n.elseIf((0,H._)`${i} === "boolean" || ${o} === null || (${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" - || ${i} === "boolean" || ${o} === null`).assign(a,(0,H._)`[${o}]`)}}}function y$({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=qn.Correct){let o=n===qn.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===qn.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)}}qe.checkDataType=Hl;function ql(t,e,r,n){if(t.length===1)return Hl(t[0],e,r,n);let o,s=(0,Zg.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}qe.checkDataTypes=ql;var x$={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,H._)`{type: ${t}}`:(0,H._)`{type: ${e}}`};function Fl(t){let e=v$(t);(0,f$.reportError)(e,x$)}qe.reportTypeError=Fl;function v$(t){let{gen:e,data:r,schema:n}=t,o=(0,Zg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Fg=T(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.assignDefaults=void 0;var Fn=F(),S$=Q();function k$(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)qg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>qg(t,s,o.default))}Di.assignDefaults=k$;function qg(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Fn._)`${s}${(0,Fn.getProperty)(e)}`;if(o){(0,S$.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Fn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Fn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Fn._)`${a} = ${(0,Fn.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=F(),Bl=Q(),gr=Qt(),b$=Q();function w$(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=w$;function E$({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=E$;function T$(t,e){t.setParams({missingProperty:e},!0),t.error()}oe.reportMissingProp=T$;function Bg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,fe._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=Bg;function Vl(t,e,r){return(0,fe._)`${Bg(t)}.call(${e}, ${r})`}oe.isOwnProperty=Vl;function $$(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=$$;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 Vg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}oe.allSchemaProperties=Vg;function P$(t,e){return Vg(e).filter(r=>!(0,Bl.alwaysValidSchema)(t,e[r]))}oe.schemaProperties=P$;function R$({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=R$;var O$=(0,fe._)`new RegExp`;function C$({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"?O$:(0,b$.useFunc)(t,o)}(${r}, ${n})`})}oe.usePattern=C$;function I$(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=I$;function z$(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=z$});var Wg=T(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.validateKeywordUsage=At.validSchemaType=At.funcKeywordCode=At.macroKeywordCode=void 0;var Ke=F(),sn=Qt(),N$=ft(),A$=Yo();function j$(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Jg(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=j$;function M$(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;L$(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Jg(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&&Kg(t),g(()=>t.error());else{let _=e.async?m():p();e.modifying&&Kg(t),g(()=>D$(t,_))}}function m(){let _=n.let("ruleErrs",null);return n.try(()=>h((0,Ke._)`await `),x=>n.assign(d,!1).if((0,Ke._)`${x} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Ke._)`${x}.errors`),()=>n.throw(x))),_}function p(){let _=(0,Ke._)`${l}.errors`;return n.assign(_,null),h(Ke.nil),_}function h(_=e.async?(0,Ke._)`await `:Ke.nil){let x=c.opts.passContext?sn.default.this:sn.default.self,S=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ke._)`${_}${(0,N$.callValidateCode)(t,l,x,S)}`,e.modifying)}function g(_){var x;n.if((0,Ke.not)((x=e.valid)!==null&&x!==void 0?x:d),_)}}At.funcKeywordCode=M$;function Kg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ke._)`${n.parentData}[${n.parentDataProperty}]`))}function D$(t,e){let{gen:r}=t;r.if((0,Ke._)`Array.isArray(${e})`,()=>{r.assign(sn.default.vErrors,(0,Ke._)`${sn.default.vErrors} === null ? ${e} : ${sn.default.vErrors}.concat(${e})`).assign(sn.default.errors,(0,Ke._)`${sn.default.vErrors}.length`),(0,A$.extendErrors)(t)},()=>t.error())}function L$({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Jg(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 Z$(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=Z$;function U$({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=U$});var Yg=T(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.extendSubschemaMode=_r.extendSubschemaData=_r.getSubschema=void 0;var jt=F(),Gg=Q();function H$(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,Gg.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=H$;function q$(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,Gg.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=q$;function F$(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=F$});var Jl=T((jM,Xg)=>{"use strict";Xg.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,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 e_=T((MM,Qg)=>{"use strict";var yr=Qg.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{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.getSchemaRefs=rt.resolveUrl=rt.normalizeId=rt._getFullPath=rt.getFullPath=rt.inlineRef=void 0;var V$=Q(),K$=Jl(),J$=e_(),W$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function G$(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Wl(t):e?t_(t)<=e:!1}rt.inlineRef=G$;var Y$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Wl(t){for(let e in t){if(Y$.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 t_(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!W$.has(r)&&(typeof t[r]=="object"&&(0,V$.eachItem)(t[r],n=>e+=t_(n)),e===1/0))return 1/0}return e}function r_(t,e="",r){r!==!1&&(e=Bn(e));let n=t.parse(e);return n_(t,n)}rt.getFullPath=r_;function n_(t,e){return t.serialize(e).split("#")[0]+"#"}rt._getFullPath=n_;var X$=/#\/?$/;function Bn(t){return t?t.replace(X$,""):""}rt.normalizeId=Bn;function Q$(t,e,r){return r=Bn(r),t.resolve(e,r)}rt.resolveUrl=Q$;var e0=/^[a-z_][-a-z0-9._]*$/i;function t0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Bn(t[r]||e),s={"":o},i=r_(n,o,!1),a={},c=new Set;return J$(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])),x.call(this,d.$anchor),x.call(this,d.$dynamicAnchor),s[f]=g;function _(S){let w=this.opts.uriResolver.resolve;if(S=Bn(g?w(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!==Bn(h)&&(S[0]==="#"?(u(d,a[S],S),a[S]=d):this.refs[S]=h),S}function x(S){if(typeof S=="string"){if(!e0.test(S))throw new Error(`invalid anchor "${S}"`);_.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!K$(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}rt.getSchemaRefs=t0});var rs=T(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.getData=xr.KeywordCxt=xr.validateFunctionCode=void 0;var c_=Mg(),o_=Xo(),Yl=Ul(),Zi=Xo(),r0=Fg(),ts=Wg(),Gl=Yg(),I=F(),Z=Qt(),n0=Qo(),er=Q(),es=Yo();function o0(t){if(d_(t)&&(p_(t),l_(t))){a0(t);return}u_(t,()=>(0,c_.topBoolOrEmptySchema)(t))}xr.validateFunctionCode=o0;function u_({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"; ${s_(r,o)}`),i0(t,o),t.code(s)}):t.func(e,(0,I._)`${Z.default.data}, ${s0(o)}`,n.$async,()=>t.code(s_(r,o)).code(s))}function s0(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 i0(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 a0(t){let{schema:e,opts:r,gen:n}=t;u_(t,()=>{r.$comment&&e.$comment&&m_(t),p0(t),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&c0(t),f_(t),h0(t)})}function c0(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 s_(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 u0(t,e){if(d_(t)&&(p_(t),l_(t))){l0(t,e);return}(0,c_.boolOrEmptySchema)(t,e)}function l_({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 d_(t){return typeof t.schema!="boolean"}function l0(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&m_(t),f0(t),m0(t);let s=n.const("_errs",Z.default.errors);f_(t,s),n.var(e,(0,I._)`${s} === ${Z.default.errors}`)}function p_(t){(0,er.checkUnknownRules)(t),d0(t)}function f_(t,e){if(t.opts.jtd)return i_(t,[],!1,e);let r=(0,o_.getSchemaTypes)(t.schema),n=(0,o_.coerceAndCheckDataType)(t,r);i_(t,r,!n,e)}function d0(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 p0(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 f0(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,n0.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function m0(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function m_({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 h0(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&&g0(t),e.return((0,I._)`${Z.default.errors} === 0`))}function g0({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 i_(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(()=>g_(t,"$ref",l.all.$ref.definition));return}c.jtd||_0(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)),a_(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Zi.reportTypeError)(t)),o.endIf()):a_(t,f),a||o.if((0,I._)`${Z.default.errors} === ${n||0}`))}}function a_(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,r0.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Yl.shouldUseRule)(n,s)&&g_(t,s.keyword,s.definition,e.type)})}function _0(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(y0(t,e),t.opts.allowUnionTypes||x0(t,e),v0(t,t.dataTypes))}function y0(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{h_(t.dataTypes,r)||Xl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),k0(t,e)}}function x0(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Xl(t,"use allowUnionTypes to allow union type keyword")}function v0(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=>S0(e,i))&&Xl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function S0(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function h_(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function k0(t,e){let r=[];for(let n of t.dataTypes)h_(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,ts.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",__(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ts.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?es.reportExtraError:es.reportError)(this,this.def.error,r)}$dataError(){(0,es.reportError)(this,this.def.$dataError||es.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,es.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 u0(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 g_(t,e,r,n){let o=new Ui(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,ts.funcKeywordCode)(o,r):"macro"in r?(0,ts.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,ts.funcKeywordCode)(o,r)}var b0=/^\/(?:[^~]|~0|~1)*$/,w0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function __(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return Z.default.rootData;if(t[0]==="/"){if(!b0.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=Z.default.rootData}else{let u=w0.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=__});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 ns=T(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var td=Qo(),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 Fi=T(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.resolveSchema=mt.getCompilingSchema=mt.resolveRef=mt.compileSchema=mt.SchemaEnv=void 0;var bt=F(),E0=Hi(),an=Qt(),wt=Qo(),y_=Q(),T0=rs(),Vn=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=Vn;function sd(t){let e=x_.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:E0.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:an.default.data,parentData:an.default.parentData,parentDataProperty:an.default.parentDataProperty,dataNames:[an.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,T0.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(an.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${an.default.self}`,`${an.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 $0(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=O0.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 Vn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=P0.call(this,s)}mt.resolveRef=$0;function P0(t){return(0,wt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:sd.call(this,t)}function x_(t){for(let e of this._compilations)if(R0(e,t))return e}mt.getCompilingSchema=x_;function R0(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function O0(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||qi.call(this,t,e)}function qi(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=qi.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 Vn({schema:a,schemaId:c,root:t,baseId:o})}return od.call(this,r,i)}}mt.resolveSchema=qi;var C0=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,y_.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!C0.has(a)&&u&&(e=(0,wt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,y_.schemaHasRulesButRef)(r,this.RULES)){let a=(0,wt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=qi.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Vn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var v_=T((qM,I0)=>{I0.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,w_)=>{"use strict";var z0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),k_=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=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var N0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function S_(t){return t.length=0,!0}function A0(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 j0(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=A0;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=S_}else{o.push(u);continue}}return o.length&&(a===S_?r.zone=o.join(""):i?n.push(o.join("")):n.push(id(o))),r.address=n.join(""),r}function b_(t){if(M0(t,":")<2)return{host:t,isIPV6:!1};let e=j0(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 M0(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:U0}=ad(),H0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,q0=["http","https","ws","wss","urn","urn:uuid"];function F0(t){return q0.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 E_(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function T_(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 B0(t){return t.secure=cd(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function V0(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 K0(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(H0);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 J0(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 W0(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!U0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function G0(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var $_={scheme:"http",domainHost:!0,parse:E_,serialize:T_},Y0={scheme:"https",domainHost:$_.domainHost,parse:E_,serialize:T_},Bi={scheme:"ws",domainHost:!0,parse:B0,serialize:V0},X0={scheme:"wss",domainHost:Bi.domainHost,parse:Bi.parse,serialize:Bi.serialize},Q0={scheme:"urn",parse:K0,serialize:J0,skipNormalize:!0},eP={scheme:"urn:uuid",parse:W0,serialize:G0,skipNormalize:!0},Vi={http:$_,https:Y0,ws:Bi,wss:X0,urn:Q0,"urn:uuid":eP};Object.setPrototypeOf(Vi,null);function ud(t){return t&&(Vi[t]||Vi[t.toLowerCase()])||void 0}P_.exports={wsIsSecure:cd,SCHEMES:Vi,isValidSchemeName:F0,getSchemeHandler:ud}});var I_=T((VM,Ji)=>{"use strict";var{normalizeIPv6:tP,removeDotSegments:os,recomposeAuthority:rP,normalizeComponentEncoding:Ki,isIPv4:nP,nonSimpleDomain:oP}=ad(),{SCHEMES:sP,getSchemeHandler:O_}=R_();function iP(t,e){return typeof t=="string"?t=Mt(tr(t,e),e):typeof t=="object"&&(t=tr(Mt(t,e),e)),t}function aP(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=C_(tr(t,n),tr(e,n),n,!0);return n.skipEscape=!0,Mt(o,n)}function C_(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=os(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=os(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=os(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=os(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 cP(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=O_(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=rP(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=os(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 uP=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\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(uP);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(nP(n.host)===!1){let c=tP(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=O_(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&oP(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:sP,normalize:iP,resolve:aP,resolveComponent:C_,equal:cP,serialize:Mt,parse:tr};Ji.exports=ld;Ji.exports.default=ld;Ji.exports.fastUri=ld});var N_=T(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var z_=I_();z_.code='require("ajv/dist/runtime/uri").default';dd.default=z_});var H_=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 lP=rs();Object.defineProperty(Ae,"KeywordCxt",{enumerable:!0,get:function(){return lP.KeywordCxt}});var Kn=F();Object.defineProperty(Ae,"_",{enumerable:!0,get:function(){return Kn._}});Object.defineProperty(Ae,"str",{enumerable:!0,get:function(){return Kn.str}});Object.defineProperty(Ae,"stringify",{enumerable:!0,get:function(){return Kn.stringify}});Object.defineProperty(Ae,"nil",{enumerable:!0,get:function(){return Kn.nil}});Object.defineProperty(Ae,"Name",{enumerable:!0,get:function(){return Kn.Name}});Object.defineProperty(Ae,"CodeGen",{enumerable:!0,get:function(){return Kn.CodeGen}});var dP=Hi(),L_=ns(),pP=Zl(),ss=Fi(),fP=F(),is=Qo(),Wi=Xo(),fd=Q(),A_=v_(),mP=N_(),Z_=(t,e)=>new RegExp(t,e);Z_.code="new RegExp";var hP=["removeAdditional","useDefaults","coerceTypes"],gP=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),_P={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."},yP={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},j_=200;function xP(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,_,x,S,w,z,de,Te,K,Le;let Se=t.strict,Or=(e=t.code)===null||e===void 0?void 0:e.optimize,wf=Or===!0||Or===void 0?1:Or||0,Ef=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Z_,yS=(o=t.uriResolver)!==null&&o!==void 0?o:mP.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Se)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Se)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Se)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:Se)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:Se)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:wf,regExp:Ef}:{optimize:wf,regExp:Ef},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:j_,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:j_,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(x=t.messages)!==null&&x!==void 0?x:!0,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$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:yS}}var as=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...xP(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new fP.ValueScope({scope:{},prefixes:gP,es5:r,lines:n}),this.logger=EP(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,pP.getRules)(),M_.call(this,_P,e,"NOT SUPPORTED"),M_.call(this,yP,e,"DEPRECATED","warn"),this._metaOpts=bP.call(this),e.formats&&SP.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&kP.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),vP.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=A_;n==="id"&&(o={...A_},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 L_.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,is.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=D_.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ss.SchemaEnv({schema:{},schemaId:n});if(r=ss.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=D_.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,is.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($P.call(this,n,r),!r)return(0,fd.eachItem)(n,s=>pd.call(this,s)),this;RP.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]=U_(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,is.normalizeId)(i||n);let u=is.getSchemaRefs.call(this,e,n);return c=new ss.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):ss.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{ss.compileSchema.call(this,e)}finally{this.opts=r}}};as.ValidationError=dP.default;as.MissingRefError=L_.default;Ae.default=as;function M_(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 D_(t){return t=(0,is.normalizeId)(t),this.schemas[t]||this.refs[t]}function vP(){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 SP(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function kP(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 bP(){let t={...this.opts};for(let e of hP)delete t[e];return t}var wP={log(){},warn(){},error(){}};function EP(t){if(t===!1)return wP;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 TP=/^[a-z_$][a-z0-9_$:-]*$/i;function $P(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(!TP.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?PP.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 PP(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 RP(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=U_(e)),t.validateSchema=this.compile(e,!0))}var OP={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function U_(t){return{anyOf:[t,OP]}}});var q_=T(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var CP={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};md.default=CP});var K_=T(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.callRef=cn.getValidate=void 0;var IP=ns(),F_=ft(),nt=F(),Jn=Qt(),B_=Fi(),Gi=Q(),zP={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=B_.resolveRef.call(c,u,o,r);if(l===void 0)throw new IP.default(n.opts.uriResolver,o,r);if(l instanceof B_.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,nt._)`${p}.validate`,u,u.$async)}function f(p){let h=V_(t,p);Yi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,nt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:nt.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function V_(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,nt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}cn.getValidate=V_;function Yi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Jn.default.this:nt.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,nt._)`await ${(0,F_.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,nt._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,F_.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,nt._)`${p}.errors`;o.assign(Jn.default.vErrors,(0,nt._)`${Jn.default.vErrors} === null ? ${h} : ${Jn.default.vErrors}.concat(${h})`),o.assign(Jn.default.errors,(0,nt._)`${Jn.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,nt._)`${p}.evaluated.props`);s.props=Gi.mergeEvaluated.props(o,_,s.props,nt.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,nt._)`${p}.evaluated.items`);s.items=Gi.mergeEvaluated.items(o,_,s.items,nt.Name)}}}cn.callRef=Yi;cn.default=zP});var J_=T(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var NP=q_(),AP=K_(),jP=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",NP.default,AP.default];hd.default=jP});var W_=T(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Xi=F(),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}},MP={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}}`},DP={keyword:Object.keys(Qi),type:"number",schemaType:"number",$data:!0,error:MP,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Xi._)`${r} ${Qi[e].fail} ${n} || isNaN(${r})`)}};gd.default=DP});var G_=T(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var cs=F(),LP={message:({schemaCode:t})=>(0,cs.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,cs._)`{multipleOf: ${t}}`},ZP={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:LP,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,cs._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,cs._)`${i} !== parseInt(${i})`;t.fail$data((0,cs._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};_d.default=ZP});var X_=T(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});function Y_(t){let e=t.length,r=0,n=0,o;for(;n=55296&&o<=56319&&n{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var un=F(),UP=Q(),HP=X_(),qP={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,un.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,un._)`{limit: ${t}}`},FP={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:qP,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?un.operators.GT:un.operators.LT,i=o.opts.unicode===!1?(0,un._)`${r}.length`:(0,un._)`${(0,UP.useFunc)(t.gen,HP.default)}(${r})`;t.fail$data((0,un._)`${i} ${s} ${n}`)}};xd.default=FP});var ey=T(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var BP=ft(),VP=Q(),Wn=F(),KP={message:({schemaCode:t})=>(0,Wn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Wn._)`{pattern: ${t}}`},JP={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:KP,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,Wn._)`new RegExp`:(0,VP.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Wn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Wn._)`!${l}`)}else{let c=(0,BP.usePattern)(t,o);t.fail$data((0,Wn._)`!${c}.test(${r})`)}}};vd.default=JP});var ty=T(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var us=F(),WP={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,us.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,us._)`{limit: ${t}}`},GP={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:WP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?us.operators.GT:us.operators.LT;t.fail$data((0,us._)`Object.keys(${r}).length ${o} ${n}`)}};Sd.default=GP});var ry=T(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var ls=ft(),ds=F(),YP=Q(),XP={message:({params:{missingProperty:t}})=>(0,ds.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,ds._)`{missingProperty: ${t}}`},QP={keyword:"required",type:"object",schemaType:"array",$data:!0,error:XP,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,YP.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(ds.nil,d);else for(let m of r)(0,ls.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,ls.checkMissingProp)(t,r,m)),(0,ls.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",n,m=>{t.setParams({missingProperty:m}),e.if((0,ls.noPropertyInData)(e,o,m,a.ownProperties),()=>t.error())})}function f(m,p){t.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(p,(0,ls.propertyInData)(e,o,m,a.ownProperties)),e.if((0,ds.not)(p),()=>{t.error(),e.break()})},ds.nil)}}};kd.default=QP});var ny=T(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var ps=F(),eR={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ps.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ps._)`{limit: ${t}}`},tR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:eR,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?ps.operators.GT:ps.operators.LT;t.fail$data((0,ps._)`${r}.length ${o} ${n}`)}};bd.default=tR});var ea=T(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var oy=Jl();oy.code='require("ajv/dist/runtime/equal").default';wd.default=oy});var sy=T(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var Ed=Xo(),je=F(),rR=Q(),nR=ea(),oR={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}}`},sR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:oR,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),x=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 ${x}[${g}] == "number"`,()=>{e.assign(h,(0,je._)`${x}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,je._)`${x}[${g}] = ${p}`)})}function m(p,h){let g=(0,rR.useFunc)(e,nR.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=sR});var iy=T(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var $d=F(),iR=Q(),aR=ea(),cR={message:"must be equal to constant",params:({schemaCode:t})=>(0,$d._)`{allowedValue: ${t}}`},uR={keyword:"const",$data:!0,error:cR,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,iR.useFunc)(e,aR.default)}(${r}, ${o})`):t.fail((0,$d._)`${s} !== ${r}`)}};Pd.default=uR});var ay=T(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var fs=F(),lR=Q(),dR=ea(),pR={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,fs._)`{allowedValues: ${t}}`},fR={keyword:"enum",schemaType:"array",$data:!0,error:pR,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,lR.useFunc)(e,dR.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,fs.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,fs._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function f(m,p){let h=o[p];return typeof h=="object"&&h!==null?(0,fs._)`${u()}(${r}, ${m}[${p}])`:(0,fs._)`${r} === ${h}`}}};Rd.default=fR});var cy=T(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var mR=W_(),hR=G_(),gR=Q_(),_R=ey(),yR=ty(),xR=ry(),vR=ny(),SR=sy(),kR=iy(),bR=ay(),wR=[mR.default,hR.default,gR.default,_R.default,yR.default,xR.default,vR.default,SR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},kR.default,bR.default];Od.default=wR});var Id=T(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.validateAdditionalItems=void 0;var ln=F(),Cd=Q(),ER={message:({params:{len:t}})=>(0,ln.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ln._)`{limit: ${t}}`},TR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:ER,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}uy(t,n)}};function uy(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,ln._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ln._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Cd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,ln._)`${a} <= ${e.length}`);r.if((0,ln.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,ln.not)(u),()=>r.break())})}}ms.validateAdditionalItems=uy;ms.default=TR});var zd=T(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.validateTuple=void 0;var ly=F(),ta=Q(),$R=ft(),PR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return dy(t,"additionalItems",e);r.items=!0,!(0,ta.alwaysValidSchema)(r,e)&&t.ok((0,$R.validateArray)(t))}};function dy(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,ly._)`${s}.length`);r.forEach((d,f)=>{(0,ta.alwaysValidSchema)(a,d)||(n.if((0,ly._)`${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)}}}hs.validateTuple=dy;hs.default=PR});var py=T(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var RR=zd(),OR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,RR.validateTuple)(t,"items")};Nd.default=OR});var my=T(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var fy=F(),CR=Q(),IR=ft(),zR=Id(),NR={message:({params:{len:t}})=>(0,fy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,fy._)`{limit: ${t}}`},AR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:NR,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,CR.alwaysValidSchema)(n,e)&&(o?(0,zR.validateAdditionalItems)(t,o):t.ok((0,IR.validateArray)(t)))}};Ad.default=AR});var hy=T(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var ht=F(),ra=Q(),jR={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}}`},MR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:jR,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=MR});var yy=T(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.validateSchemaDeps=Dt.validatePropertyDeps=Dt.error=void 0;var Md=F(),DR=Q(),gs=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}, + || ${i} === "boolean" || ${o} === null`).assign(a,(0,H._)`[${o}]`)}}}function _$({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,H._)`${e} !== undefined`,()=>t.assign((0,H._)`${e}[${r}]`,n))}function Fl(t,e,r,n=Hn.Correct){let o=n===Hn.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===Hn.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=Fl;function ql(t,e,r,n){if(t.length===1)return Fl(t[0],e,r,n);let o,s=(0,Zg.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,Fl(i,e,r,n));return o}Fe.checkDataTypes=ql;var y$={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,H._)`{type: ${t}}`:(0,H._)`{type: ${e}}`};function Bl(t){let e=x$(t);(0,p$.reportError)(e,y$)}Fe.reportTypeError=Bl;function x$(t){let{gen:e,data:r,schema:n}=t,o=(0,Zg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var qg=T(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.assignDefaults=void 0;var Fn=q(),v$=Q();function S$(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Fg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Fg(t,s,o.default))}Mi.assignDefaults=S$;function Fg(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Fn._)`${s}${(0,Fn.getProperty)(e)}`;if(o){(0,v$.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Fn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Fn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Fn._)`${a} = ${(0,Fn.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 pe=q(),Vl=Q(),gr=Qt(),k$=Q();function b$(t,e){let{gen:r,data:n,it:o}=t;r.if(Jl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,pe._)`${e}`},!0),t.error()})}oe.checkReportMissingProp=b$;function w$({gen:t,data:e,it:{opts:r}},n,o){return(0,pe.or)(...n.map(s=>(0,pe.and)(Jl(t,e,s,r.ownProperties),(0,pe._)`${o} = ${s}`)))}oe.checkMissingProp=w$;function E$(t,e){t.setParams({missingProperty:e},!0),t.error()}oe.reportMissingProp=E$;function Bg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,pe._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=Bg;function Kl(t,e,r){return(0,pe._)`${Bg(t)}.call(${e}, ${r})`}oe.isOwnProperty=Kl;function T$(t,e,r,n){let o=(0,pe._)`${e}${(0,pe.getProperty)(r)} !== undefined`;return n?(0,pe._)`${o} && ${Kl(t,e,r)}`:o}oe.propertyInData=T$;function Jl(t,e,r,n){let o=(0,pe._)`${e}${(0,pe.getProperty)(r)} === undefined`;return n?(0,pe.or)(o,(0,pe.not)(Kl(t,e,r))):o}oe.noPropertyInData=Jl;function Vg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}oe.allSchemaProperties=Vg;function $$(t,e){return Vg(e).filter(r=>!(0,Vl.alwaysValidSchema)(t,e[r]))}oe.schemaProperties=$$;function P$({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,pe._)`${t}, ${e}, ${n}${o}`:e,d=[[gr.default.instancePath,(0,pe.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,pe._)`${l}, ${r.object(...d)}`;return c!==pe.nil?(0,pe._)`${a}.call(${c}, ${f})`:(0,pe._)`${a}(${f})`}oe.callValidateCode=P$;var R$=(0,pe._)`new RegExp`;function O$({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,pe._)`${o.code==="new RegExp"?R$:(0,k$.useFunc)(t,o)}(${r}, ${n})`})}oe.usePattern=O$;function C$(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,pe._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Vl.Type.Num},s),e.if((0,pe.not)(s),a)})}}oe.validateArray=C$;function I$(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,Vl.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,pe._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,pe.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}oe.validateUnion=I$});var Wg=T(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.validateKeywordUsage=At.validSchemaType=At.funcKeywordCode=At.macroKeywordCode=void 0;var Ke=q(),sn=Qt(),z$=ft(),N$=Wo();function A$(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Jg(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=A$;function j$(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;D$(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Jg(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&&Kg(t),g(()=>t.error());else{let _=e.async?m():p();e.modifying&&Kg(t),g(()=>M$(t,_))}}function m(){let _=n.let("ruleErrs",null);return n.try(()=>h((0,Ke._)`await `),x=>n.assign(d,!1).if((0,Ke._)`${x} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Ke._)`${x}.errors`),()=>n.throw(x))),_}function p(){let _=(0,Ke._)`${l}.errors`;return n.assign(_,null),h(Ke.nil),_}function h(_=e.async?(0,Ke._)`await `:Ke.nil){let x=c.opts.passContext?sn.default.this:sn.default.self,S=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ke._)`${_}${(0,z$.callValidateCode)(t,l,x,S)}`,e.modifying)}function g(_){var x;n.if((0,Ke.not)((x=e.valid)!==null&&x!==void 0?x:d),_)}}At.funcKeywordCode=j$;function Kg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ke._)`${n.parentData}[${n.parentDataProperty}]`))}function M$(t,e){let{gen:r}=t;r.if((0,Ke._)`Array.isArray(${e})`,()=>{r.assign(sn.default.vErrors,(0,Ke._)`${sn.default.vErrors} === null ? ${e} : ${sn.default.vErrors}.concat(${e})`).assign(sn.default.errors,(0,Ke._)`${sn.default.vErrors}.length`),(0,N$.extendErrors)(t)},()=>t.error())}function D$({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Jg(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 L$(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=L$;function Z$({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=Z$});var Yg=T(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.extendSubschemaMode=_r.extendSubschemaData=_r.getSubschema=void 0;var jt=q(),Gg=Q();function U$(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,Gg.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=U$;function H$(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,Gg.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=H$;function F$(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=F$});var Wl=T((jM,Xg)=>{"use strict";Xg.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,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 e_=T((MM,Qg)=>{"use strict";var yr=Qg.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(){};Di(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 Di(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{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.getSchemaRefs=rt.resolveUrl=rt.normalizeId=rt._getFullPath=rt.getFullPath=rt.inlineRef=void 0;var B$=Q(),V$=Wl(),K$=e_(),J$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function W$(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Gl(t):e?t_(t)<=e:!1}rt.inlineRef=W$;var G$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Gl(t){for(let e in t){if(G$.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Gl)||typeof r=="object"&&Gl(r))return!0}return!1}function t_(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!J$.has(r)&&(typeof t[r]=="object"&&(0,B$.eachItem)(t[r],n=>e+=t_(n)),e===1/0))return 1/0}return e}function r_(t,e="",r){r!==!1&&(e=qn(e));let n=t.parse(e);return n_(t,n)}rt.getFullPath=r_;function n_(t,e){return t.serialize(e).split("#")[0]+"#"}rt._getFullPath=n_;var Y$=/#\/?$/;function qn(t){return t?t.replace(Y$,""):""}rt.normalizeId=qn;function X$(t,e,r){return r=qn(r),t.resolve(e,r)}rt.resolveUrl=X$;var Q$=/^[a-z_][-a-z0-9._]*$/i;function e0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=qn(t[r]||e),s={"":o},i=r_(n,o,!1),a={},c=new Set;return K$(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])),x.call(this,d.$anchor),x.call(this,d.$dynamicAnchor),s[f]=g;function _(S){let w=this.opts.uriResolver.resolve;if(S=qn(g?w(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!==qn(h)&&(S[0]==="#"?(u(d,a[S],S),a[S]=d):this.refs[S]=h),S}function x(S){if(typeof S=="string"){if(!Q$.test(S))throw new Error(`invalid anchor "${S}"`);_.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!V$(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}rt.getSchemaRefs=e0});var es=T(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.getData=xr.KeywordCxt=xr.validateFunctionCode=void 0;var c_=Mg(),o_=Go(),Xl=Hl(),Li=Go(),t0=qg(),Qo=Wg(),Yl=Yg(),I=q(),Z=Qt(),r0=Yo(),er=Q(),Xo=Wo();function n0(t){if(d_(t)&&(p_(t),l_(t))){i0(t);return}u_(t,()=>(0,c_.topBoolOrEmptySchema)(t))}xr.validateFunctionCode=n0;function u_({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"; ${s_(r,o)}`),s0(t,o),t.code(s)}):t.func(e,(0,I._)`${Z.default.data}, ${o0(o)}`,n.$async,()=>t.code(s_(r,o)).code(s))}function o0(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 s0(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 i0(t){let{schema:e,opts:r,gen:n}=t;u_(t,()=>{r.$comment&&e.$comment&&m_(t),d0(t),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&a0(t),f_(t),m0(t)})}function a0(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 s_(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 c0(t,e){if(d_(t)&&(p_(t),l_(t))){u0(t,e);return}(0,c_.boolOrEmptySchema)(t,e)}function l_({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 d_(t){return typeof t.schema!="boolean"}function u0(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&m_(t),p0(t),f0(t);let s=n.const("_errs",Z.default.errors);f_(t,s),n.var(e,(0,I._)`${s} === ${Z.default.errors}`)}function p_(t){(0,er.checkUnknownRules)(t),l0(t)}function f_(t,e){if(t.opts.jtd)return i_(t,[],!1,e);let r=(0,o_.getSchemaTypes)(t.schema),n=(0,o_.coerceAndCheckDataType)(t,r);i_(t,r,!n,e)}function l0(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 d0(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 p0(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,r0.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function f0(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function m_({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 m0(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&&h0(t),e.return((0,I._)`${Z.default.errors} === 0`))}function h0({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 i_(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(()=>g_(t,"$ref",l.all.$ref.definition));return}c.jtd||g0(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Xl.shouldUseGroup)(s,f)&&(f.type?(o.if((0,Li.checkDataType)(f.type,i,c.strictNumbers)),a_(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Li.reportTypeError)(t)),o.endIf()):a_(t,f),a||o.if((0,I._)`${Z.default.errors} === ${n||0}`))}}function a_(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,t0.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Xl.shouldUseRule)(n,s)&&g_(t,s.keyword,s.definition,e.type)})}function g0(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(_0(t,e),t.opts.allowUnionTypes||y0(t,e),x0(t,t.dataTypes))}function _0(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{h_(t.dataTypes,r)||Ql(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),S0(t,e)}}function y0(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Ql(t,"use allowUnionTypes to allow union type keyword")}function x0(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Xl.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>v0(e,i))&&Ql(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function v0(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function h_(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function S0(t,e){let r=[];for(let n of t.dataTypes)h_(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Ql(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,er.checkStrictMode)(t,e,t.opts.strictTypes)}var Zi=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",__(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,Li.checkDataTypes)(c,r,s.opts.strictNumbers,Li.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,Yl.getSubschema)(this.it,e);(0,Yl.extendSubschemaData)(n,this.it,e),(0,Yl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return c0(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=Zi;function g_(t,e,r,n){let o=new Zi(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 k0=/^\/(?:[^~]|~0|~1)*$/,b0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function __(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return Z.default.rootData;if(t[0]==="/"){if(!k0.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=Z.default.rootData}else{let u=b0.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=__});var Ui=T(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});var ed=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};td.default=ed});var ts=T(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var rd=Yo(),nd=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,rd.resolveUrl)(e,r,n),this.missingSchema=(0,rd.normalizeId)((0,rd.getFullPath)(e,this.missingRef))}};od.default=nd});var Fi=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(),w0=Ui(),an=Qt(),wt=Yo(),y_=Q(),E0=es(),Bn=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=Bn;function id(t){let e=x_.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:w0.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:an.default.data,parentData:an.default.parentData,parentDataProperty:an.default.parentDataProperty,dataNames:[an.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,E0.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(an.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${an.default.self}`,`${an.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=id;function T0(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=R0.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 Bn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=$0.call(this,s)}mt.resolveRef=T0;function $0(t){return(0,wt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:id.call(this,t)}function x_(t){for(let e of this._compilations)if(P0(e,t))return e}mt.getCompilingSchema=x_;function P0(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function R0(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Hi.call(this,t,e)}function Hi(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 sd.call(this,r,t);let s=(0,wt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Hi.call(this,t,i);return typeof a?.schema!="object"?void 0:sd.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||id.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 Bn({schema:a,schemaId:c,root:t,baseId:o})}return sd.call(this,r,i)}}mt.resolveSchema=Hi;var O0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function sd(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,y_.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!O0.has(a)&&u&&(e=(0,wt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,y_.schemaHasRulesButRef)(r,this.RULES)){let a=(0,wt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Hi.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Bn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var v_=T((FM,C0)=>{C0.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 cd=T((qM,w_)=>{"use strict";var I0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),k_=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 ad(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var z0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function S_(t){return t.length=0,!0}function N0(t,e,r){if(t.length){let n=ad(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function A0(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=N0;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=S_}else{o.push(u);continue}}return o.length&&(a===S_?r.zone=o.join(""):i?n.push(o.join("")):n.push(ad(o))),r.address=n.join(""),r}function b_(t){if(j0(t,":")<2)return{host:t,isIPV6:!1};let e=A0(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 j0(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:Z0}=cd(),U0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,H0=["http","https","ws","wss","urn","urn:uuid"];function F0(t){return H0.indexOf(t)!==-1}function ud(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 E_(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function T_(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 q0(t){return t.secure=ud(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function B0(t){if((t.port===(ud(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 V0(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(U0);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=ld(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function K0(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=ld(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 J0(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!Z0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function W0(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var $_={scheme:"http",domainHost:!0,parse:E_,serialize:T_},G0={scheme:"https",domainHost:$_.domainHost,parse:E_,serialize:T_},qi={scheme:"ws",domainHost:!0,parse:q0,serialize:B0},Y0={scheme:"wss",domainHost:qi.domainHost,parse:qi.parse,serialize:qi.serialize},X0={scheme:"urn",parse:V0,serialize:K0,skipNormalize:!0},Q0={scheme:"urn:uuid",parse:J0,serialize:W0,skipNormalize:!0},Bi={http:$_,https:G0,ws:qi,wss:Y0,urn:X0,"urn:uuid":Q0};Object.setPrototypeOf(Bi,null);function ld(t){return t&&(Bi[t]||Bi[t.toLowerCase()])||void 0}P_.exports={wsIsSecure:ud,SCHEMES:Bi,isValidSchemeName:F0,getSchemeHandler:ld}});var I_=T((VM,Ki)=>{"use strict";var{normalizeIPv6:eP,removeDotSegments:rs,recomposeAuthority:tP,normalizeComponentEncoding:Vi,isIPv4:rP,nonSimpleDomain:nP}=cd(),{SCHEMES:oP,getSchemeHandler:O_}=R_();function sP(t,e){return typeof t=="string"?t=Mt(tr(t,e),e):typeof t=="object"&&(t=tr(Mt(t,e),e)),t}function iP(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=C_(tr(t,n),tr(e,n),n,!0);return n.skipEscape=!0,Mt(o,n)}function C_(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 aP(t,e,r){return typeof t=="string"?(t=unescape(t),t=Mt(Vi(tr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Mt(Vi(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Mt(Vi(tr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Mt(Vi(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=O_(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=tP(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 cP=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\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(cP);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(rP(n.host)===!1){let c=eP(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=O_(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&nP(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 dd={SCHEMES:oP,normalize:sP,resolve:iP,resolveComponent:C_,equal:aP,serialize:Mt,parse:tr};Ki.exports=dd;Ki.exports.default=dd;Ki.exports.fastUri=dd});var N_=T(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var z_=I_();z_.code='require("ajv/dist/runtime/uri").default';pd.default=z_});var H_=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 uP=es();Object.defineProperty(Ae,"KeywordCxt",{enumerable:!0,get:function(){return uP.KeywordCxt}});var Vn=q();Object.defineProperty(Ae,"_",{enumerable:!0,get:function(){return Vn._}});Object.defineProperty(Ae,"str",{enumerable:!0,get:function(){return Vn.str}});Object.defineProperty(Ae,"stringify",{enumerable:!0,get:function(){return Vn.stringify}});Object.defineProperty(Ae,"nil",{enumerable:!0,get:function(){return Vn.nil}});Object.defineProperty(Ae,"Name",{enumerable:!0,get:function(){return Vn.Name}});Object.defineProperty(Ae,"CodeGen",{enumerable:!0,get:function(){return Vn.CodeGen}});var lP=Ui(),L_=ts(),dP=Ul(),ns=Fi(),pP=q(),os=Yo(),Ji=Go(),md=Q(),A_=v_(),fP=N_(),Z_=(t,e)=>new RegExp(t,e);Z_.code="new RegExp";var mP=["removeAdditional","useDefaults","coerceTypes"],hP=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),gP={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."},_P={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},j_=200;function yP(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,_,x,S,w,z,de,Te,K,Le;let Se=t.strict,Or=(e=t.code)===null||e===void 0?void 0:e.optimize,Ef=Or===!0||Or===void 0?1:Or||0,Tf=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Z_,_S=(o=t.uriResolver)!==null&&o!==void 0?o:fP.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Se)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Se)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Se)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:Se)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:Se)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:Ef,regExp:Tf}:{optimize:Ef,regExp:Tf},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:j_,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:j_,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(x=t.messages)!==null&&x!==void 0?x:!0,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$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:_S}}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,...yP(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new pP.ValueScope({scope:{},prefixes:hP,es5:r,lines:n}),this.logger=wP(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,dP.getRules)(),M_.call(this,gP,e,"NOT SUPPORTED"),M_.call(this,_P,e,"DEPRECATED","warn"),this._metaOpts=kP.call(this),e.formats&&vP.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&SP.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),xP.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=A_;n==="id"&&(o={...A_},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 L_.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=D_.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=D_.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(TP.call(this,n,r),!r)return(0,md.eachItem)(n,s=>fd.call(this,s)),this;PP.call(this,r);let o={...r,type:(0,Ji.getJSONTypes)(r.type),schemaType:(0,Ji.getJSONTypes)(r.schemaType)};return(0,md.eachItem)(n,o.type.length===0?s=>fd.call(this,s,o):s=>o.type.forEach(i=>fd.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]=U_(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=lP.default;ss.MissingRefError=L_.default;Ae.default=ss;function M_(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 D_(t){return t=(0,os.normalizeId)(t),this.schemas[t]||this.refs[t]}function xP(){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 vP(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function SP(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 kP(){let t={...this.opts};for(let e of mP)delete t[e];return t}var bP={log(){},warn(){},error(){}};function wP(t){if(t===!1)return bP;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 EP=/^[a-z_$][a-z0-9_$:-]*$/i;function TP(t,e){let{RULES:r}=this;if((0,md.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!EP.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 fd(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,Ji.getJSONTypes)(e.type),schemaType:(0,Ji.getJSONTypes)(e.schemaType)}};e.before?$P.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 $P(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 PP(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=U_(e)),t.validateSchema=this.compile(e,!0))}var RP={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function U_(t){return{anyOf:[t,RP]}}});var F_=T(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var OP={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};hd.default=OP});var K_=T(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.callRef=cn.getValidate=void 0;var CP=ts(),q_=ft(),nt=q(),Kn=Qt(),B_=Fi(),Wi=Q(),IP={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=B_.resolveRef.call(c,u,o,r);if(l===void 0)throw new CP.default(n.opts.uriResolver,o,r);if(l instanceof B_.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return Gi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Gi(t,(0,nt._)`${p}.validate`,u,u.$async)}function f(p){let h=V_(t,p);Gi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,nt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:nt.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function V_(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,nt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}cn.getValidate=V_;function Gi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Kn.default.this:nt.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,nt._)`await ${(0,q_.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,nt._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,q_.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,nt._)`${p}.errors`;o.assign(Kn.default.vErrors,(0,nt._)`${Kn.default.vErrors} === null ? ${h} : ${Kn.default.vErrors}.concat(${h})`),o.assign(Kn.default.errors,(0,nt._)`${Kn.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=Wi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,nt._)`${p}.evaluated.props`);s.props=Wi.mergeEvaluated.props(o,_,s.props,nt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Wi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,nt._)`${p}.evaluated.items`);s.items=Wi.mergeEvaluated.items(o,_,s.items,nt.Name)}}}cn.callRef=Gi;cn.default=IP});var J_=T(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var zP=F_(),NP=K_(),AP=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",zP.default,NP.default];gd.default=AP});var W_=T(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var Yi=q(),vr=Yi.operators,Xi={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}},jP={message:({keyword:t,schemaCode:e})=>(0,Yi.str)`must be ${Xi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Yi._)`{comparison: ${Xi[t].okStr}, limit: ${e}}`},MP={keyword:Object.keys(Xi),type:"number",schemaType:"number",$data:!0,error:jP,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Yi._)`${r} ${Xi[e].fail} ${n} || isNaN(${r})`)}};_d.default=MP});var G_=T(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var is=q(),DP={message:({schemaCode:t})=>(0,is.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,is._)`{multipleOf: ${t}}`},LP={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:DP,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}))`)}};yd.default=LP});var X_=T(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});function Y_(t){let e=t.length,r=0,n=0,o;for(;n=55296&&o<=56319&&n{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var un=q(),ZP=Q(),UP=X_(),HP={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,un.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,un._)`{limit: ${t}}`},FP={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:HP,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?un.operators.GT:un.operators.LT,i=o.opts.unicode===!1?(0,un._)`${r}.length`:(0,un._)`${(0,ZP.useFunc)(t.gen,UP.default)}(${r})`;t.fail$data((0,un._)`${i} ${s} ${n}`)}};vd.default=FP});var ey=T(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var qP=ft(),BP=Q(),Jn=q(),VP={message:({schemaCode:t})=>(0,Jn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Jn._)`{pattern: ${t}}`},KP={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:VP,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,Jn._)`new RegExp`:(0,BP.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Jn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Jn._)`!${l}`)}else{let c=(0,qP.usePattern)(t,o);t.fail$data((0,Jn._)`!${c}.test(${r})`)}}};Sd.default=KP});var ty=T(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var as=q(),JP={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}}`},WP={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:JP,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}`)}};kd.default=WP});var ry=T(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var cs=ft(),us=q(),GP=Q(),YP={message:({params:{missingProperty:t}})=>(0,us.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,us._)`{missingProperty: ${t}}`},XP={keyword:"required",type:"object",schemaType:"array",$data:!0,error:YP,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,GP.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)}}};bd.default=XP});var ny=T(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var ls=q(),QP={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}}`},eR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:QP,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}`)}};wd.default=eR});var Qi=T(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var oy=Wl();oy.code='require("ajv/dist/runtime/equal").default';Ed.default=oy});var sy=T($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var Td=Go(),je=q(),tR=Q(),rR=Qi(),nR={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}}`},oR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:nR,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,Td.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,Td.checkDataTypes)(u,g,a.opts.strictNumbers,Td.DataType.Wrong),x=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 ${x}[${g}] == "number"`,()=>{e.assign(h,(0,je._)`${x}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,je._)`${x}[${g}] = ${p}`)})}function m(p,h){let g=(0,tR.useFunc)(e,rR.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(_)})))}}};$d.default=oR});var iy=T(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var Pd=q(),sR=Q(),iR=Qi(),aR={message:"must be equal to constant",params:({schemaCode:t})=>(0,Pd._)`{allowedValue: ${t}}`},cR={keyword:"const",$data:!0,error:aR,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,Pd._)`!${(0,sR.useFunc)(e,iR.default)}(${r}, ${o})`):t.fail((0,Pd._)`${s} !== ${r}`)}};Rd.default=cR});var ay=T(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var ds=q(),uR=Q(),lR=Qi(),dR={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,ds._)`{allowedValues: ${t}}`},pR={keyword:"enum",schemaType:"array",$data:!0,error:dR,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,uR.useFunc)(e,lR.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}`}}};Od.default=pR});var cy=T(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var fR=W_(),mR=G_(),hR=Q_(),gR=ey(),_R=ty(),yR=ry(),xR=ny(),vR=sy(),SR=iy(),kR=ay(),bR=[fR.default,mR.default,hR.default,gR.default,_R.default,yR.default,xR.default,vR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},SR.default,kR.default];Cd.default=bR});var zd=T(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.validateAdditionalItems=void 0;var ln=q(),Id=Q(),wR={message:({params:{len:t}})=>(0,ln.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ln._)`{limit: ${t}}`},ER={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:wR,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Id.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}uy(t,n)}};function uy(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,ln._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ln._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Id.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,ln._)`${a} <= ${e.length}`);r.if((0,ln.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Id.Type.Num},u),i.allErrors||r.if((0,ln.not)(u),()=>r.break())})}}ps.validateAdditionalItems=uy;ps.default=ER});var Nd=T(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.validateTuple=void 0;var ly=q(),ea=Q(),TR=ft(),$R={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return dy(t,"additionalItems",e);r.items=!0,!(0,ea.alwaysValidSchema)(r,e)&&t.ok((0,TR.validateArray)(t))}};function dy(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=ea.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,ly._)`${s}.length`);r.forEach((d,f)=>{(0,ea.alwaysValidSchema)(a,d)||(n.if((0,ly._)`${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,ea.checkStrictMode)(a,g,f.strictTuples)}}}fs.validateTuple=dy;fs.default=$R});var py=T(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var PR=Nd(),RR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,PR.validateTuple)(t,"items")};Ad.default=RR});var my=T(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var fy=q(),OR=Q(),CR=ft(),IR=zd(),zR={message:({params:{len:t}})=>(0,fy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,fy._)`{limit: ${t}}`},NR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:zR,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,OR.alwaysValidSchema)(n,e)&&(o?(0,IR.validateAdditionalItems)(t,o):t.ok((0,CR.validateArray)(t)))}};jd.default=NR});var hy=T(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var ht=q(),ta=Q(),AR={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}}`},jR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:AR,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,ta.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,ta.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,ta.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:ta.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)))}}};Md.default=jR});var yy=T(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.validateSchemaDeps=Dt.validatePropertyDeps=Dt.error=void 0;var Dd=q(),MR=Q(),ms=ft();Dt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Dd.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Dd._)`{property: ${t}, missingProperty: ${n}, depsCount: ${e}, - deps: ${r}}`};var LR={keyword:"dependencies",type:"object",schemaType:"object",error:Dt.error,code(t){let[e,r]=ZR(t);gy(t,e),_y(t,r)}};function ZR({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 gy(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,gs.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,gs.checkReportMissingProp)(t,u)}):(r.if((0,Md._)`${c} && (${(0,gs.checkMissingProp)(t,a,s)})`),(0,gs.reportMissingProp)(t,s),r.else())}}Dt.validatePropertyDeps=gy;function _y(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,DR.alwaysValidSchema)(s,e[a])||(r.if((0,gs.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=_y;Dt.default=LR});var vy=T(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var xy=F(),UR=Q(),HR={message:"property name must be valid",params:({params:t})=>(0,xy._)`{propertyName: ${t.propertyName}}`},qR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:HR,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,UR.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,xy.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Dd.default=qR});var Zd=T(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var na=ft(),Et=F(),FR=Qt(),oa=Q(),BR={message:"must NOT have additional properties",params:({params:t})=>(0,Et._)`{additionalProperty: ${t.additionalProperty}}`},VR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:BR,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} === ${FR.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 x=(0,oa.schemaRefOrVal)(i,n.properties,"properties");_=(0,na.isOwnProperty)(e,x,g)}else u.length?_=(0,Et.or)(...u.map(x=>(0,Et._)`${g} === ${x}`)):_=Et.nil;return l.length&&(_=(0,Et.or)(_,...l.map(x=>(0,Et._)`${(0,na.usePattern)(t,x)}.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,_,x){let S={keyword:"additionalProperties",dataProp:g,dataPropType:oa.Type.Str};x===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,_)}}};Ld.default=VR});var by=T(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var KR=rs(),Sy=ft(),Ud=Q(),ky=Zd(),JR={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&&ky.default.code(new KR.KeywordCxt(s,ky.default,"additionalProperties"));let i=(0,Sy.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,Sy.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=JR});var $y=T(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var wy=ft(),sa=F(),Ey=Q(),Ty=Q(),WR={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,wy.allSchemaProperties)(r),c=a.filter(h=>(0,Ey.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,Ty.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,Ey.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,sa._)`${(0,wy.usePattern)(t,h)}.test(${g})`,()=>{let _=c.includes(h);_||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:Ty.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())})})}}};qd.default=WR});var Py=T(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var GR=Q(),YR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,GR.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"}};Fd.default=YR});var Ry=T(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var XR=ft(),QR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:XR.validateUnion,error:{message:"must match a schema in anyOf"}};Bd.default=QR});var Oy=T(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var ia=F(),eO=Q(),tO={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,ia._)`{passingSchemas: ${t.passing}}`},rO={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:tO,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,eO.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=rO});var Cy=T(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var nO=Q(),oO={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,nO.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Kd.default=oO});var Ny=T(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var aa=F(),zy=Q(),sO={message:({params:t})=>(0,aa.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,aa._)`{failingKeyword: ${t.ifClause}}`},iO={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:sO,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,zy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Iy(n,"then"),s=Iy(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 Iy(t,e){let r=t.schema[e];return r!==void 0&&!(0,zy.alwaysValidSchema)(t,r)}Jd.default=iO});var Ay=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var aO=Q(),cO={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,aO.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Wd.default=cO});var jy=T(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var uO=Id(),lO=py(),dO=zd(),pO=my(),fO=hy(),mO=yy(),hO=vy(),gO=Zd(),_O=by(),yO=$y(),xO=Py(),vO=Ry(),SO=Oy(),kO=Cy(),bO=Ny(),wO=Ay();function EO(t=!1){let e=[xO.default,vO.default,SO.default,kO.default,bO.default,wO.default,hO.default,gO.default,mO.default,_O.default,yO.default];return t?e.push(lO.default,pO.default):e.push(uO.default,dO.default),e.push(fO.default),e}Gd.default=EO});var My=T(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var ke=F(),TO={message:({schemaCode:t})=>(0,ke.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ke._)`{format: ${t}}`},$O={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:TO,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,ke._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,ke._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,ke._)`${h}.type || "string"`).assign(_,(0,ke._)`${h}.validate`),()=>r.assign(g,(0,ke._)`"string"`).assign(_,h)),t.fail$data((0,ke.or)(x(),S()));function x(){return c.strictSchema===!1?ke.nil:(0,ke._)`${i} && !${_}`}function S(){let w=l.$async?(0,ke._)`(${h}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,ke._)`${_}(${n})`,z=(0,ke._)`(typeof ${_} == "function" ? ${w} : ${_}.test(${n}))`;return(0,ke._)`${_} && ${_} !== true && ${g} === ${e} && !${z}`}}function m(){let p=d.formats[s];if(!p){x();return}if(p===!0)return;let[h,g,_]=S(p);h===e&&t.pass(w());function x(){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,ke.regexpCode)(z):c.code.formats?(0,ke._)`${c.code.formats}${(0,ke.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,ke._)`${Te}.validate`]:["string",z,Te]}function w(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ke._)`await ${_}(${n})`}return typeof g=="function"?(0,ke._)`${_}(${n})`:(0,ke._)`${_}.test(${n})`}}}};Yd.default=$O});var Dy=T(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var PO=My(),RO=[PO.default];Xd.default=RO});var Ly=T(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.contentVocabulary=Gn.metadataVocabulary=void 0;Gn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Gn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Uy=T(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var OO=J_(),CO=cy(),IO=jy(),zO=Dy(),Zy=Ly(),NO=[OO.default,CO.default,(0,IO.default)(),zO.default,Zy.metadataVocabulary,Zy.contentVocabulary];Qd.default=NO});var qy=T(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.DiscrError=void 0;var Hy;(function(t){t.Tag="tag",t.Mapping="mapping"})(Hy||(ca.DiscrError=Hy={}))});var By=T(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});var Yn=F(),ep=qy(),Fy=Fi(),AO=ns(),jO=Q(),MO={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,Yn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},DO={keyword:"discriminator",type:"object",schemaType:"object",error:MO,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,Yn._)`${r}${(0,Yn.getProperty)(a)}`);e.if((0,Yn._)`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,Yn._)`${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,Yn.Name),p}function f(){var m;let p={},h=_(o),g=!0;for(let w=0;w{LO.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 ZO=H_(),UO=Uy(),HO=By(),Ky=Vy(),qO=["/properties"],ua="http://json-schema.org/draft-07/schema",Xn=class extends ZO.default{_addVocabularies(){super._addVocabularies(),UO.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(HO.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Ky,qO):Ky;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=Xn;rp.exports=me=Xn;rp.exports.Ajv=Xn;Object.defineProperty(me,"__esModule",{value:!0});me.default=Xn;var FO=rs();Object.defineProperty(me,"KeywordCxt",{enumerable:!0,get:function(){return FO.KeywordCxt}});var Qn=F();Object.defineProperty(me,"_",{enumerable:!0,get:function(){return Qn._}});Object.defineProperty(me,"str",{enumerable:!0,get:function(){return Qn.str}});Object.defineProperty(me,"stringify",{enumerable:!0,get:function(){return Qn.stringify}});Object.defineProperty(me,"nil",{enumerable:!0,get:function(){return Qn.nil}});Object.defineProperty(me,"Name",{enumerable:!0,get:function(){return Qn.Name}});Object.defineProperty(me,"CodeGen",{enumerable:!0,get:function(){return Qn.CodeGen}});var BO=Hi();Object.defineProperty(me,"ValidationError",{enumerable:!0,get:function(){return BO.default}});var VO=ns();Object.defineProperty(me,"MissingRefError",{enumerable:!0,get:function(){return VO.default}})});var tx=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(Yy,ap),time:Lt(sp(!0),cp),"date-time":Lt(Jy(!0),Qy),"iso-time":Lt(sp(),Xy),"iso-date-time":Lt(Jy(),ex),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:XO,"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:sC,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:QO,int32:{type:"number",validate:rC},int64:{type:"number",validate:nC},float:{type:"number",validate:Gy},double:{type:"number",validate:Gy},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,Qy),"iso-time":Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Xy),"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,ex),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 KO(t){return t%4===0&&(t%100!==0||t%400===0)}var JO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,WO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Yy(t){let e=JO.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&&KO(r)?29:WO[n])}function ap(t,e){if(t&&e)return t>e?1:t23||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 Xy(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=eC}function nC(t){return Number.isInteger(t)}function Gy(){return!0}var oC=/[^\\]\\Z/;function sC(t){if(oC.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var rx=T(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.formatLimitDefinition=void 0;var iC=np(),Tt=F(),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}},aC={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}}`};eo.formatLimitDefinition={keyword:Object.keys(la),type:"string",schemaType:"string",$data:!0,error:aC,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 iC.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 cC=t=>(t.addKeyword(eo.formatLimitDefinition),t);eo.default=cC});var ix=T((_s,sx)=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});var to=tx(),uC=rx(),up=F(),nx=new up.Name("fullFormats"),lC=new up.Name("fastFormats"),lp=(t,e={keywords:!0})=>{if(Array.isArray(e))return ox(t,e,to.fullFormats,nx),t;let[r,n]=e.mode==="fast"?[to.fastFormats,lC]:[to.fullFormats,nx],o=e.formats||to.formatNames;return ox(t,o,r,n),e.keywords&&(0,uC.default)(t),t};lp.get=(t,e="full")=>{let n=(e==="fast"?to.fastFormats:to.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function ox(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])}sx.exports=_s=lp;Object.defineProperty(_s,"__esModule",{value:!0});_s.default=lp});var Vx,Kx=$e(()=>{"use strict";Vx={"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 ws(t,e){let r=bs[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=bs[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 Np(t){let e=Object.values(bs);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var Pt,GC,Jx,YC,WL,bs,Wx,GL,Gx=$e(()=>{"use strict";Pt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},GC=["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"],Jx=GC.join("|"),YC=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],WL=YC.join("|"),bs={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},Wx=[Pt.PRE_TOOL_USE,Pt.SESSION_START],GL=[Pt.POST_TOOL_USE,Pt.PRE_COMPACT,Pt.USER_PROMPT_SUBMIT]});var jp={};We(jp,{ClaudeCodeAdapter:()=>Ap});import{createHash as Yx}from"node:crypto";import{readFileSync as ba,writeFileSync as Xx,mkdirSync as XC,copyFileSync as QC,accessSync as Qx,existsSync as eI,readdirSync as tI,chmodSync as rI,constants as ev}from"node:fs";import{resolve as dn,join as Es}from"node:path";import{homedir as ao}from"node:os";var Ap,Mp=$e(()=>{"use strict";Gx();Ap=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 dn(ao(),".claude","settings.json")}getSessionDir(){let e=Es(ao(),".claude","context-mode","sessions");return XC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Yx("sha256").update(e).digest("hex").slice(0,16);return Es(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Yx("sha256").update(e).digest("hex").slice(0,16);return Es(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){Xx(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"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=[Es(e,"hooks","hooks.json"),Es(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=>ws(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>ws(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=dn(ao(),".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=[dn(ao(),".claude"),dn(ao(),".config","claude")];for(let r of e){let n=dn(r,"plugins","cache","context-mode","context-mode");try{let s=tI(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(!Np(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?eI(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&&Wx.every(c=>this.checkHookType(void 0,s,c))){for(let c of Object.keys(n)){let u=n[c];if(!Array.isArray(u))continue;let l=u.filter(f=>!Np(f)),d=u.length-l.length;d>0&&(n[c]=l,o.push(`Removed ${d} duplicate ${c} hook(s) \u2014 covered by plugin hooks.json`))}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:Jx,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(f=>ws(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=>ws(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{Qx(e,ev.R_OK);let r=e+".bak";return QC(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(bs)){let o=dn(e,"hooks",n);try{Qx(o,ev.R_OK),rI(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=dn(ao(),".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();Xx(n,JSON.stringify(o,null,2)+` -`,"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 co(t,e){let r=Dp[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var be,Dp,nZ,oZ,tv=$e(()=>{"use strict";be={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Dp={[be.BEFORE_TOOL]:"beforetool.mjs",[be.AFTER_TOOL]:"aftertool.mjs",[be.PRE_COMPRESS]:"precompress.mjs",[be.SESSION_START]:"sessionstart.mjs"},nZ=[be.BEFORE_TOOL,be.SESSION_START],oZ=[be.AFTER_TOOL,be.PRE_COMPRESS]});var av={};We(av,{GeminiCLIAdapter:()=>Zp});import{createHash as rv}from"node:crypto";import{readFileSync as Lp,writeFileSync as nv,mkdirSync as ov,copyFileSync as nI,accessSync as sv,chmodSync as oI,constants as iv}from"node:fs";import{resolve as Ts,join as wa}from"node:path";import{homedir as $s}from"node:os";var Zp,cv=$e(()=>{"use strict";tv();Zp=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 Ts($s(),".gemini","settings.json")}getSessionDir(){let e=wa($s(),".gemini","context-mode","sessions");return ov(e,{recursive:!0}),e}getSessionDBPath(e){let r=rv("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=rv("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[be.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:co(be.BEFORE_TOOL,e)}]}],[be.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:co(be.AFTER_TOOL,e)}]}],[be.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:co(be.PRE_COMPRESS,e)}]}],[be.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:co(be.SESSION_START,e)}]}]}}readSettings(){try{let e=Lp(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=Ts($s(),".gemini");ov(r,{recursive:!0}),nv(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"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?.[be.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?.[be.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=Ts($s(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Lp(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:be.BEFORE_TOOL},{name:be.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:co(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{sv(e,iv.R_OK);let r=e+".bak";return nI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=wa(e,"hooks","gemini-cli");for(let o of Object.values(Dp)){let s=Ts(n,o);try{sv(s,iv.R_OK),oI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=Ts($s(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Lp(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),nv(n,JSON.stringify(o,null,2)+` -`,"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 pn,dZ,pZ,uv=$e(()=>{"use strict";pn={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},dZ=[pn.BEFORE,pn.AFTER],pZ=[pn.COMPACTING]});var pv={};We(pv,{OpenCodeAdapter:()=>Up});import{createHash as lv}from"node:crypto";import{readFileSync as dv,writeFileSync as iI,mkdirSync as aI,copyFileSync as cI,accessSync as uI,constants as lI}from"node:fs";import{resolve as Ut,join as rr}from"node:path";import{homedir as br}from"node:os";function sI(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Up,fv=$e(()=>{"use strict";uv();Up=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 aI(r,{recursive:!0}),r}getSessionDBPath(e){let r=lv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=lv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[pn.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[pn.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[pn.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=dv(s,"utf-8"),a=s.endsWith(".jsonc")?sI(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){iI(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"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(dv(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{uI(this.settingsPath,lI.R_OK);let r=this.settingsPath+".bak";return cI(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 fn,xZ,vZ,mv=$e(()=>{"use strict";fn={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},xZ=[fn.TOOL_CALL_BEFORE,fn.TOOL_CALL_AFTER],vZ=[fn.COMMAND_NEW]});var gv={};We(gv,{OpenClawAdapter:()=>qp});import{createHash as hv}from"node:crypto";import{readFileSync as Hp,writeFileSync as dI,mkdirSync as pI,copyFileSync as fI,accessSync as mI,constants as hI}from"node:fs";import{resolve as wr,join as Ps}from"node:path";import{homedir as Ea}from"node:os";var qp,_v=$e(()=>{"use strict";mv();qp=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=Ps(Ea(),".openclaw","context-mode","sessions");return pI(e,{recursive:!0}),e}getSessionDBPath(e){let r=hv("sha256").update(e).digest("hex").slice(0,16);return Ps(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=hv("sha256").update(e).digest("hex").slice(0,16);return Ps(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[fn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[fn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[fn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[wr("openclaw.json"),wr(".openclaw","openclaw.json"),Ps(Ea(),".openclaw","openclaw.json")];for(let r of e)try{let n=Hp(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=wr("openclaw.json");dI(r,JSON.stringify(e,null,2)+` -`,"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(Hp(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(Hp(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"),Ps(Ea(),".openclaw","openclaw.json")];for(let r of e)try{mI(r,hI.R_OK);let n=r+".bak";return fI(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var Sv={};We(Sv,{CodexAdapter:()=>Vp});import{createHash as yv}from"node:crypto";import{readFileSync as Fp,mkdirSync as gI,copyFileSync as _I,accessSync as yI,constants as xI}from"node:fs";import{resolve as xv,join as Bp,dirname as vI}from"node:path";import{fileURLToPath as SI}from"node:url";import{homedir as vv}from"node:os";var Vp,kv=$e(()=>{"use strict";Vp=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 xv(vv(),".codex","config.toml")}getSessionDir(){let e=Bp(vv(),".codex","context-mode","sessions");return gI(e,{recursive:!0}),e}getSessionDBPath(e){let r=yv("sha256").update(e).digest("hex").slice(0,16);return Bp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=yv("sha256").update(e).digest("hex").slice(0,16);return Bp(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{yI(e,xI.R_OK);let r=e+".bak";return _I(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=xv(vI(SI(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Fp(e,"utf-8")}catch{return`# context-mode + deps: ${r}}`};var DR={keyword:"dependencies",type:"object",schemaType:"object",error:Dt.error,code(t){let[e,r]=LR(t);gy(t,e),_y(t,r)}};function LR({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 gy(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,Dd._)`${c} && (${(0,ms.checkMissingProp)(t,a,s)})`),(0,ms.reportMissingProp)(t,s),r.else())}}Dt.validatePropertyDeps=gy;function _y(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,MR.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=_y;Dt.default=DR});var vy=T(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var xy=q(),ZR=Q(),UR={message:"property name must be valid",params:({params:t})=>(0,xy._)`{propertyName: ${t.propertyName}}`},HR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:UR,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,ZR.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,xy.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Ld.default=HR});var Ud=T(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var ra=ft(),Et=q(),FR=Qt(),na=Q(),qR={message:"must NOT have additional properties",params:({params:t})=>(0,Et._)`{additionalProperty: ${t.additionalProperty}}`},BR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:qR,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,na.alwaysValidSchema)(i,r))return;let u=(0,ra.allSchemaProperties)(n.properties),l=(0,ra.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Et._)`${s} === ${FR.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 x=(0,na.schemaRefOrVal)(i,n.properties,"properties");_=(0,ra.isOwnProperty)(e,x,g)}else u.length?_=(0,Et.or)(...u.map(x=>(0,Et._)`${g} === ${x}`)):_=Et.nil;return l.length&&(_=(0,Et.or)(_,...l.map(x=>(0,Et._)`${(0,ra.usePattern)(t,x)}.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,na.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,_,x){let S={keyword:"additionalProperties",dataProp:g,dataPropType:na.Type.Str};x===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,_)}}};Zd.default=BR});var by=T(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var VR=es(),Sy=ft(),Hd=Q(),ky=Ud(),KR={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&&ky.default.code(new VR.KeywordCxt(s,ky.default,"additionalProperties"));let i=(0,Sy.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Hd.mergeEvaluated.props(e,(0,Hd.toHash)(i),s.props));let a=i.filter(d=>!(0,Hd.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,Sy.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)}}};Fd.default=KR});var $y=T(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var wy=ft(),oa=q(),Ey=Q(),Ty=Q(),JR={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,wy.allSchemaProperties)(r),c=a.filter(h=>(0,Ey.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 oa.Name)&&(s.props=(0,Ty.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,Ey.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,oa._)`${(0,wy.usePattern)(t,h)}.test(${g})`,()=>{let _=c.includes(h);_||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:Ty.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,oa._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,oa.not)(l),()=>e.break())})})}}};qd.default=JR});var Py=T(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var WR=Q(),GR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,WR.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"}};Bd.default=GR});var Ry=T(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var YR=ft(),XR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:YR.validateUnion,error:{message:"must match a schema in anyOf"}};Vd.default=XR});var Oy=T(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var sa=q(),QR=Q(),eO={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,sa._)`{passingSchemas: ${t.passing}}`},tO={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:eO,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,QR.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,sa._)`${c} && ${i}`).assign(i,!1).assign(a,(0,sa._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,sa.Name)})})}}};Kd.default=tO});var Cy=T(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var rO=Q(),nO={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,rO.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Jd.default=nO});var Ny=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var ia=q(),zy=Q(),oO={message:({params:t})=>(0,ia.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,ia._)`{failingKeyword: ${t.ifClause}}`},sO={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:oO,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,zy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Iy(n,"then"),s=Iy(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,ia.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,ia._)`${l}`):t.setParams({ifClause:l})}}}};function Iy(t,e){let r=t.schema[e];return r!==void 0&&!(0,zy.alwaysValidSchema)(t,r)}Wd.default=sO});var Ay=T(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var iO=Q(),aO={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,iO.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Gd.default=aO});var jy=T(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var cO=zd(),uO=py(),lO=Nd(),dO=my(),pO=hy(),fO=yy(),mO=vy(),hO=Ud(),gO=by(),_O=$y(),yO=Py(),xO=Ry(),vO=Oy(),SO=Cy(),kO=Ny(),bO=Ay();function wO(t=!1){let e=[yO.default,xO.default,vO.default,SO.default,kO.default,bO.default,mO.default,hO.default,fO.default,gO.default,_O.default];return t?e.push(uO.default,dO.default):e.push(cO.default,lO.default),e.push(pO.default),e}Yd.default=wO});var My=T(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var ke=q(),EO={message:({schemaCode:t})=>(0,ke.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ke._)`{format: ${t}}`},TO={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:EO,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,ke._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,ke._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,ke._)`${h}.type || "string"`).assign(_,(0,ke._)`${h}.validate`),()=>r.assign(g,(0,ke._)`"string"`).assign(_,h)),t.fail$data((0,ke.or)(x(),S()));function x(){return c.strictSchema===!1?ke.nil:(0,ke._)`${i} && !${_}`}function S(){let w=l.$async?(0,ke._)`(${h}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,ke._)`${_}(${n})`,z=(0,ke._)`(typeof ${_} == "function" ? ${w} : ${_}.test(${n}))`;return(0,ke._)`${_} && ${_} !== true && ${g} === ${e} && !${z}`}}function m(){let p=d.formats[s];if(!p){x();return}if(p===!0)return;let[h,g,_]=S(p);h===e&&t.pass(w());function x(){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,ke.regexpCode)(z):c.code.formats?(0,ke._)`${c.code.formats}${(0,ke.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,ke._)`${Te}.validate`]:["string",z,Te]}function w(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ke._)`await ${_}(${n})`}return typeof g=="function"?(0,ke._)`${_}(${n})`:(0,ke._)`${_}.test(${n})`}}}};Xd.default=TO});var Dy=T(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var $O=My(),PO=[$O.default];Qd.default=PO});var Ly=T(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.contentVocabulary=Wn.metadataVocabulary=void 0;Wn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Wn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Uy=T(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});var RO=J_(),OO=cy(),CO=jy(),IO=Dy(),Zy=Ly(),zO=[RO.default,OO.default,(0,CO.default)(),IO.default,Zy.metadataVocabulary,Zy.contentVocabulary];ep.default=zO});var Fy=T(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.DiscrError=void 0;var Hy;(function(t){t.Tag="tag",t.Mapping="mapping"})(Hy||(aa.DiscrError=Hy={}))});var By=T(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});var Gn=q(),tp=Fy(),qy=Fi(),NO=ts(),AO=Q(),jO={message:({params:{discrError:t,tagName:e}})=>t===tp.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Gn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},MO={keyword:"discriminator",type:"object",schemaType:"object",error:jO,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,Gn._)`${r}${(0,Gn.getProperty)(a)}`);e.if((0,Gn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:tp.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,Gn._)`${u} === ${p}`),e.assign(c,d(m[p]));e.else(),t.error(!1,{discrError:tp.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,Gn.Name),p}function f(){var m;let p={},h=_(o),g=!0;for(let w=0;w{DO.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 op=T((fe,np)=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.MissingRefError=fe.ValidationError=fe.CodeGen=fe.Name=fe.nil=fe.stringify=fe.str=fe._=fe.KeywordCxt=fe.Ajv=void 0;var LO=H_(),ZO=Uy(),UO=By(),Ky=Vy(),HO=["/properties"],ca="http://json-schema.org/draft-07/schema",Yn=class extends LO.default{_addVocabularies(){super._addVocabularies(),ZO.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(UO.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Ky,HO):Ky;this.addMetaSchema(e,ca,!1),this.refs["http://json-schema.org/schema"]=ca}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ca)?ca:void 0)}};fe.Ajv=Yn;np.exports=fe=Yn;np.exports.Ajv=Yn;Object.defineProperty(fe,"__esModule",{value:!0});fe.default=Yn;var FO=es();Object.defineProperty(fe,"KeywordCxt",{enumerable:!0,get:function(){return FO.KeywordCxt}});var Xn=q();Object.defineProperty(fe,"_",{enumerable:!0,get:function(){return Xn._}});Object.defineProperty(fe,"str",{enumerable:!0,get:function(){return Xn.str}});Object.defineProperty(fe,"stringify",{enumerable:!0,get:function(){return Xn.stringify}});Object.defineProperty(fe,"nil",{enumerable:!0,get:function(){return Xn.nil}});Object.defineProperty(fe,"Name",{enumerable:!0,get:function(){return Xn.Name}});Object.defineProperty(fe,"CodeGen",{enumerable:!0,get:function(){return Xn.CodeGen}});var qO=Ui();Object.defineProperty(fe,"ValidationError",{enumerable:!0,get:function(){return qO.default}});var BO=ts();Object.defineProperty(fe,"MissingRefError",{enumerable:!0,get:function(){return BO.default}})});var tx=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(Yy,cp),time:Lt(ip(!0),up),"date-time":Lt(Jy(!0),Qy),"iso-time":Lt(ip(),Xy),"iso-date-time":Lt(Jy(),ex),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:YO,"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:oC,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:XO,int32:{type:"number",validate:tC},int64:{type:"number",validate:rC},float:{type:"number",validate:Gy},double:{type:"number",validate:Gy},password:!0,binary:!0};Zt.fastFormats={...Zt.fullFormats,date:Lt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,cp),time:Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,up),"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,Qy),"iso-time":Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Xy),"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,ex),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 VO(t){return t%4===0&&(t%100!==0||t%400===0)}var KO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,JO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Yy(t){let e=KO.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&&VO(r)?29:JO[n])}function cp(t,e){if(t&&e)return t>e?1:t23||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 up(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 Xy(t,e){if(!(t&&e))return;let r=sp.exec(t),n=sp.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=QO}function rC(t){return Number.isInteger(t)}function Gy(){return!0}var nC=/[^\\]\\Z/;function oC(t){if(nC.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var rx=T(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.formatLimitDefinition=void 0;var sC=op(),Tt=q(),Sr=Tt.operators,ua={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}},iC={message:({keyword:t,schemaCode:e})=>(0,Tt.str)`should be ${ua[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Tt._)`{comparison: ${ua[t].okStr}, limit: ${e}}`};Qn.formatLimitDefinition={keyword:Object.keys(ua),type:"string",schemaType:"string",$data:!0,error:iC,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 sC.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}) ${ua[o].fail} 0`}},dependencies:["format"]};var aC=t=>(t.addKeyword(Qn.formatLimitDefinition),t);Qn.default=aC});var ix=T((hs,sx)=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});var eo=tx(),cC=rx(),lp=q(),nx=new lp.Name("fullFormats"),uC=new lp.Name("fastFormats"),dp=(t,e={keywords:!0})=>{if(Array.isArray(e))return ox(t,e,eo.fullFormats,nx),t;let[r,n]=e.mode==="fast"?[eo.fastFormats,uC]:[eo.fullFormats,nx],o=e.formats||eo.formatNames;return ox(t,o,r,n),e.keywords&&(0,cC.default)(t),t};dp.get=(t,e="full")=>{let n=(e==="fast"?eo.fastFormats:eo.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function ox(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,lp._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}sx.exports=hs=dp;Object.defineProperty(hs,"__esModule",{value:!0});hs.default=dp});var Bx,Vx=$e(()=>{"use strict";Bx={"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=zp(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function zp(t,e){if(e){let r=Ss[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function Np(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function Ap(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,GC,Kx,YC,JL,Ss,Jx,WL,Wx=$e(()=>{"use strict";Pt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},GC=["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"],Kx=GC.join("|"),YC=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],JL=YC.join("|"),Ss={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},Jx=[Pt.PRE_TOOL_USE,Pt.SESSION_START],WL=[Pt.POST_TOOL_USE,Pt.PRE_COMPACT,Pt.USER_PROMPT_SUBMIT]});var Mp={};We(Mp,{ClaudeCodeAdapter:()=>jp});import{createHash as Gx}from"node:crypto";import{readFileSync as ka,writeFileSync as Yx,mkdirSync as XC,copyFileSync as QC,accessSync as Xx,existsSync as eI,readdirSync as tI,chmodSync as rI,constants as Qx}from"node:fs";import{resolve as dn,join as bs}from"node:path";import{homedir as io}from"node:os";var jp,Dp=$e(()=>{"use strict";Wx();jp=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 dn(io(),".claude","settings.json")}getSessionDir(){let e=bs(io(),".claude","context-mode","sessions");return XC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Gx("sha256").update(e).digest("hex").slice(0,16);return bs(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Gx("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=ka(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Yx(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"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=ka(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=dn(io(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ka(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=[dn(io(),".claude"),dn(io(),".config","claude")];for(let r of e){let n=dn(r,"plugins","cache","context-mode","context-mode");try{let s=tI(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(!Ap(f))return!0;let m=f.hooks??[];return m.every(h=>!h.command||!Np(h.command))?!0:m.every(h=>{let g=h.command?Np(h.command):null;return g?eI(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&&Jx.every(c=>this.checkHookType(void 0,s,c))){for(let c of Object.keys(n)){let u=n[c];if(!Array.isArray(u))continue;let l=u.filter(f=>!Ap(f)),d=u.length-l.length;d>0&&(n[c]=l,o.push(`Removed ${d} duplicate ${c} hook(s) \u2014 covered by plugin hooks.json`))}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=zp(a,e);if(a===Pt.PRE_TOOL_USE){let u={matcher:Kx,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{Xx(e,Qx.R_OK);let r=e+".bak";return QC(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(Ss)){let o=dn(e,"hooks",n);try{Xx(o,Qx.R_OK),rI(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=dn(io(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ka(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();Yx(n,JSON.stringify(o,null,2)+` +`,"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 ao(t,e){let r=Lp[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var be,Lp,rZ,nZ,ev=$e(()=>{"use strict";be={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Lp={[be.BEFORE_TOOL]:"beforetool.mjs",[be.AFTER_TOOL]:"aftertool.mjs",[be.PRE_COMPRESS]:"precompress.mjs",[be.SESSION_START]:"sessionstart.mjs"},rZ=[be.BEFORE_TOOL,be.SESSION_START],nZ=[be.AFTER_TOOL,be.PRE_COMPRESS]});var iv={};We(iv,{GeminiCLIAdapter:()=>Up});import{createHash as tv}from"node:crypto";import{readFileSync as Zp,writeFileSync as rv,mkdirSync as nv,copyFileSync as nI,accessSync as ov,chmodSync as oI,constants as sv}from"node:fs";import{resolve as ws,join as ba}from"node:path";import{homedir as Es}from"node:os";var Up,av=$e(()=>{"use strict";ev();Up=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=ba(Es(),".gemini","context-mode","sessions");return nv(e,{recursive:!0}),e}getSessionDBPath(e){let r=tv("sha256").update(e).digest("hex").slice(0,16);return ba(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=tv("sha256").update(e).digest("hex").slice(0,16);return ba(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[be.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:ao(be.BEFORE_TOOL,e)}]}],[be.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:ao(be.AFTER_TOOL,e)}]}],[be.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:ao(be.PRE_COMPRESS,e)}]}],[be.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:ao(be.SESSION_START,e)}]}]}}readSettings(){try{let e=Zp(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=ws(Es(),".gemini");nv(r,{recursive:!0}),rv(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"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?.[be.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?.[be.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(Zp(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:be.BEFORE_TOOL},{name:be.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:ao(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{ov(e,sv.R_OK);let r=e+".bak";return nI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=ba(e,"hooks","gemini-cli");for(let o of Object.values(Lp)){let s=ws(n,o);try{ov(s,sv.R_OK),oI(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(Zp(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),rv(n,JSON.stringify(o,null,2)+` +`,"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 pn,lZ,dZ,cv=$e(()=>{"use strict";pn={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},lZ=[pn.BEFORE,pn.AFTER],dZ=[pn.COMPACTING]});var dv={};We(dv,{OpenCodeAdapter:()=>Hp});import{createHash as uv}from"node:crypto";import{readFileSync as lv,writeFileSync as iI,mkdirSync as aI,copyFileSync as cI,accessSync as uI,constants as lI}from"node:fs";import{resolve as Ut,join as rr}from"node:path";import{homedir as br}from"node:os";function sI(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Hp,pv=$e(()=>{"use strict";cv();Hp=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 aI(r,{recursive:!0}),r}getSessionDBPath(e){let r=uv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=uv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[pn.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[pn.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[pn.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=lv(s,"utf-8"),a=s.endsWith(".jsonc")?sI(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){iI(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"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(lv(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{uI(this.settingsPath,lI.R_OK);let r=this.settingsPath+".bak";return cI(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 fn,yZ,xZ,fv=$e(()=>{"use strict";fn={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=[fn.TOOL_CALL_BEFORE,fn.TOOL_CALL_AFTER],xZ=[fn.COMMAND_NEW]});var hv={};We(hv,{OpenClawAdapter:()=>qp});import{createHash as mv}from"node:crypto";import{readFileSync as Fp,writeFileSync as dI,mkdirSync as pI,copyFileSync as fI,accessSync as mI,constants as hI}from"node:fs";import{resolve as wr,join as Ts}from"node:path";import{homedir as wa}from"node:os";var qp,gv=$e(()=>{"use strict";fv();qp=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(wa(),".openclaw","context-mode","sessions");return pI(e,{recursive:!0}),e}getSessionDBPath(e){let r=mv("sha256").update(e).digest("hex").slice(0,16);return Ts(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=mv("sha256").update(e).digest("hex").slice(0,16);return Ts(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[fn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[fn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[fn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[wr("openclaw.json"),wr(".openclaw","openclaw.json"),Ts(wa(),".openclaw","openclaw.json")];for(let r of e)try{let n=Fp(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=wr("openclaw.json");dI(r,JSON.stringify(e,null,2)+` +`,"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(wa(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Fp(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(Fp(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(wa(),".openclaw","openclaw.json")];for(let r of e)try{mI(r,hI.R_OK);let n=r+".bak";return fI(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var vv={};We(vv,{CodexAdapter:()=>Kp});import{createHash as _v}from"node:crypto";import{readFileSync as Bp,mkdirSync as gI,copyFileSync as _I,accessSync as yI,constants as xI}from"node:fs";import{resolve as yv,join as Vp,dirname as vI}from"node:path";import{fileURLToPath as SI}from"node:url";import{homedir as xv}from"node:os";var Kp,Sv=$e(()=>{"use strict";Kp=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 yv(xv(),".codex","config.toml")}getSessionDir(){let e=Vp(xv(),".codex","context-mode","sessions");return gI(e,{recursive:!0}),e}getSessionDBPath(e){let r=_v("sha256").update(e).digest("hex").slice(0,16);return Vp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=_v("sha256").update(e).digest("hex").slice(0,16);return Vp(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:Bp(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=Bp(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{yI(e,xI.R_OK);let r=e+".bak";return _I(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=yv(vI(SI(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Bp(e,"utf-8")}catch{return`# context-mode -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 uo(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,IZ,zZ,bv=$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"},IZ=[ie.PRE_TOOL_USE,ie.SESSION_START],zZ=[ie.POST_TOOL_USE,ie.PRE_COMPACT]});var Tv={};We(Tv,{VSCodeCopilotAdapter:()=>Yp});import{createHash as wv}from"node:crypto";import{readFileSync as $a,writeFileSync as Ev,mkdirSync as Kp,copyFileSync as kI,accessSync as Jp,existsSync as bI,chmodSync as wI,constants as Wp}from"node:fs";import{resolve as Rt,join as mn}from"node:path";import{homedir as Gp}from"node:os";var Yp,$v=$e(()=>{"use strict";bv();Yp=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=mn(Gp(),".vscode","context-mode","sessions"),n=bI(Rt(".github"))?e:r;return Kp(n,{recursive:!0}),n}getSessionDBPath(e){let r=wv("sha256").update(e).digest("hex").slice(0,16);return mn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=wv("sha256").update(e).digest("hex").slice(0,16);return mn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ie.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:uo(ie.PRE_TOOL_USE,e)}]}],[ie.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:uo(ie.POST_TOOL_USE,e)}]}],[ie.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:uo(ie.PRE_COMPACT,e)}]}],[ie.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:uo(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");Kp(n,{recursive:!0}),Ev(r,JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=Rt(".github","hooks");try{Jp(n,Wp.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=[mn(Gp(),".vscode","extensions"),mn(Gp(),".vscode-insiders","extensions")];for(let r of e)try{let n=$a(mn(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:uo(c,e)}]}],r.push(`Configured ${c} hook`));let i=Rt(".github","hooks");Kp(i,{recursive:!0});let a=Rt(i,"context-mode.json");return Ev(a,JSON.stringify(n,null,2)+` -`,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Jp(e,Wp.R_OK);let r=e+".bak";return kI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=mn(e,"hooks","vscode-copilot");for(let o of Object.values(Ta)){let s=Rt(n,o);try{Jp(s,Wp.R_OK),wI(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=Xp[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,Xp,EI,Qp,Pv,Rv,Ov=$e(()=>{"use strict";ae={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Xp={[ae.PRE_TOOL_USE]:"pretooluse.mjs",[ae.POST_TOOL_USE]:"posttooluse.mjs",[ae.SESSION_START]:"sessionstart.mjs",[ae.STOP]:"stop.mjs"},EI=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Qp=EI.join("|"),Pv=[ae.PRE_TOOL_USE],Rv=[ae.POST_TOOL_USE]});var Mv={};We(Mv,{CursorAdapter:()=>tf});import{createHash as Cv}from"node:crypto";import{readFileSync as ef,writeFileSync as TI,mkdirSync as Iv,copyFileSync as $I,accessSync as zv,chmodSync as PI,constants as Nv,existsSync as Av}from"node:fs";import{execSync as RI}from"node:child_process";import{resolve as lo,join as hn}from"node:path";import{homedir as Ra}from"node:os";var jv,tf,Dv=$e(()=>{"use strict";Ov();jv="/Library/Application Support/Cursor/hooks.json",tf=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 lo(".cursor","hooks.json")}getSessionDir(){let e=hn(Ra(),".cursor","context-mode","sessions");return Iv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Cv("sha256").update(e).digest("hex").slice(0,16);return hn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Cv("sha256").update(e).digest("hex").slice(0,16);return hn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ae.PRE_TOOL_USE]:[{type:"command",command:_t(ae.PRE_TOOL_USE),matcher:Qp,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=ef(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();Iv(lo(".cursor"),{recursive:!0}),TI(r,JSON.stringify(e,null,2)+` -`,"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 Pv){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 Rv){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 Av(jv)&&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=[lo(".cursor","mcp.json"),hn(Ra(),".cursor","mcp.json")];for(let r of e)try{let n=ef(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 RI("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:Qp,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{zv(e,Nv.R_OK);let r=e+".bak";return $I(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=hn(e,"hooks","cursor");for(let o of Object.values(Xp)){let s=lo(n,o);try{zv(s,Nv.R_OK),PI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),hn(Ra(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(jv),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=ef(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[lo(".claude","settings.json"),lo(".claude","settings.local.json"),hn(Ra(),".claude","settings.json")].some(r=>Av(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 Hv={};We(Hv,{AntigravityAdapter:()=>sf});import{createHash as Lv}from"node:crypto";import{readFileSync as Oa,writeFileSync as OI,mkdirSync as Zv,copyFileSync as CI,accessSync as II,constants as zI}from"node:fs";import{resolve as rf,join as nf,dirname as Uv}from"node:path";import{fileURLToPath as NI}from"node:url";import{homedir as of}from"node:os";var sf,qv=$e(()=>{"use strict";sf=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 rf(of(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=nf(of(),".gemini","context-mode","sessions");return Zv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Lv("sha256").update(e).digest("hex").slice(0,16);return nf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Lv("sha256").update(e).digest("hex").slice(0,16);return nf(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();Zv(Uv(r),{recursive:!0}),OI(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=rf(of(),".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{II(e,zI.R_OK);let r=e+".bak";return CI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=rf(Uv(NI(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Oa(e,"utf-8")}catch{return`# context-mode +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 co(t,e){let r=Ea[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,Ea,CZ,IZ,kv=$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"},Ea={[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 Ev={};We(Ev,{VSCodeCopilotAdapter:()=>Xp});import{createHash as bv}from"node:crypto";import{readFileSync as Ta,writeFileSync as wv,mkdirSync as Jp,copyFileSync as kI,accessSync as Wp,existsSync as bI,chmodSync as wI,constants as Gp}from"node:fs";import{resolve as Rt,join as mn}from"node:path";import{homedir as Yp}from"node:os";var Xp,Tv=$e(()=>{"use strict";kv();Xp=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=mn(Yp(),".vscode","context-mode","sessions"),n=bI(Rt(".github"))?e:r;return Jp(n,{recursive:!0}),n}getSessionDBPath(e){let r=bv("sha256").update(e).digest("hex").slice(0,16);return mn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=bv("sha256").update(e).digest("hex").slice(0,16);return mn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ie.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:co(ie.PRE_TOOL_USE,e)}]}],[ie.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:co(ie.POST_TOOL_USE,e)}]}],[ie.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:co(ie.PRE_COMPACT,e)}]}],[ie.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:co(ie.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),Rt(".claude","settings.json")];for(let r of e)try{let n=Ta(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=Rt(".github","hooks");Jp(n,{recursive:!0}),wv(r,JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=Rt(".github","hooks");try{Wp(n,Gp.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=Ta(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=Ta(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=[mn(Yp(),".vscode","extensions"),mn(Yp(),".vscode-insiders","extensions")];for(let r of e)try{let n=Ta(mn(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)Ea[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:co(c,e)}]}],r.push(`Configured ${c} hook`));let i=Rt(".github","hooks");Jp(i,{recursive:!0});let a=Rt(i,"context-mode.json");return wv(a,JSON.stringify(n,null,2)+` +`,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Wp(e,Gp.R_OK);let r=e+".bak";return kI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=mn(e,"hooks","vscode-copilot");for(let o of Object.values(Ea)){let s=Rt(n,o);try{Wp(s,Gp.R_OK),wI(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 $a(t,e){let r=Qp[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,Qp,EI,ef,$v,Pv,Rv=$e(()=>{"use strict";ae={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Qp={[ae.PRE_TOOL_USE]:"pretooluse.mjs",[ae.POST_TOOL_USE]:"posttooluse.mjs",[ae.SESSION_START]:"sessionstart.mjs",[ae.STOP]:"stop.mjs"},EI=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],ef=EI.join("|"),$v=[ae.PRE_TOOL_USE],Pv=[ae.POST_TOOL_USE]});var jv={};We(jv,{CursorAdapter:()=>rf});import{createHash as Ov}from"node:crypto";import{readFileSync as tf,writeFileSync as TI,mkdirSync as Cv,copyFileSync as $I,accessSync as Iv,chmodSync as PI,constants as zv,existsSync as Nv}from"node:fs";import{execSync as RI}from"node:child_process";import{resolve as uo,join as hn}from"node:path";import{homedir as Pa}from"node:os";var Av,rf,Mv=$e(()=>{"use strict";Rv();Av="/Library/Application Support/Cursor/hooks.json",rf=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 uo(".cursor","hooks.json")}getSessionDir(){let e=hn(Pa(),".cursor","context-mode","sessions");return Cv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Ov("sha256").update(e).digest("hex").slice(0,16);return hn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Ov("sha256").update(e).digest("hex").slice(0,16);return hn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ae.PRE_TOOL_USE]:[{type:"command",command:_t(ae.PRE_TOOL_USE),matcher:ef,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=tf(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();Cv(uo(".cursor"),{recursive:!0}),TI(r,JSON.stringify(e,null,2)+` +`,"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 $v){let i=o[s],a=Array.isArray(i)&&i.some(c=>$a(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 Pv){let i=o[s],a=Array.isArray(i)&&i.some(c=>$a(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 Nv(Av)&&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=[uo(".cursor","mcp.json"),hn(Pa(),".cursor","mcp.json")];for(let r of e)try{let n=tf(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 RI("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:ef,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{Iv(e,zv.R_OK);let r=e+".bak";return $I(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=hn(e,"hooks","cursor");for(let o of Object.values(Qp)){let s=uo(n,o);try{Iv(s,zv.R_OK),PI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),hn(Pa(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(Av),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=tf(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[uo(".claude","settings.json"),uo(".claude","settings.local.json"),hn(Pa(),".claude","settings.json")].some(r=>Nv(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>$a(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 Uv={};We(Uv,{AntigravityAdapter:()=>af});import{createHash as Dv}from"node:crypto";import{readFileSync as Ra,writeFileSync as OI,mkdirSync as Lv,copyFileSync as CI,accessSync as II,constants as zI}from"node:fs";import{resolve as nf,join as of,dirname as Zv}from"node:path";import{fileURLToPath as NI}from"node:url";import{homedir as sf}from"node:os";var af,Hv=$e(()=>{"use strict";af=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 nf(sf(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=of(sf(),".gemini","context-mode","sessions");return Lv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Dv("sha256").update(e).digest("hex").slice(0,16);return of(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Dv("sha256").update(e).digest("hex").slice(0,16);return of(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Ra(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Lv(Zv(r),{recursive:!0}),OI(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=Ra(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=nf(sf(),".gemini","extensions","context-mode","package.json");return JSON.parse(Ra(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{II(e,zI.R_OK);let r=e+".bak";return CI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=nf(Zv(NI(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Ra(e,"utf-8")}catch{return`# context-mode -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 Rs(t,e){let r=Fv[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function Os(t,e){let r=Fv[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var we,Fv,XZ,QZ,Bv=$e(()=>{"use strict";we={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},Fv={[we.PRE_TOOL_USE]:"pretooluse.mjs",[we.POST_TOOL_USE]:"posttooluse.mjs"},XZ=[we.PRE_TOOL_USE],QZ=[we.POST_TOOL_USE]});var Wv={};We(Wv,{KiroAdapter:()=>uf});import{createHash as Vv}from"node:crypto";import{readFileSync as po,writeFileSync as Kv,mkdirSync as af,copyFileSync as AI,accessSync as jI,constants as MI}from"node:fs";import{resolve as fo,join as cf,dirname as Jv}from"node:path";import{fileURLToPath as DI}from"node:url";import{homedir as Cs}from"node:os";var uf,Gv=$e(()=>{"use strict";Bv();uf=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 fo(Cs(),".kiro","settings","mcp.json")}getSessionDir(){let e=cf(Cs(),".kiro","context-mode","sessions");return af(e,{recursive:!0}),e}getSessionDBPath(e){let r=Vv("sha256").update(e).digest("hex").slice(0,16);return cf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Vv("sha256").update(e).digest("hex").slice(0,16);return cf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[we.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Os(we.PRE_TOOL_USE,e)}]}],[we.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Os(we.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=po(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();af(Jv(r),{recursive:!0}),Kv(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=fo(Cs(),".kiro","agents","default.json");try{let s=JSON.parse(po(n,"utf-8")).hooks??{};for(let i of[we.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>Rs(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[we.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>Rs(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=po(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=fo(Cs(),".kiro","extensions","context-mode","package.json");return JSON.parse(po(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=fo(Cs(),".kiro","agents"),o=fo(n,"default.json");try{af(n,{recursive:!0});let s={};try{s=JSON.parse(po(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[we.PRE_TOOL_USE]??[];a.some(u=>Rs(u,we.PRE_TOOL_USE))||(a.push({matcher:"*",command:Os(we.PRE_TOOL_USE,e)}),i[we.PRE_TOOL_USE]=a,r.push(`Added ${we.PRE_TOOL_USE} hook to ${o}`));let c=i[we.POST_TOOL_USE]??[];c.some(u=>Rs(u,we.POST_TOOL_USE))||(c.push({matcher:"*",command:Os(we.POST_TOOL_USE,e)}),i[we.POST_TOOL_USE]=c,r.push(`Added ${we.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,Kv(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{jI(e,MI.R_OK);let r=e+".bak";return AI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=fo(Jv(DI(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return po(e,"utf-8")}catch{return`# context-mode +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=Fv[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function Ps(t,e){let r=Fv[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var we,Fv,YZ,XZ,qv=$e(()=>{"use strict";we={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},Fv={[we.PRE_TOOL_USE]:"pretooluse.mjs",[we.POST_TOOL_USE]:"posttooluse.mjs"},YZ=[we.PRE_TOOL_USE],XZ=[we.POST_TOOL_USE]});var Jv={};We(Jv,{KiroAdapter:()=>lf});import{createHash as Bv}from"node:crypto";import{readFileSync as lo,writeFileSync as Vv,mkdirSync as cf,copyFileSync as AI,accessSync as jI,constants as MI}from"node:fs";import{resolve as po,join as uf,dirname as Kv}from"node:path";import{fileURLToPath as DI}from"node:url";import{homedir as Rs}from"node:os";var lf,Wv=$e(()=>{"use strict";qv();lf=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 po(Rs(),".kiro","settings","mcp.json")}getSessionDir(){let e=uf(Rs(),".kiro","context-mode","sessions");return cf(e,{recursive:!0}),e}getSessionDBPath(e){let r=Bv("sha256").update(e).digest("hex").slice(0,16);return uf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Bv("sha256").update(e).digest("hex").slice(0,16);return uf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[we.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Ps(we.PRE_TOOL_USE,e)}]}],[we.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Ps(we.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=lo(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();cf(Kv(r),{recursive:!0}),Vv(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=po(Rs(),".kiro","agents","default.json");try{let s=JSON.parse(lo(n,"utf-8")).hooks??{};for(let i of[we.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[we.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=lo(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=po(Rs(),".kiro","extensions","context-mode","package.json");return JSON.parse(lo(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=po(Rs(),".kiro","agents"),o=po(n,"default.json");try{cf(n,{recursive:!0});let s={};try{s=JSON.parse(lo(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[we.PRE_TOOL_USE]??[];a.some(u=>$s(u,we.PRE_TOOL_USE))||(a.push({matcher:"*",command:Ps(we.PRE_TOOL_USE,e)}),i[we.PRE_TOOL_USE]=a,r.push(`Added ${we.PRE_TOOL_USE} hook to ${o}`));let c=i[we.POST_TOOL_USE]??[];c.some(u=>$s(u,we.POST_TOOL_USE))||(c.push({matcher:"*",command:Ps(we.POST_TOOL_USE,e)}),i[we.POST_TOOL_USE]=c,r.push(`Added ${we.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,Vv(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{jI(e,MI.R_OK);let r=e+".bak";return AI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=po(Kv(DI(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return lo(e,"utf-8")}catch{return`# context-mode -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 rS={};We(rS,{ZedAdapter:()=>pf});import{createHash as Yv}from"node:crypto";import{readFileSync as lf,writeFileSync as LI,mkdirSync as Xv,copyFileSync as ZI,accessSync as UI,constants as HI}from"node:fs";import{resolve as Qv,join as df,dirname as eS}from"node:path";import{fileURLToPath as qI}from"node:url";import{homedir as tS}from"node:os";var pf,nS=$e(()=>{"use strict";pf=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 Qv(tS(),".config","zed","settings.json")}getSessionDir(){let e=df(tS(),".config","zed","context-mode","sessions");return Xv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Yv("sha256").update(e).digest("hex").slice(0,16);return df(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Yv("sha256").update(e).digest("hex").slice(0,16);return df(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=lf(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Xv(eS(r),{recursive:!0}),LI(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=lf(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{UI(e,HI.R_OK);let r=e+".bak";return ZI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Qv(eS(qI(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return lf(e,"utf-8")}catch{return`# context-mode +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 tS={};We(tS,{ZedAdapter:()=>ff});import{createHash as Gv}from"node:crypto";import{readFileSync as df,writeFileSync as LI,mkdirSync as Yv,copyFileSync as ZI,accessSync as UI,constants as HI}from"node:fs";import{resolve as Xv,join as pf,dirname as Qv}from"node:path";import{fileURLToPath as FI}from"node:url";import{homedir as eS}from"node:os";var ff,rS=$e(()=>{"use strict";ff=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 Xv(eS(),".config","zed","settings.json")}getSessionDir(){let e=pf(eS(),".config","zed","context-mode","sessions");return Yv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Gv("sha256").update(e).digest("hex").slice(0,16);return pf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Gv("sha256").update(e).digest("hex").slice(0,16);return pf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=df(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Yv(Qv(r),{recursive:!0}),LI(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=df(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{UI(e,HI.R_OK);let r=e+".bak";return ZI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Xv(Qv(FI(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return df(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var sS={};We(sS,{detectPlatform:()=>oS,getAdapter:()=>BI});import{existsSync as Ht}from"node:fs";import{resolve as qt}from"node:path";import{homedir as FI}from"node:os";function oS(t){if(t?.name){let n=Vx[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=FI();return Ht(qt(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Ht(qt(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Ht(qt(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Ht(qt(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Ht(qt(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Ht(qt(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Ht(qt(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Ht(qt(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Ht(qt(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Ht(qt(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 BI(t){let e=t??oS().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Mp(),jp));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(cv(),av));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(fv(),pv));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(_v(),gv));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(kv(),Sv));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>($v(),Tv));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(Dv(),Mv));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(qv(),Hv));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(Gv(),Wv));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(nS(),rS));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Mp(),jp));return new r}}}var iS=$e(()=>{"use strict";Kx()});var L={};We(L,{BRAND:()=>GS,DIRTY:()=>Cr,EMPTY_PATH:()=>PS,INVALID:()=>A,NEVER:()=>zk,OK:()=>Ze,ParseStatus:()=>Ce,Schema:()=>q,ZodAny:()=>ir,ZodArray:()=>Wt,ZodBigInt:()=>zr,ZodBoolean:()=>Nr,ZodBranded:()=>go,ZodCatch:()=>Br,ZodDate:()=>Ar,ZodDefault:()=>Fr,ZodDiscriminatedUnion:()=>As,ZodEffects:()=>ct,ZodEnum:()=>Hr,ZodError:()=>Ge,ZodFirstPartyTypeKind:()=>b,ZodFunction:()=>Ms,ZodIntersection:()=>Lr,ZodIssueCode:()=>k,ZodLazy:()=>Zr,ZodLiteral:()=>Ur,ZodMap:()=>wn,ZodNaN:()=>Tn,ZodNativeEnum:()=>qr,ZodNever:()=>yt,ZodNull:()=>Mr,ZodNullable:()=>zt,ZodNumber:()=>Ir,ZodObject:()=>Xe,ZodOptional:()=>Ye,ZodParsedType:()=>$,ZodPipeline:()=>_o,ZodPromise:()=>ar,ZodReadonly:()=>Vr,ZodRecord:()=>js,ZodSchema:()=>q,ZodSet:()=>En,ZodString:()=>sr,ZodSymbol:()=>kn,ZodTransformer:()=>ct,ZodTuple:()=>It,ZodType:()=>q,ZodUndefined:()=>jr,ZodUnion:()=>Dr,ZodUnknown:()=>Jt,ZodVoid:()=>bn,addIssueToContext:()=>E,any:()=>sk,array:()=>uk,bigint:()=>ek,boolean:()=>Mf,coerce:()=>Ik,custom:()=>Nf,date:()=>tk,datetimeRegex:()=>If,defaultErrorMap:()=>Vt,discriminatedUnion:()=>pk,effect:()=>wk,enum:()=>Sk,function:()=>yk,getErrorMap:()=>xn,getParsedType:()=>Ct,instanceof:()=>XS,intersection:()=>fk,isAborted:()=>zs,isAsync:()=>vn,isDirty:()=>Ns,isValid:()=>or,late:()=>YS,lazy:()=>xk,literal:()=>vk,makeIssue:()=>ho,map:()=>gk,nan:()=>QS,nativeEnum:()=>kk,never:()=>ak,null:()=>ok,nullable:()=>Tk,number:()=>jf,object:()=>Ha,objectUtil:()=>La,oboolean:()=>Ck,onumber:()=>Ok,optional:()=>Ek,ostring:()=>Rk,pipeline:()=>Pk,preprocess:()=>$k,promise:()=>bk,quotelessJson:()=>ES,record:()=>hk,set:()=>_k,setErrorMap:()=>$S,strictObject:()=>lk,string:()=>Af,symbol:()=>rk,transformer:()=>wk,tuple:()=>mk,undefined:()=>nk,union:()=>dk,unknown:()=>ik,util:()=>J,void:()=>ck});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"]),ES=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ge=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(;cr.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()}};Ge.create=t=>new Ge(t);var TS=(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=TS;var $f=Vt;function $S(t){$f=t}function xn(){return $f}var ho=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}},PS=[];function E(t,e){let r=xn(),n=ho({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"}),Cr=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",vn=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}},Pf=(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 Ge(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 q=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(vn(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 Pf(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(vn(o)?o:Promise.resolve(o));return Pf(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 Ye.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 Dr.create([this,e],this._def)}and(e){return Lr.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 Fr({...U(this._def),innerType:this,defaultValue:r,typeName:b.ZodDefault})}brand(){return new go({typeName:b.ZodBranded,type:this,...U(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Br({...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 _o.create(this,e)}readonly(){return Vr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},RS=/^c[^\s-]{8,}$/i,OS=/^[0-9a-z]+$/,CS=/^[0-9A-HJKMNP-TV-Z]{26}$/i,IS=/^[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,zS=/^[a-z0-9_-]{21}$/i,NS=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,AS=/^[-+]?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)?)??$/,jS=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,MS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Za,DS=/^(?:(?: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])$/,LS=/^(?:(?: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])$/,ZS=/^(([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]))$/,US=/^(([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])$/,HS=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,qS=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Of="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",FS=new RegExp(`^${Of}$`);function Cf(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 BS(t){return new RegExp(`^${Cf(t)}$`)}function If(t){let e=`${Of}T${Cf(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 VS(t,e){return!!((e==="v4"||!e)&&DS.test(t)||(e==="v6"||!e)&&ZS.test(t))}function KS(t,e){if(!NS.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 JS(t,e){return!!((e==="v4"||!e)&&LS.test(t)||(e==="v6"||!e)&&US.test(t))}var sr=class t extends q{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==$.string){let s=this._getOrReturnCtx(e);return E(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.lengths.value&&(o=this._getOrReturnCtx(e,o),E(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.lengthe.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.valuenew sr({checks:[],typeName:b.ZodString,coerce:t?.coerce??!1,...U(t)});function WS(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 Ir=class t extends q{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 E(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),E(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?WS(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),E(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),E(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.valuee.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.valuenew Ir({checks:[],typeName:b.ZodNumber,coerce:t?.coerce||!1,...U(t)});var zr=class t extends q{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.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(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),E(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 E(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.valuenew zr({checks:[],typeName:b.ZodBigInt,coerce:t?.coerce??!1,...U(t)});var Nr=class extends q{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.boolean,received:n.parsedType}),A}return Ze(e.data)}};Nr.create=t=>new Nr({typeName:b.ZodBoolean,coerce:t?.coerce||!1,...U(t)});var Ar=class t extends q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==$.date){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:$.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return E(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),E(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.valuenew Ar({checks:[],coerce:t?.coerce||!1,typeName:b.ZodDate,...U(t)});var kn=class extends q{_parse(e){if(this._getType(e)!==$.symbol){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.symbol,received:n.parsedType}),A}return Ze(e.data)}};kn.create=t=>new kn({typeName:b.ZodSymbol,...U(t)});var jr=class extends q{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.undefined,received:n.parsedType}),A}return Ze(e.data)}};jr.create=t=>new jr({typeName:b.ZodUndefined,...U(t)});var Mr=class extends q{_parse(e){if(this._getType(e)!==$.null){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.null,received:n.parsedType}),A}return Ze(e.data)}};Mr.create=t=>new Mr({typeName:b.ZodNull,...U(t)});var ir=class extends q{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 q{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 q{_parse(e){let r=this._getOrReturnCtx(e);return E(r,{code:k.invalid_type,expected:$.never,received:r.parsedType}),A}};yt.create=t=>new yt({typeName:b.ZodNever,...U(t)});var bn=class extends q{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.void,received:n.parsedType}),A}return Ze(e.data)}};bn.create=t=>new bn({typeName:b.ZodVoid,...U(t)});var Wt=class t extends q{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==$.array)return E(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.lengtho.maxLength.value&&(E(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 Sn(t){if(t instanceof Xe){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ye.create(Sn(n))}return new Xe({...t._def,shape:()=>e})}else return t instanceof Wt?new Wt({...t._def,type:Sn(t.element)}):t instanceof Ye?Ye.create(Sn(t.unwrap())):t instanceof zt?zt.create(Sn(t.unwrap())):t instanceof It?It.create(t.items.map(e=>Sn(e))):t}var Xe=class t extends q{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 E(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&&(E(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 Sn(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 Ye;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return zf(J.objectKeys(this.shape))}};Xe.create=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Xe.strictCreate=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strict",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Xe.lazycreate=(t,e)=>new Xe({shape:t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});var Dr=class extends q{_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 Ge(a.ctx.common.issues));return E(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 Ge(c));return E(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};Dr.create=(t,e)=>new Dr({options:t,typeName:b.ZodUnion,...U(e)});var Kt=t=>t instanceof Zr?Kt(t.schema):t instanceof ct?Kt(t.innerType()):t instanceof Ur?[t.value]:t instanceof Hr?t.options:t instanceof qr?J.objectValues(t.enum):t instanceof Fr?Kt(t._def.innerType):t instanceof jr?[void 0]:t instanceof Mr?[null]:t instanceof Ye?[void 0,...Kt(t.unwrap())]:t instanceof zt?[null,...Kt(t.unwrap())]:t instanceof go||t instanceof Vr?Kt(t.unwrap()):t instanceof Br?Kt(t._def.innerType):[],As=class t extends q{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return E(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}):(E(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{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}):(E(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}))}};Lr.create=(t,e,r)=>new Lr({left:t,right:e,typeName:b.ZodIntersection,...U(r)});var It=class t extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.array)return E(n,{code:k.invalid_type,expected:$.array,received:n.parsedType}),A;if(n.data.lengththis._def.items.length&&(E(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 q{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 E(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 q?new t({keyType:e,valueType:r,typeName:b.ZodRecord,...U(n)}):new t({keyType:sr.create(),valueType:e,typeName:b.ZodRecord,...U(r)})}},wn=class extends q{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 E(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}}}};wn.create=(t,e,r)=>new wn({valueType:e,keyType:t,typeName:b.ZodMap,...U(r)});var En=class t extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.set)return E(n,{code:k.invalid_type,expected:$.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(E(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)}};En.create=(t,e)=>new En({valueType:t,minSize:null,maxSize:null,typeName:b.ZodSet,...U(e)});var Ms=class t extends q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.function)return E(r,{code:k.invalid_type,expected:$.function,received:r.parsedType}),A;function n(a,c){return ho({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,xn(),Vt].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return ho({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,xn(),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 Ge([]),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 Ge([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Ge([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)})}},Zr=class extends q{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})}};Zr.create=(t,e)=>new Zr({getter:t,typeName:b.ZodLazy,...U(e)});var Ur=class extends q{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return E(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}};Ur.create=(t,e)=>new Ur({value:t,typeName:b.ZodLiteral,...U(e)});function zf(t,e){return new Hr({values:t,typeName:b.ZodEnum,...U(e)})}var Hr=class t extends q{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return E(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 E(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})}};Hr.create=zf;var qr=class extends q{_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 E(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 E(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return Ze(e.data)}get enum(){return this._def.values}};qr.create=(t,e)=>new qr({values:t,typeName:b.ZodNativeEnum,...U(e)});var ar=class extends q{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.promise&&r.common.async===!1)return E(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 q{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=>{E(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"?Cr(c.value):r.value==="dirty"?Cr(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"?Cr(a.value):r.value==="dirty"?Cr(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 Ye=class extends q{_parse(e){return this._getType(e)===$.undefined?Ze(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ye.create=(t,e)=>new Ye({innerType:t,typeName:b.ZodOptional,...U(e)});var zt=class extends q{_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 Fr=class extends q{_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}};Fr.create=(t,e)=>new Fr({innerType:t,typeName:b.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...U(e)});var Br=class extends q{_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 vn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Br.create=(t,e)=>new Br({innerType:t,typeName:b.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...U(e)});var Tn=class extends q{_parse(e){if(this._getType(e)!==$.nan){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};Tn.create=t=>new Tn({typeName:b.ZodNaN,...U(t)});var GS=Symbol("zod_brand"),go=class extends q{_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}},_o=class t extends q{_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(),Cr(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})}},Vr=class extends q{_parse(e){let r=this._def.innerType._parse(e),n=o=>(or(o)&&(o.value=Object.freeze(o.value)),o);return vn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Vr.create=(t,e)=>new Vr({innerType:t,typeName:b.ZodReadonly,...U(e)});function Rf(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Nf(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=Rf(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Rf(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):ir.create()}var YS={object:Xe.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 XS=(t,e={message:`Input not instance of ${t.name}`})=>Nf(r=>r instanceof t,e),Af=sr.create,jf=Ir.create,QS=Tn.create,ek=zr.create,Mf=Nr.create,tk=Ar.create,rk=kn.create,nk=jr.create,ok=Mr.create,sk=ir.create,ik=Jt.create,ak=yt.create,ck=bn.create,uk=Wt.create,Ha=Xe.create,lk=Xe.strictCreate,dk=Dr.create,pk=As.create,fk=Lr.create,mk=It.create,hk=js.create,gk=wn.create,_k=En.create,yk=Ms.create,xk=Zr.create,vk=Ur.create,Sk=Hr.create,kk=qr.create,bk=ar.create,wk=ct.create,Ek=Ye.create,Tk=zt.create,$k=ct.createWithPreprocess,Pk=_o.create,Rk=()=>Af().optional(),Ok=()=>jf().optional(),Ck=()=>Mf().optional(),Ik={string:(t=>sr.create({...t,coerce:!0})),number:(t=>Ir.create({...t,coerce:!0})),boolean:(t=>Nr.create({...t,coerce:!0})),bigint:(t=>zr.create({...t,coerce:!0})),date:(t=>Ar.create({...t,coerce:!0}))};var zk=A;var Nk=Object.freeze({status:"aborted"});function v(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 ot(t){return t&&Object.assign(Ds,t),Ds}var W={};We(W,{BIGINT_FORMAT_RANGES:()=>Lf,Class:()=>Fa,NUMBER_FORMAT_RANGES:()=>Ya,aborted:()=>Jr,allowsEval:()=>Ja,assert:()=>Lk,assertEqual:()=>Ak,assertIs:()=>Mk,assertNever:()=>Dk,assertNotEqual:()=>jk,assignProp:()=>Ka,cached:()=>vo,captureStackTrace:()=>Zs,cleanEnum:()=>Xk,cleanRegex:()=>ko,clone:()=>st,createTransparentProxy:()=>Bk,defineLazy:()=>ce,esc:()=>Kr,escapeRegex:()=>cr,extend:()=>Jk,finalizeIssue:()=>xt,floatSafeRemainder:()=>Va,getElementAtPath:()=>Zk,getEnumValues:()=>xo,getLengthableOrigin:()=>bo,getParsedType:()=>Fk,getSizableOrigin:()=>Zf,isObject:()=>$n,isPlainObject:()=>Pn,issue:()=>Xa,joinValues:()=>Ls,jsonStringifyReplacer:()=>Ba,merge:()=>Wk,normalizeParams:()=>j,nullish:()=>So,numKeys:()=>qk,omit:()=>Kk,optionalKeys:()=>Ga,partial:()=>Gk,pick:()=>Vk,prefixIssues:()=>Nt,primitiveTypes:()=>Df,promiseAllObject:()=>Uk,propertyKeyTypes:()=>Wa,randomString:()=>Hk,required:()=>Yk,stringifyPrimitive:()=>Us,unwrapMessage:()=>yo});function Ak(t){return t}function jk(t){return t}function Mk(t){}function Dk(t){throw new Error}function Lk(t){}function xo(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 vo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function So(t){return t==null}function ko(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 Zk(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Uk(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{};function $n(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ja=vo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Pn(t){if($n(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!($n(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function qk(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Fk=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"]),Df=new Set(["string","number","bigint","boolean","symbol","undefined"]);function cr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function st(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 Bk(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]},Lf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Vk(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 st(t,{...t._zod.def,shape:r,checks:[]})}function Kk(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 st(t,{...t._zod.def,shape:r,checks:[]})}function Jk(t,e){if(!Pn(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 st(t,r)}function Wk(t,e){return st(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 Gk(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 st(e,{...e._zod.def,shape:o,checks:[]})}function Yk(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 st(e,{...e._zod.def,shape:o,checks:[]})}function Jr(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function yo(t){return typeof t=="string"?t:t?.message}function xt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=yo(t.inst?._zod.def?.error?.(t))??yo(e?.error?.(t))??yo(r.customError?.(t))??yo(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Zf(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function bo(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 Xk(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Fa=class{constructor(...e){}};var Uf=(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=v("$ZodError",Uf),wo=v("$ZodError",Uf,{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(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,ot())));throw Zs(a,o?.callee),a}return i.value},rc=tc(wo),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,ot())));throw Zs(a,o?.callee),a}return i.value},oc=nc(wo),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,ot())))}:{success:!0,data:s.value}},Wr=sc(wo),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,ot())))}:{success:!0,data:s.value}},Gr=ic(wo);var Hf=/^[cC][^\s-]{8,}$/,qf=/^[0-9a-z]+$/,Ff=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Bf=/^[0-9a-vA-V]{20}$/,Vf=/^[A-Za-z0-9]{27}$/,Kf=/^[a-zA-Z0-9_-]{21}$/,Jf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Wf=/^([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 Gf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var eb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Yf(){return new RegExp(eb,"u")}var 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])$/,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})$/,em=/^((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])$/,tm=/^(([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])$/,rm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,cc=/^[A-Za-z0-9_-]*$/,nm=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var om=/^\+(?:[0-9]){6,14}[0-9]$/,sm="(?:(?:\\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])))",im=new RegExp(`^${sm}$`);function am(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 cm(t){return new RegExp(`^${am(t)}$`)}function um(t){let e=am({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(`^${sm}T(?:${n})$`)}var lm=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var dm=/^\d+$/,pm=/^-?\d+(?:\.\d+)?/i,fm=/true|false/i,mm=/null/i;var hm=/^[^A-Z]*$/,gm=/^[^a-z]*$/;var Ie=v("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),_m={number:"number",bigint:"bigint",object:"date"},uc=v("$ZodCheckLessThan",(t,e)=>{Ie.init(t,e);let r=_m[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{(e.inclusive?n.value<=e.value:n.value{Ie.init(t,e);let r=_m[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})}}),ym=v("$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})}}),xm=v("$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=dm)}),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}}as&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var vm=v("$ZodCheckMaxLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let i=bo(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Sm=v("$ZodCheckMinLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(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=bo(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),km=v("$ZodCheckLengthEquals",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(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=bo(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})}}),Eo=v("$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=()=>{})}),bm=v("$ZodCheckRegex",(t,e)=>{Eo.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})}}),wm=v("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=hm),Eo.init(t,e)}),Em=v("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=gm),Eo.init(t,e)}),Tm=v("$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})}}),$m=v("$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})}}),Pm=v("$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 Rm=v("$ZodCheckOverwrite",(t,e)=>{Ie.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Fs=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(` +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var oS={};We(oS,{detectPlatform:()=>nS,getAdapter:()=>BI});import{existsSync as Ht}from"node:fs";import{resolve as Ft}from"node:path";import{homedir as qI}from"node:os";function nS(t){if(t?.name){let n=Bx[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=qI();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 BI(t){let e=t??nS().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Dp(),Mp));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(av(),iv));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(pv(),dv));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(gv(),hv));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(Sv(),vv));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(Tv(),Ev));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(Mv(),jv));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(Hv(),Uv));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(Wv(),Jv));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(rS(),tS));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Dp(),Mp));return new r}}}var sS=$e(()=>{"use strict";Vx()});var L={};We(L,{BRAND:()=>WS,DIRTY:()=>Cr,EMPTY_PATH:()=>$S,INVALID:()=>A,NEVER:()=>Ik,OK:()=>Ze,ParseStatus:()=>Oe,Schema:()=>F,ZodAny:()=>ir,ZodArray:()=>Wt,ZodBigInt:()=>zr,ZodBoolean:()=>Nr,ZodBranded:()=>ho,ZodCatch:()=>Br,ZodDate:()=>Ar,ZodDefault:()=>qr,ZodDiscriminatedUnion:()=>zs,ZodEffects:()=>ct,ZodEnum:()=>Hr,ZodError:()=>Ge,ZodFirstPartyTypeKind:()=>b,ZodFunction:()=>As,ZodIntersection:()=>Lr,ZodIssueCode:()=>k,ZodLazy:()=>Zr,ZodLiteral:()=>Ur,ZodMap:()=>wn,ZodNaN:()=>Tn,ZodNativeEnum:()=>Fr,ZodNever:()=>yt,ZodNull:()=>Mr,ZodNullable:()=>zt,ZodNumber:()=>Ir,ZodObject:()=>Xe,ZodOptional:()=>Ye,ZodParsedType:()=>$,ZodPipeline:()=>go,ZodPromise:()=>ar,ZodReadonly:()=>Vr,ZodRecord:()=>Ns,ZodSchema:()=>F,ZodSet:()=>En,ZodString:()=>sr,ZodSymbol:()=>kn,ZodTransformer:()=>ct,ZodTuple:()=>It,ZodType:()=>F,ZodUndefined:()=>jr,ZodUnion:()=>Dr,ZodUnknown:()=>Jt,ZodVoid:()=>bn,addIssueToContext:()=>E,any:()=>ok,array:()=>ck,bigint:()=>QS,boolean:()=>Df,coerce:()=>Ck,custom:()=>Af,date:()=>ek,datetimeRegex:()=>zf,defaultErrorMap:()=>Vt,discriminatedUnion:()=>dk,effect:()=>bk,enum:()=>vk,function:()=>_k,getErrorMap:()=>xn,getParsedType:()=>Ct,instanceof:()=>YS,intersection:()=>pk,isAborted:()=>Cs,isAsync:()=>vn,isDirty:()=>Is,isValid:()=>or,late:()=>GS,lazy:()=>yk,literal:()=>xk,makeIssue:()=>mo,map:()=>hk,nan:()=>XS,nativeEnum:()=>Sk,never:()=>ik,null:()=>nk,nullable:()=>Ek,number:()=>Mf,object:()=>Ua,objectUtil:()=>Da,oboolean:()=>Ok,onumber:()=>Rk,optional:()=>wk,ostring:()=>Pk,pipeline:()=>$k,preprocess:()=>Tk,promise:()=>kk,quotelessJson:()=>wS,record:()=>mk,set:()=>gk,setErrorMap:()=>TS,strictObject:()=>uk,string:()=>jf,symbol:()=>tk,transformer:()=>bk,tuple:()=>fk,undefined:()=>rk,union:()=>lk,unknown:()=>sk,util:()=>J,void:()=>ak});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 Da;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Da||(Da={}));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"]),wS=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ge=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(;cr.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()}};Ge.create=t=>new Ge(t);var ES=(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=ES;var Pf=Vt;function TS(t){Pf=t}function xn(){return Pf}var mo=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}},$S=[];function E(t,e){let r=xn(),n=mo({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 Oe=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"}),Cr=t=>({status:"dirty",value:t}),Ze=t=>({status:"valid",value:t}),Cs=t=>t.status==="aborted",Is=t=>t.status==="dirty",or=t=>t.status==="valid",vn=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}},Rf=(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 Ge(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 Oe,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(vn(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 Rf(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(vn(o)?o:Promise.resolve(o));return Rf(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 Ye.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 Dr.create([this,e],this._def)}and(e){return Lr.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 qr({...U(this._def),innerType:this,defaultValue:r,typeName:b.ZodDefault})}brand(){return new ho({typeName:b.ZodBranded,type:this,...U(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Br({...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 go.create(this,e)}readonly(){return Vr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},PS=/^c[^\s-]{8,}$/i,RS=/^[0-9a-z]+$/,OS=/^[0-9A-HJKMNP-TV-Z]{26}$/i,CS=/^[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,IS=/^[a-z0-9_-]{21}$/i,zS=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,NS=/^[-+]?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)?)??$/,AS=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,jS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",La,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])$/,DS=/^(?:(?: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])$/,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]))$/,ZS=/^(([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])$/,US=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,HS=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Cf="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",FS=new RegExp(`^${Cf}$`);function If(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 qS(t){return new RegExp(`^${If(t)}$`)}function zf(t){let e=`${Cf}T${If(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 BS(t,e){return!!((e==="v4"||!e)&&MS.test(t)||(e==="v6"||!e)&&LS.test(t))}function VS(t,e){if(!zS.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 KS(t,e){return!!((e==="v4"||!e)&&DS.test(t)||(e==="v6"||!e)&&ZS.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 E(s,{code:k.invalid_type,expected:$.string,received:s.parsedType}),A}let n=new Oe,o;for(let s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(o=this._getOrReturnCtx(e,o),E(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.lengthe.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.valuenew sr({checks:[],typeName:b.ZodString,coerce:t?.coerce??!1,...U(t)});function JS(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 Ir=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 E(s,{code:k.invalid_type,expected:$.number,received:s.parsedType}),A}let n,o=new Oe;for(let s of this._def.checks)s.kind==="int"?J.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?JS(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),E(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),E(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.valuee.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.valuenew Ir({checks:[],typeName:b.ZodNumber,coerce:t?.coerce||!1,...U(t)});var zr=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 Oe;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(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),E(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 E(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.valuenew zr({checks:[],typeName:b.ZodBigInt,coerce:t?.coerce??!1,...U(t)});var Nr=class extends F{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.boolean,received:n.parsedType}),A}return Ze(e.data)}};Nr.create=t=>new Nr({typeName:b.ZodBoolean,coerce:t?.coerce||!1,...U(t)});var Ar=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 E(s,{code:k.invalid_type,expected:$.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_date}),A}let n=new Oe,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(o=this._getOrReturnCtx(e,o),E(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.valuenew Ar({checks:[],coerce:t?.coerce||!1,typeName:b.ZodDate,...U(t)});var kn=class extends F{_parse(e){if(this._getType(e)!==$.symbol){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.symbol,received:n.parsedType}),A}return Ze(e.data)}};kn.create=t=>new kn({typeName:b.ZodSymbol,...U(t)});var jr=class extends F{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.undefined,received:n.parsedType}),A}return Ze(e.data)}};jr.create=t=>new jr({typeName:b.ZodUndefined,...U(t)});var Mr=class extends F{_parse(e){if(this._getType(e)!==$.null){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.null,received:n.parsedType}),A}return Ze(e.data)}};Mr.create=t=>new Mr({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 E(r,{code:k.invalid_type,expected:$.never,received:r.parsedType}),A}};yt.create=t=>new yt({typeName:b.ZodNever,...U(t)});var bn=class extends F{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.void,received:n.parsedType}),A}return Ze(e.data)}};bn.create=t=>new bn({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 E(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.lengtho.maxLength.value&&(E(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=>Oe.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new at(r,i,r.path,a)));return Oe.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 Sn(t){if(t instanceof Xe){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ye.create(Sn(n))}return new Xe({...t._def,shape:()=>e})}else return t instanceof Wt?new Wt({...t._def,type:Sn(t.element)}):t instanceof Ye?Ye.create(Sn(t.unwrap())):t instanceof zt?zt.create(Sn(t.unwrap())):t instanceof It?It.create(t.items.map(e=>Sn(e))):t}var Xe=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 E(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&&(E(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=>Oe.mergeObjectSync(n,u)):Oe.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 Sn(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 Ye;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return Nf(J.objectKeys(this.shape))}};Xe.create=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Xe.strictCreate=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strict",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Xe.lazycreate=(t,e)=>new Xe({shape:t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});var Dr=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 Ge(a.ctx.common.issues));return E(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 Ge(c));return E(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};Dr.create=(t,e)=>new Dr({options:t,typeName:b.ZodUnion,...U(e)});var Kt=t=>t instanceof Zr?Kt(t.schema):t instanceof ct?Kt(t.innerType()):t instanceof Ur?[t.value]:t instanceof Hr?t.options:t instanceof Fr?J.objectValues(t.enum):t instanceof qr?Kt(t._def.innerType):t instanceof jr?[void 0]:t instanceof Mr?[null]:t instanceof Ye?[void 0,...Kt(t.unwrap())]:t instanceof zt?[null,...Kt(t.unwrap())]:t instanceof ho||t instanceof Vr?Kt(t.unwrap()):t instanceof Br?Kt(t._def.innerType):[],zs=class t extends F{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return E(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}):(E(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 Za(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=Za(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{if(Cs(s)||Cs(i))return A;let a=Za(s.value,i.value);return a.valid?((Is(s)||Is(i))&&r.dirty(),{status:r.value,value:a.data}):(E(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}))}};Lr.create=(t,e,r)=>new Lr({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 E(n,{code:k.invalid_type,expected:$.array,received:n.parsedType}),A;if(n.data.lengththis._def.items.length&&(E(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=>Oe.mergeArray(r,i)):Oe.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 Ns=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 E(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?Oe.mergeObjectAsync(r,o):Oe.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)})}},wn=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 E(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}}}};wn.create=(t,e,r)=>new wn({valueType:e,keyType:t,typeName:b.ZodMap,...U(r)});var En=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.set)return E(n,{code:k.invalid_type,expected:$.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(E(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)}};En.create=(t,e)=>new En({valueType:t,minSize:null,maxSize:null,typeName:b.ZodSet,...U(e)});var As=class t extends F{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.function)return E(r,{code:k.invalid_type,expected:$.function,received:r.parsedType}),A;function n(a,c){return mo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,xn(),Vt].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return mo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,xn(),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 Ge([]),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 Ge([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Ge([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)})}},Zr=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})}};Zr.create=(t,e)=>new Zr({getter:t,typeName:b.ZodLazy,...U(e)});var Ur=class extends F{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return E(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}};Ur.create=(t,e)=>new Ur({value:t,typeName:b.ZodLiteral,...U(e)});function Nf(t,e){return new Hr({values:t,typeName:b.ZodEnum,...U(e)})}var Hr=class t extends F{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return E(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 E(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})}};Hr.create=Nf;var Fr=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 E(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 E(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return Ze(e.data)}get enum(){return this._def.values}};Fr.create=(t,e)=>new Fr({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 E(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=>{E(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"?Cr(c.value):r.value==="dirty"?Cr(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"?Cr(a.value):r.value==="dirty"?Cr(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 Ye=class extends F{_parse(e){return this._getType(e)===$.undefined?Ze(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ye.create=(t,e)=>new Ye({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 qr=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}};qr.create=(t,e)=>new qr({innerType:t,typeName:b.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...U(e)});var Br=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 vn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Br.create=(t,e)=>new Br({innerType:t,typeName:b.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...U(e)});var Tn=class extends F{_parse(e){if(this._getType(e)!==$.nan){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};Tn.create=t=>new Tn({typeName:b.ZodNaN,...U(t)});var WS=Symbol("zod_brand"),ho=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}},go=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(),Cr(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})}},Vr=class extends F{_parse(e){let r=this._def.innerType._parse(e),n=o=>(or(o)&&(o.value=Object.freeze(o.value)),o);return vn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Vr.create=(t,e)=>new Vr({innerType:t,typeName:b.ZodReadonly,...U(e)});function Of(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Af(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=Of(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Of(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):ir.create()}var GS={object:Xe.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 YS=(t,e={message:`Input not instance of ${t.name}`})=>Af(r=>r instanceof t,e),jf=sr.create,Mf=Ir.create,XS=Tn.create,QS=zr.create,Df=Nr.create,ek=Ar.create,tk=kn.create,rk=jr.create,nk=Mr.create,ok=ir.create,sk=Jt.create,ik=yt.create,ak=bn.create,ck=Wt.create,Ua=Xe.create,uk=Xe.strictCreate,lk=Dr.create,dk=zs.create,pk=Lr.create,fk=It.create,mk=Ns.create,hk=wn.create,gk=En.create,_k=As.create,yk=Zr.create,xk=Ur.create,vk=Hr.create,Sk=Fr.create,kk=ar.create,bk=ct.create,wk=Ye.create,Ek=zt.create,Tk=ct.createWithPreprocess,$k=go.create,Pk=()=>jf().optional(),Rk=()=>Mf().optional(),Ok=()=>Df().optional(),Ck={string:(t=>sr.create({...t,coerce:!0})),number:(t=>Ir.create({...t,coerce:!0})),boolean:(t=>Nr.create({...t,coerce:!0})),bigint:(t=>zr.create({...t,coerce:!0})),date:(t=>Ar.create({...t,coerce:!0}))};var Ik=A;var zk=Object.freeze({status:"aborted"});function v(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.")}},js={};function ot(t){return t&&Object.assign(js,t),js}var W={};We(W,{BIGINT_FORMAT_RANGES:()=>Zf,Class:()=>Fa,NUMBER_FORMAT_RANGES:()=>Ga,aborted:()=>Jr,allowsEval:()=>Ka,assert:()=>Dk,assertEqual:()=>Nk,assertIs:()=>jk,assertNever:()=>Mk,assertNotEqual:()=>Ak,assignProp:()=>Va,cached:()=>xo,captureStackTrace:()=>Ds,cleanEnum:()=>Yk,cleanRegex:()=>So,clone:()=>st,createTransparentProxy:()=>qk,defineLazy:()=>ce,esc:()=>Kr,escapeRegex:()=>cr,extend:()=>Kk,finalizeIssue:()=>xt,floatSafeRemainder:()=>Ba,getElementAtPath:()=>Lk,getEnumValues:()=>yo,getLengthableOrigin:()=>ko,getParsedType:()=>Fk,getSizableOrigin:()=>Uf,isObject:()=>$n,isPlainObject:()=>Pn,issue:()=>Ya,joinValues:()=>Ms,jsonStringifyReplacer:()=>qa,merge:()=>Jk,normalizeParams:()=>j,nullish:()=>vo,numKeys:()=>Hk,omit:()=>Vk,optionalKeys:()=>Wa,partial:()=>Wk,pick:()=>Bk,prefixIssues:()=>Nt,primitiveTypes:()=>Lf,promiseAllObject:()=>Zk,propertyKeyTypes:()=>Ja,randomString:()=>Uk,required:()=>Gk,stringifyPrimitive:()=>Ls,unwrapMessage:()=>_o});function Nk(t){return t}function Ak(t){return t}function jk(t){}function Mk(t){throw new Error}function Dk(t){}function yo(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 Ms(t,e="|"){return t.map(r=>Ls(r)).join(e)}function qa(t,e){return typeof e=="bigint"?e.toString():e}function xo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function vo(t){return t==null}function So(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Ba(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,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 Va(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Lk(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Zk(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{};function $n(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ka=xo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Pn(t){if($n(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!($n(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Hk(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Fk=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Ja=new Set(["string","number","symbol"]),Lf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function cr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function st(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 qk(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 Ls(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Wa(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Ga={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]},Zf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Bk(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 st(t,{...t._zod.def,shape:r,checks:[]})}function Vk(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 st(t,{...t._zod.def,shape:r,checks:[]})}function Kk(t,e){if(!Pn(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 Va(this,"shape",n),n},checks:[]};return st(t,r)}function Jk(t,e){return st(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Va(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Wk(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 st(e,{...e._zod.def,shape:o,checks:[]})}function Gk(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 st(e,{...e._zod.def,shape:o,checks:[]})}function Jr(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function _o(t){return typeof t=="string"?t:t?.message}function xt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=_o(t.inst?._zod.def?.error?.(t))??_o(e?.error?.(t))??_o(r.customError?.(t))??_o(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Uf(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function ko(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ya(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Yk(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Fa=class{constructor(...e){}};var Hf=(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,qa,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Zs=v("$ZodError",Hf),bo=v("$ZodError",Hf,{Parent:Error});function Xa(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 Qa(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(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,ot())));throw Ds(a,o?.callee),a}return i.value},tc=ec(bo),rc=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,ot())));throw Ds(a,o?.callee),a}return i.value},nc=rc(bo),oc=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??Zs)(s.issues.map(i=>xt(i,o,ot())))}:{success:!0,data:s.value}},Wr=oc(bo),sc=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,ot())))}:{success:!0,data:s.value}},Gr=sc(bo);var Ff=/^[cC][^\s-]{8,}$/,qf=/^[0-9a-z]+$/,Bf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Vf=/^[0-9a-vA-V]{20}$/,Kf=/^[A-Za-z0-9]{27}$/,Jf=/^[a-zA-Z0-9_-]{21}$/,Wf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Gf=/^([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})$/,ic=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 Yf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Qk="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Xf(){return new RegExp(Qk,"u")}var Qf=/^(?:(?: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])$/,em=/^(([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})$/,tm=/^((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])$/,rm=/^(([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])$/,nm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ac=/^[A-Za-z0-9_-]*$/,om=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var sm=/^\+(?:[0-9]){6,14}[0-9]$/,im="(?:(?:\\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])))",am=new RegExp(`^${im}$`);function cm(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 um(t){return new RegExp(`^${cm(t)}$`)}function lm(t){let e=cm({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(`^${im}T(?:${n})$`)}var dm=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var pm=/^\d+$/,fm=/^-?\d+(?:\.\d+)?/i,mm=/true|false/i,hm=/null/i;var gm=/^[^A-Z]*$/,_m=/^[^a-z]*$/;var Ce=v("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),ym={number:"number",bigint:"bigint",object:"date"},cc=v("$ZodCheckLessThan",(t,e)=>{Ce.init(t,e);let r=ym[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{(e.inclusive?n.value<=e.value:n.value{Ce.init(t,e);let r=ym[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})}}),xm=v("$ZodCheckMultipleOf",(t,e)=>{Ce.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Ba(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),vm=v("$ZodCheckNumberFormat",(t,e)=>{Ce.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Ga[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=pm)}),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}}as&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var Sm=v("$ZodCheckMaxLength",(t,e)=>{var r;Ce.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!vo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let i=ko(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),km=v("$ZodCheckMinLength",(t,e)=>{var r;Ce.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!vo(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=ko(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),bm=v("$ZodCheckLengthEquals",(t,e)=>{var r;Ce.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!vo(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=ko(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})}}),wo=v("$ZodCheckStringFormat",(t,e)=>{var r,n;Ce.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=()=>{})}),wm=v("$ZodCheckRegex",(t,e)=>{wo.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Em=v("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=gm),wo.init(t,e)}),Tm=v("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=_m),wo.init(t,e)}),$m=v("$ZodCheckIncludes",(t,e)=>{Ce.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})}}),Pm=v("$ZodCheckStartsWith",(t,e)=>{Ce.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})}}),Rm=v("$ZodCheckEndsWith",(t,e)=>{Ce.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 Om=v("$ZodCheckOverwrite",(t,e)=>{Ce.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Hs=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(` `).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(` -`))}};var Cm={major:4,minor:0,patch:0};var ne=v("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Cm;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=Jr(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=Jr(s,d)))});else{if(s.issues.length===d)continue;c||(c=Jr(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=Wr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Gr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),To=v("$ZodString",(t,e)=>{ne.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??lm(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=v("$ZodStringFormat",(t,e)=>{Eo.init(t,e),To.init(t,e)}),pc=v("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Wf),ue.init(t,e)}),fc=v("$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=v("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Gf),ue.init(t,e)}),hc=v("$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:nm.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=v("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Yf()),ue.init(t,e)}),_c=v("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Kf),ue.init(t,e)}),yc=v("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Hf),ue.init(t,e)}),xc=v("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=qf),ue.init(t,e)}),vc=v("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Ff),ue.init(t,e)}),Sc=v("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Bf),ue.init(t,e)}),kc=v("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Vf),ue.init(t,e)}),Um=v("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=um(e)),ue.init(t,e)}),Hm=v("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=im),ue.init(t,e)}),qm=v("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=cm(e)),ue.init(t,e)}),Fm=v("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Jf),ue.init(t,e)}),bc=v("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Xf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),wc=v("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Qf),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=v("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=em),ue.init(t,e)}),Tc=v("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=tm),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 Bm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var $c=v("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=rm),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Bm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function tb(t){if(!cc.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Bm(r)}var Pc=v("$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=>{tb(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Rc=v("$ZodE164",(t,e)=>{e.pattern??(e.pattern=om),ue.init(t,e)});function rb(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=v("$ZodJWT",(t,e)=>{ue.init(t,e),t._zod.check=r=>{rb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Vs=v("$ZodNumber",(t,e)=>{ne.init(t,e),t._zod.pattern=t._zod.bag.pattern??pm,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=v("$ZodNumber",(t,e)=>{xm.init(t,e),Vs.init(t,e)}),Ic=v("$ZodBoolean",(t,e)=>{ne.init(t,e),t._zod.pattern=fm,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=v("$ZodNull",(t,e)=>{ne.init(t,e),t._zod.pattern=mm,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=v("$ZodUnknown",(t,e)=>{ne.init(t,e),t._zod.parse=r=>r}),Ac=v("$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 Im(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var jc=v("$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;iIm(u,r,i))):Im(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 zm(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=v("$ZodObject",(t,e)=>{ne.init(t,e);let r=vo(()=>{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 Fs(["shape","payload","ctx"]),m=r.value,p=x=>{let S=Kr(x);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 x of m.keys)h[x]=`key_${g++}`;f.write("const newResult = {}");for(let x of m.keys)if(m.optionalKeys.has(x)){let S=h[x];f.write(`const ${S} = ${p(x)};`);let w=Kr(x);f.write(` +`))}};var Im={major:4,minor:0,patch:0};var ne=v("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Im;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=Jr(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=Jr(s,d)))});else{if(s.issues.length===d)continue;c||(c=Jr(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=Wr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Gr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Eo=v("$ZodString",(t,e)=>{ne.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??dm(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=v("$ZodStringFormat",(t,e)=>{wo.init(t,e),Eo.init(t,e)}),dc=v("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Gf),ue.init(t,e)}),pc=v("$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=ic(n))}else e.pattern??(e.pattern=ic());ue.init(t,e)}),fc=v("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Yf),ue.init(t,e)}),mc=v("$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:om.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})}}}),hc=v("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Xf()),ue.init(t,e)}),gc=v("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Jf),ue.init(t,e)}),_c=v("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Ff),ue.init(t,e)}),yc=v("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=qf),ue.init(t,e)}),xc=v("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Bf),ue.init(t,e)}),vc=v("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Vf),ue.init(t,e)}),Sc=v("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Kf),ue.init(t,e)}),Hm=v("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=lm(e)),ue.init(t,e)}),Fm=v("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=am),ue.init(t,e)}),qm=v("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=um(e)),ue.init(t,e)}),Bm=v("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Wf),ue.init(t,e)}),kc=v("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Qf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),bc=v("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=em),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})}}}),wc=v("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=tm),ue.init(t,e)}),Ec=v("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=rm),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 Vm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var Tc=v("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=nm),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Vm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function eb(t){if(!ac.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Vm(r)}var $c=v("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=ac),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{eb(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Pc=v("$ZodE164",(t,e)=>{e.pattern??(e.pattern=sm),ue.init(t,e)});function tb(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 Rc=v("$ZodJWT",(t,e)=>{ue.init(t,e),t._zod.check=r=>{tb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var qs=v("$ZodNumber",(t,e)=>{ne.init(t,e),t._zod.pattern=t._zod.bag.pattern??fm,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}}),Oc=v("$ZodNumber",(t,e)=>{vm.init(t,e),qs.init(t,e)}),Cc=v("$ZodBoolean",(t,e)=>{ne.init(t,e),t._zod.pattern=mm,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 Ic=v("$ZodNull",(t,e)=>{ne.init(t,e),t._zod.pattern=hm,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 zc=v("$ZodUnknown",(t,e)=>{ne.init(t,e),t._zod.parse=r=>r}),Nc=v("$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 zm(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var Ac=v("$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;izm(u,r,i))):zm(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Fs(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}function Nm(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 Bs=v("$ZodObject",(t,e)=>{ne.init(t,e);let r=xo(()=>{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=Wa(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 Hs(["shape","payload","ctx"]),m=r.value,p=x=>{let S=Kr(x);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 x of m.keys)h[x]=`key_${g++}`;f.write("const newResult = {}");for(let x of m.keys)if(m.optionalKeys.has(x)){let S=h[x];f.write(`const ${S} = ${p(x)};`);let w=Kr(x);f.write(` if (${S}.issues.length) { if (input[${w}] === undefined) { if (${w} in input) { @@ -48,16 +48,16 @@ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_inde if (${S}.issues.length) payload.issues = payload.issues.concat(${S}.issues.map(iss => ({ ...iss, path: iss.path ? [${Kr(x)}, ...iss.path] : [${Kr(x)}] - })));`),f.write(`newResult[${Kr(x)}] = ${S}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let _=f.compile();return(x,S)=>_(d,x,S)},o,s=$n,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 w of l.keys){let z=S[w],de=z._zod.run({value:m[w],issues:[]},f),Te=z._zod.optin==="optional"&&z._zod.optout==="optional";de instanceof Promise?p.push(de.then(K=>Te?zm(K,d,w,m):Bs(K,d,w))):Te?zm(de,d,w,m):Bs(de,d,w)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,_=u._zod,x=_.def.type;for(let S of Object.keys(m)){if(g.has(S))continue;if(x==="never"){h.push(S);continue}let w=_.run({value:m[S],issues:[]},f);w instanceof Promise?p.push(w.then(z=>Bs(z,d,S))):Bs(w,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 Nm(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,ot())))}),e}var Js=v("$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=>ko(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=>Nm(i,r,t,n)):Nm(s,r,t,n)}}),Mc=v("$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=vo(()=>{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(!$n(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=v("$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])=>Am(r,c,u)):Am(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(Pn(t)&&Pn(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{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Pn(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,ot())),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=v("$ZodEnum",(t,e)=>{ne.init(t,e);let r=xo(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=v("$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=v("$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}}),qc=v("$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(`^(${ko(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)}),Fc=v("$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(`^(${ko(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=v("$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=>jm(s,e)):jm(o,e)}});function jm(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Vc=v("$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=v("$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=>Mm(s,t)):Mm(o,t)}});function Mm(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=v("$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,ot()))},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,ot()))},input:r.value}),r.issues=[]),r)}});var Wc=v("$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=>Dm(s,e,n)):Dm(o,e,n)}});function Dm(t,e,r){return Jr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Gc=v("$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(Lm):Lm(o)}});function Lm(t){return t.value=Object.freeze(t.value),t}var Yc=v("$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=>Zm(s,r,n,t));Zm(o,r,n,t)}});function Zm(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 nb=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},ob=()=>{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 ${nb(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 Vm(){return{localeError:ob()}}var $o=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 Km(){return new $o}var ur=Km();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 Jm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function Wm(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function Gm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function Ym(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 Po(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 Ro(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!0})}function Xs(t,e){return new ym({check:"multiple_of",...j(e),value:t})}function Qs(t,e){return new vm({check:"max_length",...j(e),maximum:t})}function Rn(t,e){return new Sm({check:"min_length",...j(e),minimum:t})}function ei(t,e){return new km({check:"length_equals",...j(e),length:t})}function Tu(t,e){return new bm({check:"string_format",format:"regex",...j(e),pattern:t})}function $u(t){return new wm({check:"string_format",format:"lowercase",...j(t)})}function Pu(t){return new Em({check:"string_format",format:"uppercase",...j(t)})}function Ru(t,e){return new Tm({check:"string_format",format:"includes",...j(e),includes:t})}function Ou(t,e){return new $m({check:"string_format",format:"starts_with",...j(e),prefix:t})}function Cu(t,e){return new Pm({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Yr(t){return new Rm({check:"overwrite",tx:t})}function Iu(t){return Yr(e=>e.normalize(t))}function zu(){return Yr(t=>t.trim())}function Nu(){return Yr(t=>t.toLowerCase())}function Au(){return Yr(t=>t.toUpperCase())}function Xm(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:x,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),x&&x.size>0){let w=[...x];w.length===1?p.pattern=w[0].source:w.length>1&&(a.schema.allOf=[...w.map(z=>({...this.target==="draft-7"?{type:"string"}:{},pattern:z.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:_,multipleOf:x,exclusiveMaximum:S,exclusiveMinimum:w}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof w=="number"&&(p.exclusiveMinimum=w),typeof h=="number"&&(p.minimum=h,typeof w=="number"&&(w>=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 x=="number"&&(p.multipleOf=x);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 x in h)p.properties[x]=this.process(h[x],{...d,path:[...d.path,"properties",x]});let g=new Set(Object.keys(h)),_=new Set([...g].filter(x=>{let S=o.shape[x]._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,x=[..._(h)?h.allOf:[h],..._(g)?g.allOf:[g]];p.allOf=x;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((x,S)=>this.process(x,{...d,path:[...d.path,"prefixItems",S]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let x=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=x:p.additionalItems=x}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=xo(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:x}=e._zod.bag;g!==void 0&&(h.minLength=g),_!==void 0&&(h.maxLength=_),x?x.length===1?(h.contentMediaType=x[0],Object.assign(p,h)):p.anyOf=x.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??(x=>x);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("/")}/ + })));`),f.write(`newResult[${Kr(x)}] = ${S}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let _=f.compile();return(x,S)=>_(d,x,S)},o,s=$n,i=!js.jitless,c=i&&Ka.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 w of l.keys){let z=S[w],de=z._zod.run({value:m[w],issues:[]},f),Te=z._zod.optin==="optional"&&z._zod.optout==="optional";de instanceof Promise?p.push(de.then(K=>Te?Nm(K,d,w,m):Fs(K,d,w))):Te?Nm(de,d,w,m):Fs(de,d,w)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,_=u._zod,x=_.def.type;for(let S of Object.keys(m)){if(g.has(S))continue;if(x==="never"){h.push(S);continue}let w=_.run({value:m[S],issues:[]},f);w instanceof Promise?p.push(w.then(z=>Fs(z,d,S))):Fs(w,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 Am(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>xt(s,n,ot())))}),e}var Vs=v("$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=>So(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=>Am(i,r,t,n)):Am(s,r,t,n)}}),jc=v("$ZodDiscriminatedUnion",(t,e)=>{Vs.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=xo(()=>{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(!$n(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)}}),Mc=v("$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])=>jm(r,c,u)):jm(r,s,i)}});function lc(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Pn(t)&&Pn(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=lc(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{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Pn(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,ot())),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 Lc=v("$ZodEnum",(t,e)=>{ne.init(t,e);let r=yo(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Ja.has(typeof n)).map(n=>typeof n=="string"?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}}),Zc=v("$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 Uc=v("$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}}),Hc=v("$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(`^(${So(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)}),Fc=v("$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(`^(${So(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)}),qc=v("$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=>Mm(s,e)):Mm(o,e)}});function Mm(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Bc=v("$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))}),Vc=v("$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=>Dm(s,t)):Dm(o,t)}});function Dm(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 Kc=v("$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,ot()))},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,ot()))},input:r.value}),r.issues=[]),r)}});var Jc=v("$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=>Lm(s,e,n)):Lm(o,e,n)}});function Lm(t,e,r){return Jr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Wc=v("$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(Zm):Zm(o)}});function Zm(t){return t.value=Object.freeze(t.value),t}var Gc=v("$ZodCustom",(t,e)=>{Ce.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=>Um(s,r,n,t));Um(o,r,n,t)}});function Um(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(Ya(o))}}var rb=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},nb=()=>{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 ${rb(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Ls(n.values[0])}`:`Invalid option: expected one of ${Ms(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":""}: ${Ms(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 Km(){return{localeError:nb()}}var To=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 Jm(){return new To}var ur=Jm();function Yc(t,e){return new t({type:"string",...j(e)})}function Xc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...j(e)})}function Ks(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...j(e)})}function Qc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...j(e)})}function eu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(e)})}function tu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(e)})}function ru(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(e)})}function nu(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...j(e)})}function ou(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...j(e)})}function su(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(e)})}function iu(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...j(e)})}function au(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(e)})}function cu(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...j(e)})}function uu(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...j(e)})}function lu(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(e)})}function du(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(e)})}function pu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(e)})}function fu(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(e)})}function mu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(e)})}function hu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...j(e)})}function gu(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...j(e)})}function _u(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...j(e)})}function yu(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...j(e)})}function Wm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function Gm(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function Ym(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function Xm(t,e){return new t({type:"string",format:"duration",check:"string_format",...j(e)})}function xu(t,e){return new t({type:"number",checks:[],...j(e)})}function vu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...j(e)})}function Su(t,e){return new t({type:"boolean",...j(e)})}function ku(t,e){return new t({type:"null",...j(e)})}function bu(t){return new t({type:"unknown"})}function wu(t,e){return new t({type:"never",...j(e)})}function Js(t,e){return new cc({check:"less_than",...j(e),value:t,inclusive:!1})}function $o(t,e){return new cc({check:"less_than",...j(e),value:t,inclusive:!0})}function Ws(t,e){return new uc({check:"greater_than",...j(e),value:t,inclusive:!1})}function Po(t,e){return new uc({check:"greater_than",...j(e),value:t,inclusive:!0})}function Gs(t,e){return new xm({check:"multiple_of",...j(e),value:t})}function Ys(t,e){return new Sm({check:"max_length",...j(e),maximum:t})}function Rn(t,e){return new km({check:"min_length",...j(e),minimum:t})}function Xs(t,e){return new bm({check:"length_equals",...j(e),length:t})}function Eu(t,e){return new wm({check:"string_format",format:"regex",...j(e),pattern:t})}function Tu(t){return new Em({check:"string_format",format:"lowercase",...j(t)})}function $u(t){return new Tm({check:"string_format",format:"uppercase",...j(t)})}function Pu(t,e){return new $m({check:"string_format",format:"includes",...j(e),includes:t})}function Ru(t,e){return new Pm({check:"string_format",format:"starts_with",...j(e),prefix:t})}function Ou(t,e){return new Rm({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Yr(t){return new Om({check:"overwrite",tx:t})}function Cu(t){return Yr(e=>e.normalize(t))}function Iu(){return Yr(t=>t.trim())}function zu(){return Yr(t=>t.toLowerCase())}function Nu(){return Yr(t=>t.toUpperCase())}function Qm(t,e,r){return new t({type:"array",element:e,...j(r)})}function Au(t,e,r){let n=j(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function ju(t,e,r){return new t({type:"custom",check:"custom",fn:e,...j(r)})}var Qs=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:x,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),x&&x.size>0){let w=[...x];w.length===1?p.pattern=w[0].source:w.length>1&&(a.schema.allOf=[...w.map(z=>({...this.target==="draft-7"?{type:"string"}:{},pattern:z.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:_,multipleOf:x,exclusiveMaximum:S,exclusiveMinimum:w}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof w=="number"&&(p.exclusiveMinimum=w),typeof h=="number"&&(p.minimum=h,typeof w=="number"&&(w>=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 x=="number"&&(p.multipleOf=x);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 x in h)p.properties[x]=this.process(h[x],{...d,path:[...d.path,"properties",x]});let g=new Set(Object.keys(h)),_=new Set([...g].filter(x=>{let S=o.shape[x]._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,x=[..._(h)?h.allOf:[h],..._(g)?g.allOf:[g]];p.allOf=x;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((x,S)=>this.process(x,{...d,path:[...d.path,"prefixItems",S]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let x=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=x:p.additionalItems=x}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=yo(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:x}=e._zod.bag;g!==void 0&&(h.minLength=g),_!==void 0&&(h.maxLength=_),x?x.length===1?(h.contentMediaType=x[0],Object.assign(p,h)):p.anyOf=x.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??(x=>x);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("/")}/ -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 $o){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 Lb=v("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)=>Wr(t,r,n),t.parseAsync=async(r,n)=>oc(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Gr(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)=>st(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var Zb=v("ZodMiniObject",(t,e)=>{Ks.init(t,e),Lb.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 Zb(r)}function ut(t){return!!t._zod}function Qr(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)?Wr(t,e):t.safeParse(e)}async function ri(t,e){return ut(t)?await Gr(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 On(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 Qr(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 eh(t){return t.description}function th(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 Oo={};We(Oo,{ZodISODate:()=>nh,ZodISODateTime:()=>rh,ZodISODuration:()=>sh,ZodISOTime:()=>oh,date:()=>Uu,datetime:()=>Zu,duration:()=>qu,time:()=>Hu});var rh=v("ZodISODateTime",(t,e)=>{Um.init(t,e),ge.init(t,e)});function Zu(t){return Jm(rh,t)}var nh=v("ZodISODate",(t,e)=>{Hm.init(t,e),ge.init(t,e)});function Uu(t){return Wm(nh,t)}var oh=v("ZodISOTime",(t,e)=>{qm.init(t,e),ge.init(t,e)});function Hu(t){return Gm(oh,t)}var sh=v("ZodISODuration",(t,e)=>{Fm.init(t,e),ge.init(t,e)});function qu(t){return Ym(sh,t)}var ih=(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}}})},GN=v("ZodError",ih),Co=v("ZodError",ih,{Parent:Error});var ah=tc(Co),ch=nc(Co),uh=sc(Co),lh=ic(Co);var ve=v("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)=>st(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>ah(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>uh(t,r,n),t.parseAsync=async(r,n)=>ch(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>lh(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Mw(r,n)),t.superRefine=r=>t.check(Dw(r)),t.overwrite=r=>t.check(Yr(r)),t.optional=()=>ye(t),t.nullable=()=>fh(t),t.nullish=()=>ye(fh(t)),t.nonoptional=r=>Ow(t,r),t.array=()=>G(t),t.or=r=>pe([t,r]),t.and=r=>ii(t,r),t.transform=r=>Bu(t,xh(r)),t.default=r=>$w(t,r),t.prefault=r=>Rw(t,r),t.catch=r=>Iw(t,r),t.pipe=r=>Bu(t,r),t.readonly=()=>Aw(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)),mh=v("_ZodString",(t,e)=>{To.init(t,e),ve.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(Rn(...n)),t.max=(...n)=>t.check(Qs(...n)),t.length=(...n)=>t.check(ei(...n)),t.nonempty=(...n)=>t.check(Rn(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())}),Wb=v("ZodString",(t,e)=>{To.init(t,e),mh.init(t,e),t.email=r=>t.check(Qc(Gb,r)),t.url=r=>t.check(ou(Yb,r)),t.jwt=r=>t.check(xu(pw,r)),t.emoji=r=>t.check(su(Xb,r)),t.guid=r=>t.check(Ws(dh,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(Qb,r)),t.guid=r=>t.check(Ws(dh,r)),t.cuid=r=>t.check(au(ew,r)),t.cuid2=r=>t.check(cu(tw,r)),t.ulid=r=>t.check(uu(rw,r)),t.base64=r=>t.check(gu(uw,r)),t.base64url=r=>t.check(_u(lw,r)),t.xid=r=>t.check(lu(nw,r)),t.ksuid=r=>t.check(du(ow,r)),t.ipv4=r=>t.check(pu(sw,r)),t.ipv6=r=>t.check(fu(iw,r)),t.cidrv4=r=>t.check(mu(aw,r)),t.cidrv6=r=>t.check(hu(cw,r)),t.e164=r=>t.check(yu(dw,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(qu(r))});function y(t){return Xc(Wb,t)}var ge=v("ZodStringFormat",(t,e)=>{ue.init(t,e),mh.init(t,e)}),Gb=v("ZodEmail",(t,e)=>{mc.init(t,e),ge.init(t,e)});var dh=v("ZodGUID",(t,e)=>{pc.init(t,e),ge.init(t,e)});var si=v("ZodUUID",(t,e)=>{fc.init(t,e),ge.init(t,e)});var Yb=v("ZodURL",(t,e)=>{hc.init(t,e),ge.init(t,e)});var Xb=v("ZodEmoji",(t,e)=>{gc.init(t,e),ge.init(t,e)});var Qb=v("ZodNanoID",(t,e)=>{_c.init(t,e),ge.init(t,e)});var ew=v("ZodCUID",(t,e)=>{yc.init(t,e),ge.init(t,e)});var tw=v("ZodCUID2",(t,e)=>{xc.init(t,e),ge.init(t,e)});var rw=v("ZodULID",(t,e)=>{vc.init(t,e),ge.init(t,e)});var nw=v("ZodXID",(t,e)=>{Sc.init(t,e),ge.init(t,e)});var ow=v("ZodKSUID",(t,e)=>{kc.init(t,e),ge.init(t,e)});var sw=v("ZodIPv4",(t,e)=>{bc.init(t,e),ge.init(t,e)});var iw=v("ZodIPv6",(t,e)=>{wc.init(t,e),ge.init(t,e)});var aw=v("ZodCIDRv4",(t,e)=>{Ec.init(t,e),ge.init(t,e)});var cw=v("ZodCIDRv6",(t,e)=>{Tc.init(t,e),ge.init(t,e)});var uw=v("ZodBase64",(t,e)=>{$c.init(t,e),ge.init(t,e)});var lw=v("ZodBase64URL",(t,e)=>{Pc.init(t,e),ge.init(t,e)});var dw=v("ZodE164",(t,e)=>{Rc.init(t,e),ge.init(t,e)});var pw=v("ZodJWT",(t,e)=>{Oc.init(t,e),ge.init(t,e)});var hh=v("ZodNumber",(t,e)=>{Vs.init(t,e),ve.init(t,e),t.gt=(n,o)=>t.check(Ys(n,o)),t.gte=(n,o)=>t.check(Ro(n,o)),t.min=(n,o)=>t.check(Ro(n,o)),t.lt=(n,o)=>t.check(Gs(n,o)),t.lte=(n,o)=>t.check(Po(n,o)),t.max=(n,o)=>t.check(Po(n,o)),t.int=n=>t.check(ph(n)),t.safe=n=>t.check(ph(n)),t.positive=n=>t.check(Ys(0,n)),t.nonnegative=n=>t.check(Ro(0,n)),t.negative=n=>t.check(Gs(0,n)),t.nonpositive=n=>t.check(Po(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(hh,t)}var fw=v("ZodNumberFormat",(t,e)=>{Cc.init(t,e),hh.init(t,e)});function ph(t){return Su(fw,t)}var mw=v("ZodBoolean",(t,e)=>{Ic.init(t,e),ve.init(t,e)});function Oe(t){return ku(mw,t)}var hw=v("ZodNull",(t,e)=>{zc.init(t,e),ve.init(t,e)});function gh(t){return bu(hw,t)}var gw=v("ZodUnknown",(t,e)=>{Nc.init(t,e),ve.init(t,e)});function _e(){return wu(gw)}var _w=v("ZodNever",(t,e)=>{Ac.init(t,e),ve.init(t,e)});function yw(t){return Eu(_w,t)}var xw=v("ZodArray",(t,e)=>{jc.init(t,e),ve.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Rn(r,n)),t.nonempty=r=>t.check(Rn(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 Xm(xw,t,e)}var _h=v("ZodObject",(t,e)=>{Ks.init(t,e),ve.init(t,e),W.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Qe(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:_e()}),t.loose=()=>t.clone({...t._zod.def,catchall:_e()}),t.strict=()=>t.clone({...t._zod.def,catchall:yw()}),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(vh,t,r[0]),t.required=(...r)=>W.required(Sh,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 _h(r)}function Fe(t,e){return new _h({type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},catchall:_e(),...W.normalizeParams(e)})}var yh=v("ZodUnion",(t,e)=>{Js.init(t,e),ve.init(t,e),t.options=e.options});function pe(t,e){return new yh({type:"union",options:t,...W.normalizeParams(e)})}var vw=v("ZodDiscriminatedUnion",(t,e)=>{yh.init(t,e),Mc.init(t,e)});function Vu(t,e,r){return new vw({type:"union",options:e,discriminator:t,...W.normalizeParams(r)})}var Sw=v("ZodIntersection",(t,e)=>{Dc.init(t,e),ve.init(t,e)});function ii(t,e){return new Sw({type:"intersection",left:t,right:e})}var kw=v("ZodRecord",(t,e)=>{Lc.init(t,e),ve.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function le(t,e,r){return new kw({type:"record",keyType:t,valueType:e,...W.normalizeParams(r)})}var Fu=v("ZodEnum",(t,e)=>{Zc.init(t,e),ve.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 Fu({...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 Fu({...e,checks:[],...W.normalizeParams(o),entries:s})}});function Qe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Fu({type:"enum",entries:r,...W.normalizeParams(e)})}var bw=v("ZodLiteral",(t,e)=>{Uc.init(t,e),ve.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 bw({type:"literal",values:Array.isArray(t)?t:[t],...W.normalizeParams(e)})}var ww=v("ZodTransform",(t,e)=>{Hc.init(t,e),ve.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 xh(t){return new ww({type:"transform",transform:t})}var vh=v("ZodOptional",(t,e)=>{qc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function ye(t){return new vh({type:"optional",innerType:t})}var Ew=v("ZodNullable",(t,e)=>{Fc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function fh(t){return new Ew({type:"nullable",innerType:t})}var Tw=v("ZodDefault",(t,e)=>{Bc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function $w(t,e){return new Tw({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Pw=v("ZodPrefault",(t,e)=>{Vc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Rw(t,e){return new Pw({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Sh=v("ZodNonOptional",(t,e)=>{Kc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Ow(t,e){return new Sh({type:"nonoptional",innerType:t,...W.normalizeParams(e)})}var Cw=v("ZodCatch",(t,e)=>{Jc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Iw(t,e){return new Cw({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var zw=v("ZodPipe",(t,e)=>{Wc.init(t,e),ve.init(t,e),t.in=e.in,t.out=e.out});function Bu(t,e){return new zw({type:"pipe",in:t,out:e})}var Nw=v("ZodReadonly",(t,e)=>{Gc.init(t,e),ve.init(t,e)});function Aw(t){return new Nw({type:"readonly",innerType:t})}var kh=v("ZodCustom",(t,e)=>{Yc.init(t,e),ve.init(t,e)});function jw(t){let e=new Ie({check:"custom"});return e._zod.check=t,e}function bh(t,e){return ju(kh,t??(()=>!0),e)}function Mw(t,e={}){return Mu(kh,t,e)}function Dw(t){let e=jw(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(xh(t),e)}ot(Vm());var Wu="2025-11-25";var wh=[Wu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],pr="io.modelcontextprotocol/related-task",ci="2.0",Re=bh(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Eh=pe([y(),re().int()]),Th=y(),lA=Fe({ttl:re().optional(),pollInterval:re().optional()}),Lw=P({ttl:re().optional()}),Zw=P({taskId:y()}),Gu=Fe({progressToken:Eh.optional(),[pr]:Zw.optional()}),it=P({_meta:Gu.optional()}),Io=it.extend({task:Lw.optional()}),$h=t=>Io.safeParse(t).success,ze=P({method:y(),params:it.loose().optional()}),lt=P({_meta:Gu.optional()}),dt=P({method:y(),params:lt.loose().optional()}),Ne=Fe({_meta:Gu.optional()}),ui=pe([y(),re().int()]),Ph=P({jsonrpc:C(ci),id:ui,...ze.shape}).strict(),Yu=t=>Ph.safeParse(t).success,Rh=P({jsonrpc:C(ci),...dt.shape}).strict(),Oh=t=>Rh.safeParse(t).success,Xu=P({jsonrpc:C(ci),id:ui,result:Ne}).strict(),zo=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:_e().optional()})}).strict();var Ch=t=>Qu.safeParse(t).success;var Ih=pe([Ph,Rh,Xu,Qu]),dA=pe([Xu,Qu]),li=Ne.strict(),Uw=lt.extend({requestId:ui.optional(),reason:y().optional()}),di=dt.extend({method:C("notifications/cancelled"),params:Uw}),Hw=P({src:y(),mimeType:y().optional(),sizes:G(y()).optional(),theme:Qe(["light","dark"]).optional()}),No=P({icons:G(Hw).optional()}),Cn=P({name:y(),title:y().optional()}),zh=Cn.extend({...Cn.shape,...No.shape,version:y(),websiteUrl:y().optional(),description:y().optional()}),qw=ii(P({applyDefaults:Oe().optional()}),le(y(),_e())),Fw=Ku(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,ii(P({form:qw.optional(),url:Re.optional()}),le(y(),_e()).optional())),Bw=Fe({list:Re.optional(),cancel:Re.optional(),requests:Fe({sampling:Fe({createMessage:Re.optional()}).optional(),elicitation:Fe({create:Re.optional()}).optional()}).optional()}),Vw=Fe({list:Re.optional(),cancel:Re.optional(),requests:Fe({tools:Fe({call:Re.optional()}).optional()}).optional()}),Kw=P({experimental:le(y(),Re).optional(),sampling:P({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:Fw.optional(),roots:P({listChanged:Oe().optional()}).optional(),tasks:Bw.optional(),extensions:le(y(),Re).optional()}),Jw=it.extend({protocolVersion:y(),capabilities:Kw,clientInfo:zh}),el=ze.extend({method:C("initialize"),params:Jw});var Ww=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:Vw.optional(),extensions:le(y(),Re).optional()}),Gw=Ne.extend({protocolVersion:y(),capabilities:Ww,serverInfo:zh,instructions:y().optional()}),tl=dt.extend({method:C("notifications/initialized"),params:lt.optional()});var pi=ze.extend({method:C("ping"),params:it.optional()}),Yw=P({progress:re(),total:ye(re()),message:ye(y())}),Xw=P({...lt.shape,...Yw.shape,progressToken:Eh}),fi=dt.extend({method:C("notifications/progress"),params:Xw}),Qw=it.extend({cursor:Th.optional()}),Ao=ze.extend({params:Qw.optional()}),jo=Ne.extend({nextCursor:Th.optional()}),eE=Qe(["working","input_required","completed","failed","cancelled"]),Mo=P({taskId:y(),status:eE,ttl:pe([re(),gh()]),createdAt:y(),lastUpdatedAt:y(),pollInterval:ye(re()),statusMessage:ye(y())}),In=Ne.extend({task:Mo}),tE=lt.merge(Mo),Do=dt.extend({method:C("notifications/tasks/status"),params:tE}),mi=ze.extend({method:C("tasks/get"),params:it.extend({taskId:y()})}),hi=Ne.merge(Mo),gi=ze.extend({method:C("tasks/result"),params:it.extend({taskId:y()})}),pA=Ne.loose(),_i=Ao.extend({method:C("tasks/list")}),yi=jo.extend({tasks:G(Mo)}),xi=ze.extend({method:C("tasks/cancel"),params:it.extend({taskId:y()})}),Nh=Ne.merge(Mo),Ah=P({uri:y(),mimeType:ye(y()),_meta:le(y(),_e()).optional()}),jh=Ah.extend({text:y()}),rl=y().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Mh=Ah.extend({blob:rl}),Lo=Qe(["user","assistant"]),zn=P({audience:G(Lo).optional(),priority:re().min(0).max(1).optional(),lastModified:Oo.datetime({offset:!0}).optional()}),Dh=P({...Cn.shape,...No.shape,uri:y(),description:ye(y()),mimeType:ye(y()),size:ye(re()),annotations:zn.optional(),_meta:ye(Fe({}))}),rE=P({...Cn.shape,...No.shape,uriTemplate:y(),description:ye(y()),mimeType:ye(y()),annotations:zn.optional(),_meta:ye(Fe({}))}),Nn=Ao.extend({method:C("resources/list")}),nE=jo.extend({resources:G(Dh)}),An=Ao.extend({method:C("resources/templates/list")}),oE=jo.extend({resourceTemplates:G(rE)}),nl=it.extend({uri:y()}),sE=nl,vi=ze.extend({method:C("resources/read"),params:sE}),iE=Ne.extend({contents:G(pe([jh,Mh]))}),aE=dt.extend({method:C("notifications/resources/list_changed"),params:lt.optional()}),cE=nl,uE=ze.extend({method:C("resources/subscribe"),params:cE}),lE=nl,dE=ze.extend({method:C("resources/unsubscribe"),params:lE}),pE=lt.extend({uri:y()}),fE=dt.extend({method:C("notifications/resources/updated"),params:pE}),mE=P({name:y(),description:ye(y()),required:ye(Oe())}),hE=P({...Cn.shape,...No.shape,description:ye(y()),arguments:ye(G(mE)),_meta:ye(Fe({}))}),jn=Ao.extend({method:C("prompts/list")}),gE=jo.extend({prompts:G(hE)}),_E=it.extend({name:y(),arguments:le(y(),y()).optional()}),Si=ze.extend({method:C("prompts/get"),params:_E}),ol=P({type:C("text"),text:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),sl=P({type:C("image"),data:rl,mimeType:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),il=P({type:C("audio"),data:rl,mimeType:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),yE=P({type:C("tool_use"),name:y(),id:y(),input:le(y(),_e()),_meta:le(y(),_e()).optional()}),xE=P({type:C("resource"),resource:pe([jh,Mh]),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),vE=Dh.extend({type:C("resource_link")}),al=pe([ol,sl,il,vE,xE]),SE=P({role:Lo,content:al}),kE=Ne.extend({description:y().optional(),messages:G(SE)}),bE=dt.extend({method:C("notifications/prompts/list_changed"),params:lt.optional()}),wE=P({title:y().optional(),readOnlyHint:Oe().optional(),destructiveHint:Oe().optional(),idempotentHint:Oe().optional(),openWorldHint:Oe().optional()}),EE=P({taskSupport:Qe(["required","optional","forbidden"]).optional()}),Lh=P({...Cn.shape,...No.shape,description:y().optional(),inputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(_e()),outputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(_e()).optional(),annotations:wE.optional(),execution:EE.optional(),_meta:le(y(),_e()).optional()}),ki=Ao.extend({method:C("tools/list")}),TE=jo.extend({tools:G(Lh)}),bi=Ne.extend({content:G(al).default([]),structuredContent:le(y(),_e()).optional(),isError:Oe().optional()}),fA=bi.or(Ne.extend({toolResult:_e()})),$E=Io.extend({name:y(),arguments:le(y(),_e()).optional()}),Mn=ze.extend({method:C("tools/call"),params:$E}),PE=dt.extend({method:C("notifications/tools/list_changed"),params:lt.optional()}),mA=P({autoRefresh:Oe().default(!0),debounceMs:re().int().nonnegative().default(300)}),Zo=Qe(["debug","info","notice","warning","error","critical","alert","emergency"]),RE=it.extend({level:Zo}),cl=ze.extend({method:C("logging/setLevel"),params:RE}),OE=lt.extend({level:Zo,logger:y().optional(),data:_e()}),CE=dt.extend({method:C("notifications/message"),params:OE}),IE=P({name:y().optional()}),zE=P({hints:G(IE).optional(),costPriority:re().min(0).max(1).optional(),speedPriority:re().min(0).max(1).optional(),intelligencePriority:re().min(0).max(1).optional()}),NE=P({mode:Qe(["auto","required","none"]).optional()}),AE=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(),_e()).optional()}),jE=Vu("type",[ol,sl,il]),ai=Vu("type",[ol,sl,il,yE,AE]),ME=P({role:Lo,content:pe([ai,G(ai)]),_meta:le(y(),_e()).optional()}),DE=Io.extend({messages:G(ME),modelPreferences:zE.optional(),systemPrompt:y().optional(),includeContext:Qe(["none","thisServer","allServers"]).optional(),temperature:re().optional(),maxTokens:re().int(),stopSequences:G(y()).optional(),metadata:Re.optional(),tools:G(Lh).optional(),toolChoice:NE.optional()}),LE=ze.extend({method:C("sampling/createMessage"),params:DE}),Uo=Ne.extend({model:y(),stopReason:ye(Qe(["endTurn","stopSequence","maxTokens"]).or(y())),role:Lo,content:jE}),ul=Ne.extend({model:y(),stopReason:ye(Qe(["endTurn","stopSequence","maxTokens","toolUse"]).or(y())),role:Lo,content:pe([ai,G(ai)])}),ZE=P({type:C("boolean"),title:y().optional(),description:y().optional(),default:Oe().optional()}),UE=P({type:C("string"),title:y().optional(),description:y().optional(),minLength:re().optional(),maxLength:re().optional(),format:Qe(["email","uri","date","date-time"]).optional(),default:y().optional()}),HE=P({type:Qe(["number","integer"]),title:y().optional(),description:y().optional(),minimum:re().optional(),maximum:re().optional(),default:re().optional()}),qE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),default:y().optional()}),FE=P({type:C("string"),title:y().optional(),description:y().optional(),oneOf:G(P({const:y(),title:y()})),default:y().optional()}),BE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),enumNames:G(y()).optional(),default:y().optional()}),VE=pe([qE,FE]),KE=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()}),JE=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()}),WE=pe([KE,JE]),GE=pe([BE,VE,WE]),YE=pe([GE,ZE,UE,HE]),XE=Io.extend({mode:C("form").optional(),message:y(),requestedSchema:P({type:C("object"),properties:le(y(),YE),required:G(y()).optional()})}),QE=Io.extend({mode:C("url"),message:y(),elicitationId:y(),url:y().url()}),eT=pe([XE,QE]),tT=ze.extend({method:C("elicitation/create"),params:eT}),rT=lt.extend({elicitationId:y()}),nT=dt.extend({method:C("notifications/elicitation/complete"),params:rT}),Dn=Ne.extend({action:Qe(["accept","decline","cancel"]),content:Ku(t=>t===null?void 0:t,le(y(),pe([y(),re(),Oe(),G(y())])).optional())}),oT=P({type:C("ref/resource"),uri:y()});var sT=P({type:C("ref/prompt"),name:y()}),iT=it.extend({ref:pe([sT,oT]),argument:P({name:y(),value:y()}),context:P({arguments:le(y(),y()).optional()}).optional()}),wi=ze.extend({method:C("completion/complete"),params:iT});function Zh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function Uh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var aT=Ne.extend({completion:Fe({values:G(y()).max(100),total:ye(re().int()),hasMore:ye(Oe())})}),cT=P({uri:y().startsWith("file://"),name:y().optional(),_meta:le(y(),_e()).optional()}),uT=ze.extend({method:C("roots/list"),params:it.optional()}),ll=Ne.extend({roots:G(cT)}),lT=dt.extend({method:C("notifications/roots/list_changed"),params:lt.optional()}),hA=pe([pi,el,wi,cl,Si,jn,Nn,An,vi,uE,dE,Mn,ki,mi,gi,_i,xi]),gA=pe([di,fi,tl,lT,Do]),_A=pe([li,Uo,ul,Dn,ll,hi,yi,In]),yA=pe([pi,LE,tT,uT,mi,gi,_i,xi]),xA=pe([di,fi,CE,fE,aE,PE,bE,Do,nT]),vA=pe([li,Gw,aT,kE,gE,nE,oE,iE,bi,TE,hi,yi,In]),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 qh=Symbol("Let zodToJsonSchema decide on which parser to use");var Hh={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"},Fh=t=>typeof t=="string"?{...Hh,name:t}:{...Hh,...t};var Bh=t=>{let e=Fh(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(;rM(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 dT(t,e)}}var dT=(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 Gh(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function Yh(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):xe(e)}function Xh(t){return{type:"string",enum:Array.from(t.values)}}var pT=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Qh(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(pT(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 eg(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"?mT(t):t}var fT=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function mT(t){let e="";for(let r=0;ro.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:tg(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):Y(t,"pattern",tg(e,n),r,n)}function tg(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;c1&&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 Mu(t,e){if(t instanceof To){let n=new Qs(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 Qs(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 Db=v("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(t,e),t.def=e,t.parse=(r,n)=>tc(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Wr(t,r,n),t.parseAsync=async(r,n)=>nc(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Gr(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)=>st(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var Lb=v("ZodMiniObject",(t,e)=>{Bs.init(t,e),Db.init(t,e),W.defineLazy(t,"shape",()=>e.shape)});function Du(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new Lb(r)}function ut(t){return!!t._zod}function Qr(t){let e=Object.values(t);if(e.length===0)return Du({});let r=e.every(ut),n=e.every(o=>!ut(o));if(r)return Du(t);if(n)return Ua(t);throw new Error("Mixed Zod versions detected in object shape.")}function lr(t,e){return ut(t)?Wr(t,e):t.safeParse(e)}async function ei(t,e){return ut(t)?await Gr(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 On(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 Qr(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 ti(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 th(t){return t.description}function rh(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 ri(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 Ro={};We(Ro,{ZodISODate:()=>oh,ZodISODateTime:()=>nh,ZodISODuration:()=>ih,ZodISOTime:()=>sh,date:()=>Zu,datetime:()=>Lu,duration:()=>Hu,time:()=>Uu});var nh=v("ZodISODateTime",(t,e)=>{Hm.init(t,e),he.init(t,e)});function Lu(t){return Wm(nh,t)}var oh=v("ZodISODate",(t,e)=>{Fm.init(t,e),he.init(t,e)});function Zu(t){return Gm(oh,t)}var sh=v("ZodISOTime",(t,e)=>{qm.init(t,e),he.init(t,e)});function Uu(t){return Ym(sh,t)}var ih=v("ZodISODuration",(t,e)=>{Bm.init(t,e),he.init(t,e)});function Hu(t){return Xm(ih,t)}var ah=(t,e)=>{Zs.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Qa(t,r)},flatten:{value:r=>Xa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},GN=v("ZodError",ah),Oo=v("ZodError",ah,{Parent:Error});var ch=ec(Oo),uh=rc(Oo),lh=oc(Oo),dh=sc(Oo);var ve=v("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)=>st(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>ch(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>lh(t,r,n),t.parseAsync=async(r,n)=>uh(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>dh(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(jw(r,n)),t.superRefine=r=>t.check(Mw(r)),t.overwrite=r=>t.check(Yr(r)),t.optional=()=>xe(t),t.nullable=()=>mh(t),t.nullish=()=>xe(mh(t)),t.nonoptional=r=>Rw(t,r),t.array=()=>G(t),t.or=r=>le([t,r]),t.and=r=>oi(t,r),t.transform=r=>qu(t,xh(r)),t.default=r=>Tw(t,r),t.prefault=r=>Pw(t,r),t.catch=r=>Cw(t,r),t.pipe=r=>qu(t,r),t.readonly=()=>Nw(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)),hh=v("_ZodString",(t,e)=>{Eo.init(t,e),ve.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(Eu(...n)),t.includes=(...n)=>t.check(Pu(...n)),t.startsWith=(...n)=>t.check(Ru(...n)),t.endsWith=(...n)=>t.check(Ou(...n)),t.min=(...n)=>t.check(Rn(...n)),t.max=(...n)=>t.check(Ys(...n)),t.length=(...n)=>t.check(Xs(...n)),t.nonempty=(...n)=>t.check(Rn(1,...n)),t.lowercase=n=>t.check(Tu(n)),t.uppercase=n=>t.check($u(n)),t.trim=()=>t.check(Iu()),t.normalize=(...n)=>t.check(Cu(...n)),t.toLowerCase=()=>t.check(zu()),t.toUpperCase=()=>t.check(Nu())}),Jb=v("ZodString",(t,e)=>{Eo.init(t,e),hh.init(t,e),t.email=r=>t.check(Xc(Wb,r)),t.url=r=>t.check(nu(Gb,r)),t.jwt=r=>t.check(yu(dw,r)),t.emoji=r=>t.check(ou(Yb,r)),t.guid=r=>t.check(Ks(ph,r)),t.uuid=r=>t.check(Qc(ni,r)),t.uuidv4=r=>t.check(eu(ni,r)),t.uuidv6=r=>t.check(tu(ni,r)),t.uuidv7=r=>t.check(ru(ni,r)),t.nanoid=r=>t.check(su(Xb,r)),t.guid=r=>t.check(Ks(ph,r)),t.cuid=r=>t.check(iu(Qb,r)),t.cuid2=r=>t.check(au(ew,r)),t.ulid=r=>t.check(cu(tw,r)),t.base64=r=>t.check(hu(cw,r)),t.base64url=r=>t.check(gu(uw,r)),t.xid=r=>t.check(uu(rw,r)),t.ksuid=r=>t.check(lu(nw,r)),t.ipv4=r=>t.check(du(ow,r)),t.ipv6=r=>t.check(pu(sw,r)),t.cidrv4=r=>t.check(fu(iw,r)),t.cidrv6=r=>t.check(mu(aw,r)),t.e164=r=>t.check(_u(lw,r)),t.datetime=r=>t.check(Lu(r)),t.date=r=>t.check(Zu(r)),t.time=r=>t.check(Uu(r)),t.duration=r=>t.check(Hu(r))});function y(t){return Yc(Jb,t)}var he=v("ZodStringFormat",(t,e)=>{ue.init(t,e),hh.init(t,e)}),Wb=v("ZodEmail",(t,e)=>{fc.init(t,e),he.init(t,e)});var ph=v("ZodGUID",(t,e)=>{dc.init(t,e),he.init(t,e)});var ni=v("ZodUUID",(t,e)=>{pc.init(t,e),he.init(t,e)});var Gb=v("ZodURL",(t,e)=>{mc.init(t,e),he.init(t,e)});var Yb=v("ZodEmoji",(t,e)=>{hc.init(t,e),he.init(t,e)});var Xb=v("ZodNanoID",(t,e)=>{gc.init(t,e),he.init(t,e)});var Qb=v("ZodCUID",(t,e)=>{_c.init(t,e),he.init(t,e)});var ew=v("ZodCUID2",(t,e)=>{yc.init(t,e),he.init(t,e)});var tw=v("ZodULID",(t,e)=>{xc.init(t,e),he.init(t,e)});var rw=v("ZodXID",(t,e)=>{vc.init(t,e),he.init(t,e)});var nw=v("ZodKSUID",(t,e)=>{Sc.init(t,e),he.init(t,e)});var ow=v("ZodIPv4",(t,e)=>{kc.init(t,e),he.init(t,e)});var sw=v("ZodIPv6",(t,e)=>{bc.init(t,e),he.init(t,e)});var iw=v("ZodCIDRv4",(t,e)=>{wc.init(t,e),he.init(t,e)});var aw=v("ZodCIDRv6",(t,e)=>{Ec.init(t,e),he.init(t,e)});var cw=v("ZodBase64",(t,e)=>{Tc.init(t,e),he.init(t,e)});var uw=v("ZodBase64URL",(t,e)=>{$c.init(t,e),he.init(t,e)});var lw=v("ZodE164",(t,e)=>{Pc.init(t,e),he.init(t,e)});var dw=v("ZodJWT",(t,e)=>{Rc.init(t,e),he.init(t,e)});var gh=v("ZodNumber",(t,e)=>{qs.init(t,e),ve.init(t,e),t.gt=(n,o)=>t.check(Ws(n,o)),t.gte=(n,o)=>t.check(Po(n,o)),t.min=(n,o)=>t.check(Po(n,o)),t.lt=(n,o)=>t.check(Js(n,o)),t.lte=(n,o)=>t.check($o(n,o)),t.max=(n,o)=>t.check($o(n,o)),t.int=n=>t.check(fh(n)),t.safe=n=>t.check(fh(n)),t.positive=n=>t.check(Ws(0,n)),t.nonnegative=n=>t.check(Po(0,n)),t.negative=n=>t.check(Js(0,n)),t.nonpositive=n=>t.check($o(0,n)),t.multipleOf=(n,o)=>t.check(Gs(n,o)),t.step=(n,o)=>t.check(Gs(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 xu(gh,t)}var pw=v("ZodNumberFormat",(t,e)=>{Oc.init(t,e),gh.init(t,e)});function fh(t){return vu(pw,t)}var fw=v("ZodBoolean",(t,e)=>{Cc.init(t,e),ve.init(t,e)});function Re(t){return Su(fw,t)}var mw=v("ZodNull",(t,e)=>{Ic.init(t,e),ve.init(t,e)});function Bu(t){return ku(mw,t)}var hw=v("ZodUnknown",(t,e)=>{zc.init(t,e),ve.init(t,e)});function ge(){return bu(hw)}var gw=v("ZodNever",(t,e)=>{Nc.init(t,e),ve.init(t,e)});function _w(t){return wu(gw,t)}var yw=v("ZodArray",(t,e)=>{Ac.init(t,e),ve.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Rn(r,n)),t.nonempty=r=>t.check(Rn(1,r)),t.max=(r,n)=>t.check(Ys(r,n)),t.length=(r,n)=>t.check(Xs(r,n)),t.unwrap=()=>t.element});function G(t,e){return Qm(yw,t,e)}var _h=v("ZodObject",(t,e)=>{Bs.init(t,e),ve.init(t,e),W.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Qe(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:_w()}),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(vh,t,r[0]),t.required=(...r)=>W.required(Sh,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 _h(r)}function qe(t,e){return new _h({type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},catchall:ge(),...W.normalizeParams(e)})}var yh=v("ZodUnion",(t,e)=>{Vs.init(t,e),ve.init(t,e),t.options=e.options});function le(t,e){return new yh({type:"union",options:t,...W.normalizeParams(e)})}var xw=v("ZodDiscriminatedUnion",(t,e)=>{yh.init(t,e),jc.init(t,e)});function Vu(t,e,r){return new xw({type:"union",options:e,discriminator:t,...W.normalizeParams(r)})}var vw=v("ZodIntersection",(t,e)=>{Mc.init(t,e),ve.init(t,e)});function oi(t,e){return new vw({type:"intersection",left:t,right:e})}var Sw=v("ZodRecord",(t,e)=>{Dc.init(t,e),ve.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function _e(t,e,r){return new Sw({type:"record",keyType:t,valueType:e,...W.normalizeParams(r)})}var Fu=v("ZodEnum",(t,e)=>{Lc.init(t,e),ve.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 Fu({...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 Fu({...e,checks:[],...W.normalizeParams(o),entries:s})}});function Qe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Fu({type:"enum",entries:r,...W.normalizeParams(e)})}var kw=v("ZodLiteral",(t,e)=>{Zc.init(t,e),ve.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 kw({type:"literal",values:Array.isArray(t)?t:[t],...W.normalizeParams(e)})}var bw=v("ZodTransform",(t,e)=>{Uc.init(t,e),ve.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 xh(t){return new bw({type:"transform",transform:t})}var vh=v("ZodOptional",(t,e)=>{Hc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function xe(t){return new vh({type:"optional",innerType:t})}var ww=v("ZodNullable",(t,e)=>{Fc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function mh(t){return new ww({type:"nullable",innerType:t})}var Ew=v("ZodDefault",(t,e)=>{qc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function Tw(t,e){return new Ew({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var $w=v("ZodPrefault",(t,e)=>{Bc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Pw(t,e){return new $w({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Sh=v("ZodNonOptional",(t,e)=>{Vc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Rw(t,e){return new Sh({type:"nonoptional",innerType:t,...W.normalizeParams(e)})}var Ow=v("ZodCatch",(t,e)=>{Kc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Cw(t,e){return new Ow({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Iw=v("ZodPipe",(t,e)=>{Jc.init(t,e),ve.init(t,e),t.in=e.in,t.out=e.out});function qu(t,e){return new Iw({type:"pipe",in:t,out:e})}var zw=v("ZodReadonly",(t,e)=>{Wc.init(t,e),ve.init(t,e)});function Nw(t){return new zw({type:"readonly",innerType:t})}var kh=v("ZodCustom",(t,e)=>{Gc.init(t,e),ve.init(t,e)});function Aw(t){let e=new Ce({check:"custom"});return e._zod.check=t,e}function bh(t,e){return Au(kh,t??(()=>!0),e)}function jw(t,e={}){return ju(kh,t,e)}function Mw(t){let e=Aw(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 qu(xh(t),e)}ot(Km());var Wu="2025-11-25";var wh=[Wu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],pr="io.modelcontextprotocol/related-task",ii="2.0",Ie=bh(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Eh=le([y(),re().int()]),Th=y(),lA=qe({ttl:le([re(),Bu()]).optional(),pollInterval:re().optional()}),Dw=P({ttl:re().optional()}),Lw=P({taskId:y()}),Gu=qe({progressToken:Eh.optional(),[pr]:Lw.optional()}),it=P({_meta:Gu.optional()}),Co=it.extend({task:Dw.optional()}),$h=t=>Co.safeParse(t).success,ze=P({method:y(),params:it.loose().optional()}),lt=P({_meta:Gu.optional()}),dt=P({method:y(),params:lt.loose().optional()}),Ne=qe({_meta:Gu.optional()}),ai=le([y(),re().int()]),Ph=P({jsonrpc:C(ii),id:ai,...ze.shape}).strict(),Yu=t=>Ph.safeParse(t).success,Rh=P({jsonrpc:C(ii),...dt.shape}).strict(),Oh=t=>Rh.safeParse(t).success,Xu=P({jsonrpc:C(ii),id:ai,result:Ne}).strict(),Io=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(ii),id:ai.optional(),error:P({code:re().int(),message:y(),data:ge().optional()})}).strict();var Ch=t=>Qu.safeParse(t).success;var Ih=le([Ph,Rh,Xu,Qu]),dA=le([Xu,Qu]),ci=Ne.strict(),Zw=lt.extend({requestId:ai.optional(),reason:y().optional()}),ui=dt.extend({method:C("notifications/cancelled"),params:Zw}),Uw=P({src:y(),mimeType:y().optional(),sizes:G(y()).optional(),theme:Qe(["light","dark"]).optional()}),zo=P({icons:G(Uw).optional()}),Cn=P({name:y(),title:y().optional()}),zh=Cn.extend({...Cn.shape,...zo.shape,version:y(),websiteUrl:y().optional(),description:y().optional()}),Hw=oi(P({applyDefaults:Re().optional()}),_e(y(),ge())),Fw=Ku(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,oi(P({form:Hw.optional(),url:Ie.optional()}),_e(y(),ge()).optional())),qw=qe({list:Ie.optional(),cancel:Ie.optional(),requests:qe({sampling:qe({createMessage:Ie.optional()}).optional(),elicitation:qe({create:Ie.optional()}).optional()}).optional()}),Bw=qe({list:Ie.optional(),cancel:Ie.optional(),requests:qe({tools:qe({call:Ie.optional()}).optional()}).optional()}),Vw=P({experimental:_e(y(),Ie).optional(),sampling:P({context:Ie.optional(),tools:Ie.optional()}).optional(),elicitation:Fw.optional(),roots:P({listChanged:Re().optional()}).optional(),tasks:qw.optional()}),Kw=it.extend({protocolVersion:y(),capabilities:Vw,clientInfo:zh}),el=ze.extend({method:C("initialize"),params:Kw});var Jw=P({experimental:_e(y(),Ie).optional(),logging:Ie.optional(),completions:Ie.optional(),prompts:P({listChanged:Re().optional()}).optional(),resources:P({subscribe:Re().optional(),listChanged:Re().optional()}).optional(),tools:P({listChanged:Re().optional()}).optional(),tasks:Bw.optional()}),Ww=Ne.extend({protocolVersion:y(),capabilities:Jw,serverInfo:zh,instructions:y().optional()}),tl=dt.extend({method:C("notifications/initialized"),params:lt.optional()});var li=ze.extend({method:C("ping"),params:it.optional()}),Gw=P({progress:re(),total:xe(re()),message:xe(y())}),Yw=P({...lt.shape,...Gw.shape,progressToken:Eh}),di=dt.extend({method:C("notifications/progress"),params:Yw}),Xw=it.extend({cursor:Th.optional()}),No=ze.extend({params:Xw.optional()}),Ao=Ne.extend({nextCursor:Th.optional()}),Qw=Qe(["working","input_required","completed","failed","cancelled"]),jo=P({taskId:y(),status:Qw,ttl:le([re(),Bu()]),createdAt:y(),lastUpdatedAt:y(),pollInterval:xe(re()),statusMessage:xe(y())}),In=Ne.extend({task:jo}),eE=lt.merge(jo),Mo=dt.extend({method:C("notifications/tasks/status"),params:eE}),pi=ze.extend({method:C("tasks/get"),params:it.extend({taskId:y()})}),fi=Ne.merge(jo),mi=ze.extend({method:C("tasks/result"),params:it.extend({taskId:y()})}),pA=Ne.loose(),hi=No.extend({method:C("tasks/list")}),gi=Ao.extend({tasks:G(jo)}),_i=ze.extend({method:C("tasks/cancel"),params:it.extend({taskId:y()})}),Nh=Ne.merge(jo),Ah=P({uri:y(),mimeType:xe(y()),_meta:_e(y(),ge()).optional()}),jh=Ah.extend({text:y()}),rl=y().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Mh=Ah.extend({blob:rl}),Do=Qe(["user","assistant"]),zn=P({audience:G(Do).optional(),priority:re().min(0).max(1).optional(),lastModified:Ro.datetime({offset:!0}).optional()}),Dh=P({...Cn.shape,...zo.shape,uri:y(),description:xe(y()),mimeType:xe(y()),annotations:zn.optional(),_meta:xe(qe({}))}),tE=P({...Cn.shape,...zo.shape,uriTemplate:y(),description:xe(y()),mimeType:xe(y()),annotations:zn.optional(),_meta:xe(qe({}))}),Nn=No.extend({method:C("resources/list")}),rE=Ao.extend({resources:G(Dh)}),An=No.extend({method:C("resources/templates/list")}),nE=Ao.extend({resourceTemplates:G(tE)}),nl=it.extend({uri:y()}),oE=nl,yi=ze.extend({method:C("resources/read"),params:oE}),sE=Ne.extend({contents:G(le([jh,Mh]))}),iE=dt.extend({method:C("notifications/resources/list_changed"),params:lt.optional()}),aE=nl,cE=ze.extend({method:C("resources/subscribe"),params:aE}),uE=nl,lE=ze.extend({method:C("resources/unsubscribe"),params:uE}),dE=lt.extend({uri:y()}),pE=dt.extend({method:C("notifications/resources/updated"),params:dE}),fE=P({name:y(),description:xe(y()),required:xe(Re())}),mE=P({...Cn.shape,...zo.shape,description:xe(y()),arguments:xe(G(fE)),_meta:xe(qe({}))}),jn=No.extend({method:C("prompts/list")}),hE=Ao.extend({prompts:G(mE)}),gE=it.extend({name:y(),arguments:_e(y(),y()).optional()}),xi=ze.extend({method:C("prompts/get"),params:gE}),ol=P({type:C("text"),text:y(),annotations:zn.optional(),_meta:_e(y(),ge()).optional()}),sl=P({type:C("image"),data:rl,mimeType:y(),annotations:zn.optional(),_meta:_e(y(),ge()).optional()}),il=P({type:C("audio"),data:rl,mimeType:y(),annotations:zn.optional(),_meta:_e(y(),ge()).optional()}),_E=P({type:C("tool_use"),name:y(),id:y(),input:_e(y(),ge()),_meta:_e(y(),ge()).optional()}),yE=P({type:C("resource"),resource:le([jh,Mh]),annotations:zn.optional(),_meta:_e(y(),ge()).optional()}),xE=Dh.extend({type:C("resource_link")}),al=le([ol,sl,il,xE,yE]),vE=P({role:Do,content:al}),SE=Ne.extend({description:y().optional(),messages:G(vE)}),kE=dt.extend({method:C("notifications/prompts/list_changed"),params:lt.optional()}),bE=P({title:y().optional(),readOnlyHint:Re().optional(),destructiveHint:Re().optional(),idempotentHint:Re().optional(),openWorldHint:Re().optional()}),wE=P({taskSupport:Qe(["required","optional","forbidden"]).optional()}),Lh=P({...Cn.shape,...zo.shape,description:y().optional(),inputSchema:P({type:C("object"),properties:_e(y(),Ie).optional(),required:G(y()).optional()}).catchall(ge()),outputSchema:P({type:C("object"),properties:_e(y(),Ie).optional(),required:G(y()).optional()}).catchall(ge()).optional(),annotations:bE.optional(),execution:wE.optional(),_meta:_e(y(),ge()).optional()}),vi=No.extend({method:C("tools/list")}),EE=Ao.extend({tools:G(Lh)}),Si=Ne.extend({content:G(al).default([]),structuredContent:_e(y(),ge()).optional(),isError:Re().optional()}),fA=Si.or(Ne.extend({toolResult:ge()})),TE=Co.extend({name:y(),arguments:_e(y(),ge()).optional()}),Mn=ze.extend({method:C("tools/call"),params:TE}),$E=dt.extend({method:C("notifications/tools/list_changed"),params:lt.optional()}),mA=P({autoRefresh:Re().default(!0),debounceMs:re().int().nonnegative().default(300)}),Lo=Qe(["debug","info","notice","warning","error","critical","alert","emergency"]),PE=it.extend({level:Lo}),cl=ze.extend({method:C("logging/setLevel"),params:PE}),RE=lt.extend({level:Lo,logger:y().optional(),data:ge()}),OE=dt.extend({method:C("notifications/message"),params:RE}),CE=P({name:y().optional()}),IE=P({hints:G(CE).optional(),costPriority:re().min(0).max(1).optional(),speedPriority:re().min(0).max(1).optional(),intelligencePriority:re().min(0).max(1).optional()}),zE=P({mode:Qe(["auto","required","none"]).optional()}),NE=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:Re().optional(),_meta:_e(y(),ge()).optional()}),AE=Vu("type",[ol,sl,il]),si=Vu("type",[ol,sl,il,_E,NE]),jE=P({role:Do,content:le([si,G(si)]),_meta:_e(y(),ge()).optional()}),ME=Co.extend({messages:G(jE),modelPreferences:IE.optional(),systemPrompt:y().optional(),includeContext:Qe(["none","thisServer","allServers"]).optional(),temperature:re().optional(),maxTokens:re().int(),stopSequences:G(y()).optional(),metadata:Ie.optional(),tools:G(Lh).optional(),toolChoice:zE.optional()}),DE=ze.extend({method:C("sampling/createMessage"),params:ME}),ul=Ne.extend({model:y(),stopReason:xe(Qe(["endTurn","stopSequence","maxTokens"]).or(y())),role:Do,content:AE}),ll=Ne.extend({model:y(),stopReason:xe(Qe(["endTurn","stopSequence","maxTokens","toolUse"]).or(y())),role:Do,content:le([si,G(si)])}),LE=P({type:C("boolean"),title:y().optional(),description:y().optional(),default:Re().optional()}),ZE=P({type:C("string"),title:y().optional(),description:y().optional(),minLength:re().optional(),maxLength:re().optional(),format:Qe(["email","uri","date","date-time"]).optional(),default:y().optional()}),UE=P({type:Qe(["number","integer"]),title:y().optional(),description:y().optional(),minimum:re().optional(),maximum:re().optional(),default:re().optional()}),HE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),default:y().optional()}),FE=P({type:C("string"),title:y().optional(),description:y().optional(),oneOf:G(P({const:y(),title:y()})),default:y().optional()}),qE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),enumNames:G(y()).optional(),default:y().optional()}),BE=le([HE,FE]),VE=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()}),KE=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()}),JE=le([VE,KE]),WE=le([qE,BE,JE]),GE=le([WE,LE,ZE,UE]),YE=Co.extend({mode:C("form").optional(),message:y(),requestedSchema:P({type:C("object"),properties:_e(y(),GE),required:G(y()).optional()})}),XE=Co.extend({mode:C("url"),message:y(),elicitationId:y(),url:y().url()}),QE=le([YE,XE]),eT=ze.extend({method:C("elicitation/create"),params:QE}),tT=lt.extend({elicitationId:y()}),rT=dt.extend({method:C("notifications/elicitation/complete"),params:tT}),ki=Ne.extend({action:Qe(["accept","decline","cancel"]),content:Ku(t=>t===null?void 0:t,_e(y(),le([y(),re(),Re(),G(y())])).optional())}),nT=P({type:C("ref/resource"),uri:y()});var oT=P({type:C("ref/prompt"),name:y()}),sT=it.extend({ref:le([oT,nT]),argument:P({name:y(),value:y()}),context:P({arguments:_e(y(),y()).optional()}).optional()}),bi=ze.extend({method:C("completion/complete"),params:sT});function Zh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function Uh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var iT=Ne.extend({completion:qe({values:G(y()).max(100),total:xe(re().int()),hasMore:xe(Re())})}),aT=P({uri:y().startsWith("file://"),name:y().optional(),_meta:_e(y(),ge()).optional()}),cT=ze.extend({method:C("roots/list"),params:it.optional()}),dl=Ne.extend({roots:G(aT)}),uT=dt.extend({method:C("notifications/roots/list_changed"),params:lt.optional()}),hA=le([li,el,bi,cl,xi,jn,Nn,An,yi,cE,lE,Mn,vi,pi,mi,hi,_i]),gA=le([ui,di,tl,uT,Mo]),_A=le([ci,ul,ll,ki,dl,fi,gi,In]),yA=le([li,DE,eT,cT,pi,mi,hi,_i]),xA=le([ui,di,OE,pE,iE,$E,kE,Mo,rT]),vA=le([ci,Ww,iT,SE,hE,rE,nE,sE,Si,EE,fi,gi,In]),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 Fh=Symbol("Let zodToJsonSchema decide on which parser to use");var Hh={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"},qh=t=>typeof t=="string"?{...Hh,name:t}:{...Hh,...t};var Bh=t=>{let e=qh(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 pl(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function Y(t,e,r,n,o){t[e]=r,pl(t,e,n,o)}var wi=(t,e)=>{let r=0;for(;rM(t.innerType._def,e);function fl(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>fl(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 lT(t,e)}}var lT=(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 Gh(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function Yh(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):ye(e)}function Xh(t){return{type:"string",enum:Array.from(t.values)}}var dT=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Qh(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(dT(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 eg(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 ml,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:()=>(ml===void 0&&(ml=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),ml),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 Ti(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(`^${hl(n.value,e)}`),n.message,e);break;case"endsWith":Be(r,RegExp(`${hl(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(hl(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 hl(t,e){return e.patternStrategy==="escape"?fT(t):t}var pT=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function fT(t){let e="";for(let r=0;ro.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:tg(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):Y(t,"pattern",tg(e,n),r,n)}function tg(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,[o]:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??xe(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 rg(t,e){if(e.mapStrategy==="record")return Pi(t,e);let r=M(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||xe(e),n=M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||xe(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function ng(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 og(t){return t.target==="openAi"?void 0:{not:xe({...t,currentPath:[...t.currentPath,"not"]})}}function sg(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Ho={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ag(t,e){if(e.target==="openApi3")return ig(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Ho&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Ho[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 ig(t,e)}var ig=(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 cg(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:Ho[t.innerType._def.typeName],nullable:!0}:{type:[Ho[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 ug(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 lg(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=gT(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=hT(t,e);return i!==void 0&&(n.additionalProperties=i),n}function hT(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 gT(t){try{return t.isOptional()}catch{return!0}}var dg=(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:xe(e)},r]}:xe(e)};var pg=(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 fg(t,e){return M(t.type._def,e)}function mg(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 hg(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 gg(t){return{not:xe(t)}}function _g(t){return xe(t)}var yg=(t,e)=>M(t.innerType._def,e);var xg=(t,e,r)=>{switch(e){case b.ZodString:return $i(t,r);case b.ZodNumber:return ug(t,r);case b.ZodObject:return lg(t,r);case b.ZodBigInt:return Kh(t,r);case b.ZodBoolean:return Jh();case b.ZodDate:return pl(t,r);case b.ZodUndefined:return gg(r);case b.ZodNull:return sg(r);case b.ZodArray:return Vh(t,r);case b.ZodUnion:case b.ZodDiscriminatedUnion:return ag(t,r);case b.ZodIntersection:return Qh(t,r);case b.ZodTuple:return hg(t,r);case b.ZodRecord:return Pi(t,r);case b.ZodLiteral:return eg(t,r);case b.ZodEnum:return Xh(t);case b.ZodNativeEnum:return ng(t);case b.ZodNullable:return cg(t,r);case b.ZodOptional:return dg(t,r);case b.ZodMap:return rg(t,r);case b.ZodSet:return mg(t,r);case b.ZodLazy:return()=>t.getter()._def;case b.ZodPromise:return fg(t,r);case b.ZodNaN:case b.ZodNever:return og(r);case b.ZodEffects:return Yh(t,r);case b.ZodAny:return xe(r);case b.ZodUnknown:return _g(r);case b.ZodDefault:return Gh(t,r);case b.ZodBranded:return Ti(t,r);case b.ZodReadonly:return yg(t,r);case b.ZodCatch:return Wh(t,r);case b.ZodPipeline:return pg(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!==qh)return a}if(n&&!r){let a=_T(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=xg(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&yT(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var _T=(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.lengthe.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),xe(e)):e.$refStrategy==="seen"?xe(e):void 0}},yT=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var hl=(t,e)=>{let r=Bh(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)??xe(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)??xe(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 xT(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:xT(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 vT=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),zo(s)||Ch(s)?this._onresponse(s):Yu(s)?this._onrequest(s,i):Oh(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=$h(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),zo(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(zo(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),zo(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,In,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=x=>{l(x)};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(x){d(x);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=x=>{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(x)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>this._onerror(new Error(`Failed to send cancellation: ${w}`)));let S=x instanceof O?x:new O(N.RequestTimeout,String(x));l(S)};this._responseHandlers.set(f,x=>{if(!n?.signal?.aborted){if(x instanceof Error)return l(x);try{let S=lr(r,x.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??vT,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 x=S=>{let w=this._responseHandlers.get(f);w?w(S):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,x),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(x=>{this._cleanupTimeout(f),l(x)})})}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},Nh,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=Do.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=Do.parse({method:"notifications/tasks/status",params:c});await this.notification(u),fr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function vg(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Sg(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];vg(i)&&vg(s)?r[o]={...i,...s}:r[o]=s}return r}var ax=Tf(np(),1),cx=Tf(ix(),1);function dC(){let t=new ax.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,cx.default)(t),t}var da=class{constructor(e){this._ajv=e??dC()}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},Uo,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},Dn,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 ux(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 lx(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(Zo.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._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=Zo.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=Sg(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(Mn,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(In,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){lx(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&ux(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:wh.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},Uo,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},Dn,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},Dn,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 px=Symbol.for("mcp.completable");function dp(t){return!!t&&typeof t=="object"&&px in t}function fx(t){return t[px]?.complete}var dx;(function(t){t.Completable="McpCompletable"})(dx||(dx={}));var pC=/^[A-Za-z0-9._-]{1,128}$/;function fC(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"),!pC.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 mC(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=fC(t);return mC(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(Mn)),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=On(r.inputSchema);return o?gl(o,{strictUnions:!0,pipeStrategy:"input"}):hC})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=On(r.outputSchema);o&&(n.outputSchema=gl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Mn,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=On(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=On(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 Zh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return Uh(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 ys;let s=dr(n.argsSchema)?.[e.params.argument.name];if(!dp(s))return ys;let i=fx(s);if(!i)return ys;let a=await i(e.params.argument.value,e.params.context);return hx(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 ys;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 ys;let s=await o(e.params.argument.value,e.params.context);return hx(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(Nn)),this.server.assertCanSetRequestHandler(kr(An)),this.server.assertCanSetRequestHandler(kr(vi)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Nn,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(An,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(jn)),this.server.assertCanSetRequestHandler(kr(Si)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(jn,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?gC(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=On(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:Qr(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=Qr(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 Ye?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:mx(o),outputSchema:mx(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=Qr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Qr(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 hC={type:"object",properties:{}};function gx(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function _x(t){return"_def"in t||"_zod"in t||gx(t)}function fp(t){return typeof t!="object"||t===null||_x(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(gx)}function mx(t){if(t){if(fp(t))return Qr(t);if(!_x(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function gC(t){let e=dr(t);return e?Object.entries(e).map(([r,n])=>{let o=eh(n),s=th(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 hx(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var ys={completion:{values:[],hasMore:!1}};import xx 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(` -`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),_C(r)}clear(){this._buffer=void 0}};function _C(t){return Ih.parse(JSON.parse(t))}function yx(t){return JSON.stringify(t)+` -`}var _a=class{constructor(e=xx.stdin,r=xx.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=yx(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as pS}from"node:module";import{createHash as VI}from"node:crypto";import{existsSync as Je,unlinkSync as Tr,readdirSync as KI,readFileSync as fS,writeFileSync as mS,rmSync as gf,mkdirSync as yf,cpSync as JI,statSync as aS}from"node:fs";import{execSync as Er}from"node:child_process";import{join as he,dirname as $r,resolve as nr}from"node:path";import{fileURLToPath as WI}from"node:url";import{homedir as xf,tmpdir as vf}from"node:os";import{request as GI}from"node:https";import{spawn as vC,execSync as SC,execFileSync as Px}from"node:child_process";import{mkdtempSync as kC,writeFileSync as Ex,rmSync as Tx,existsSync as $x}from"node:fs";import{join as va,resolve as Rx}from"node:path";import{tmpdir as bC}from"node:os";import{execSync as mp}from"node:child_process";import{existsSync as vx}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 Sx(){if(Me("bun"))return!0;if(!hp){let t=process.env.HOME??process.env.USERPROFILE??"";if(t&&vx(`${t}/.bun/bin/bun`))return!0}return!1}function yC(){return Me("bun")?"bun":`${process.env.HOME??process.env.USERPROFILE??""}/.bun/bin/bun`}function xC(){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(vx(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=Sx()?yC():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?xC()??(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 Sx()}function kx(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(` -`)}function bx(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 wx(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",wC=(()=>{if(gt)return process.env.TEMP??process.env.TMP??bC();try{let t=Px(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:Rx(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();function gp(t){if(gt&&t.pid)try{SC(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var xs=class{#e;#t;#n;#o=new Set;constructor(e){this.#e=e?.hardCapBytes??100*1024*1024,this.#t=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??ya()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(gt?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=kC(va(wC,".ctx-mode-"));try{let a=this.#i(i,n,r),c=wx(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#t:i,l=await this.#s(c,u,i,o,s);if(!l.backgrounded)try{Tx(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{Tx(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=Rx(this.#t,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(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 +]`;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 $i(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}=Ti(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}=Ei(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function rg(t,e){if(e.mapStrategy==="record")return $i(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 ng(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 og(t){return t.target==="openAi"?void 0:{not:ye({...t,currentPath:[...t.currentPath,"not"]})}}function sg(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Zo={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ag(t,e){if(e.target==="openApi3")return ig(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 ig(t,e)}var ig=(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 cg(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 ug(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",pl(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 lg(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=hT(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=mT(t,e);return i!==void 0&&(n.additionalProperties=i),n}function mT(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 hT(t){try{return t.isOptional()}catch{return!0}}var dg=(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 pg=(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 fg(t,e){return M(t.type._def,e)}function mg(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 hg(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 gg(t){return{not:ye(t)}}function _g(t){return ye(t)}var yg=(t,e)=>M(t.innerType._def,e);var xg=(t,e,r)=>{switch(e){case b.ZodString:return Ti(t,r);case b.ZodNumber:return ug(t,r);case b.ZodObject:return lg(t,r);case b.ZodBigInt:return Kh(t,r);case b.ZodBoolean:return Jh();case b.ZodDate:return fl(t,r);case b.ZodUndefined:return gg(r);case b.ZodNull:return sg(r);case b.ZodArray:return Vh(t,r);case b.ZodUnion:case b.ZodDiscriminatedUnion:return ag(t,r);case b.ZodIntersection:return Qh(t,r);case b.ZodTuple:return hg(t,r);case b.ZodRecord:return $i(t,r);case b.ZodLiteral:return eg(t,r);case b.ZodEnum:return Xh(t);case b.ZodNativeEnum:return ng(t);case b.ZodNullable:return cg(t,r);case b.ZodOptional:return dg(t,r);case b.ZodMap:return rg(t,r);case b.ZodSet:return mg(t,r);case b.ZodLazy:return()=>t.getter()._def;case b.ZodPromise:return fg(t,r);case b.ZodNaN:case b.ZodNever:return og(r);case b.ZodEffects:return Yh(t,r);case b.ZodAny:return ye(r);case b.ZodUnknown:return _g(r);case b.ZodDefault:return Gh(t,r);case b.ZodBranded:return Ei(t,r);case b.ZodReadonly:return yg(t,r);case b.ZodCatch:return Wh(t,r);case b.ZodPipeline:return pg(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!==Fh)return a}if(n&&!r){let a=gT(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=xg(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&_T(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var gT=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:wi(e.currentPath,t.path)};case"none":case"seen":return t.path.lengthe.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),ye(e)):e.$refStrategy==="seen"?ye(e):void 0}},_T=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var gl=(t,e)=>{let r=Bh(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 yT(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function _l(t,e){return ut(t)?Mu(t,{target:yT(e?.target),io:e?.pipeStrategy??"input"}):gl(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function yl(t){let r=dr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=ri(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function xl(t,e){let r=lr(t,e);if(!r.success)throw r.error;return r.data}var xT=6e4,Pi=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(ui,r=>{this._oncancel(r)}),this.setNotificationHandler(di,r=>{this._onprogress(r)}),this.setRequestHandler(li,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(pi,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(mi,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(hi,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(_i,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),Io(s)||Ch(s)?this._onresponse(s):Yu(s)?this._onrequest(s,i):Oh(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._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=$h(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.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),Io(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(Io(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),Io(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,In,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=x=>{l(x)};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(x){d(x);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=x=>{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(x)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>this._onerror(new Error(`Failed to send cancellation: ${w}`)));let S=x instanceof O?x:new O(N.RequestTimeout,String(x));l(S)};this._responseHandlers.set(f,x=>{if(!n?.signal?.aborted){if(x instanceof Error)return l(x);try{let S=lr(r,x.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??xT,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 x=S=>{let w=this._responseHandlers.get(f);w?w(S):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,x),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(x=>{this._cleanupTimeout(f),l(x)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},fi,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},gi,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Nh,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=yl(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=xl(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=yl(e);this._notificationHandlers.set(n,o=>{let s=xl(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=Mo.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=Mo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),fr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function vg(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Sg(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];vg(i)&&vg(s)?r[o]={...i,...s}:r[o]=s}return r}var ax=$f(op(),1),cx=$f(ix(),1);function lC(){let t=new ax.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,cx.default)(t),t}var la=class{constructor(e){this._ajv=e??lC()}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 da=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}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 ux(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 lx(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 pa=class extends Pi{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Lo.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._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=Lo.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new da(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Sg(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(Mn,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(In,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(Si,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){lx(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&ux(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:wh.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"},ci)}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},ll,r):this.request({method:"sampling/createMessage",params:e},ul,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},ki,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},ki,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},dl,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 px=Symbol.for("mcp.completable");function pp(t){return!!t&&typeof t=="object"&&px in t}function fx(t){return t[px]?.complete}var dx;(function(t){t.Completable="McpCompletable"})(dx||(dx={}));var dC=/^[A-Za-z0-9._-]{1,128}$/;function pC(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"),!dC.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 fC(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 fp(t){let e=pC(t);return fC(t,e.warnings),e.isValid}var fa=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 ma=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 pa(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new fa(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(vi)),this.server.assertCanSetRequestHandler(kr(Mn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(vi,()=>({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=On(r.inputSchema);return o?_l(o,{strictUnions:!0,pipeStrategy:"input"}):mC})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=On(r.outputSchema);o&&(n.outputSchema=_l(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Mn,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=On(e.inputSchema)??e.inputSchema,i=await ei(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ti(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=On(e.outputSchema),s=await ei(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ti(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(bi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(bi,async e=>{switch(e.params.ref.type){case"ref/prompt":return Zh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return Uh(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(!pp(s))return gs;let i=fx(s);if(!i)return gs;let a=await i(e.params.argument.value,e.params.context);return hx(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 hx(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(Nn)),this.server.assertCanSetRequestHandler(kr(An)),this.server.assertCanSetRequestHandler(kr(yi)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Nn,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(An,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(yi,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(jn)),this.server.assertCanSetRequestHandler(kr(xi)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(jn,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?gC(r.argsSchema):void 0}))})),this.server.setRequestHandler(xi,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=On(n.argsSchema),s=await ei(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ti(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:Qr(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=Qr(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 Ye?c._def?.innerType:c;return pp(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){fp(e);let l={title:r,description:n,inputSchema:mx(o),outputSchema:mx(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"&&fp(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=Qr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Qr(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];mp(c)?(o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!mp(r[0])&&(i=r.shift())):typeof c=="object"&&c!==null&&(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 mC={type:"object",properties:{}};function gx(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function hC(t){return"_def"in t||"_zod"in t||gx(t)}function mp(t){return typeof t!="object"||t===null||hC(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(gx)}function mx(t){if(t)return mp(t)?Qr(t):t}function gC(t){let e=dr(t);return e?Object.entries(e).map(([r,n])=>{let o=th(n),s=rh(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=ri(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function hx(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var gs={completion:{values:[],hasMore:!1}};import yx from"node:process";var ha=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` +`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),_C(r)}clear(){this._buffer=void 0}};function _C(t){return Ih.parse(JSON.parse(t))}function _x(t){return JSON.stringify(t)+` +`}var ga=class{constructor(e=yx.stdin,r=yx.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new ha,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=_x(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as dS}from"node:module";import{createHash as VI}from"node:crypto";import{existsSync as Je,unlinkSync as Tr,readdirSync as KI,readFileSync as pS,writeFileSync as fS,rmSync as _f,mkdirSync as xf,cpSync as JI,statSync as iS}from"node:fs";import{execSync as Er}from"node:child_process";import{join as me,dirname as $r,resolve as nr}from"node:path";import{fileURLToPath as WI}from"node:url";import{homedir as vf,tmpdir as Sf}from"node:os";import{request as GI}from"node:https";import{spawn as vC,execSync as SC,execFileSync as $x}from"node:child_process";import{mkdtempSync as kC,writeFileSync as wx,rmSync as Ex,existsSync as Tx}from"node:fs";import{join as xa,resolve as Px}from"node:path";import{tmpdir as bC}from"node:os";import{execSync as hp}from"node:child_process";import{existsSync as xx}from"node:fs";var gp=process.platform==="win32";function Me(t){try{let e=gp?`where ${t}`:`command -v ${t}`;return hp(e,{stdio:"pipe"}),!0}catch{return!1}}function vx(){if(Me("bun"))return!0;if(!gp){let t=process.env.HOME??process.env.USERPROFILE??"";if(t&&xx(`${t}/.bun/bin/bun`))return!0}return!1}function yC(){return Me("bun")?"bun":`${process.env.HOME??process.env.USERPROFILE??""}/.bun/bin/bun`}function xC(){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(xx(e))return e;try{let r=hp("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 hp(`${t} --version`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function _a(){let e=vx()?yC():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:gp?xC()??(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 ya(){return vx()}function Sx(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(` +`)}function kx(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 bx(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",wC=(()=>{if(gt)return process.env.TEMP??process.env.TMP??bC();try{let t=$x(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:Px(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();function _p(t){if(gt&&t.pid)try{SC(`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;#n;#o=new Set;constructor(e){this.#e=e?.hardCapBytes??100*1024*1024,this.#t=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??_a()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(gt?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=kC(xa(wC,".ctx-mode-"));try{let a=this.#i(i,n,r),c=bx(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#t:i,l=await this.#s(c,u,i,o,s);if(!l.backgrounded)try{Ex(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{Ex(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=Px(this.#t,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(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 import "fmt" @@ -65,12 +65,12 @@ func main() { ${r} } `),n==="php"&&!r.trimStart().startsWith(" Enum.each(&Code.prepend_path/1) -${r}`);let s=va(e,`script.${o[n]}`);return n==="shell"?Ex(s,r,{encoding:"utf-8",mode:448}):Ex(s,r,"utf-8"),s}async#a(e,r,n){let o=gt?".exe":"",s=e.replace(/\.rs$/,"")+o;try{Px("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: -${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,r,n)}async#s(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(x=>x.replace(/\\/g,"/")):e.slice(1);let l=vC(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(n),shell:a,detached:!gt}),d=!1,f=!1,m=setTimeout(()=>{if(d=!0,s){f=!0,l.pid&&this.#o.add(l.pid),l.unref(),l.stdout.destroy(),l.stderr.destroy();let x=Buffer.concat(p).toString("utf-8"),S=Buffer.concat(h).toString("utf-8");i({stdout:x,stderr:S,exitCode:0,timedOut:!0,backgrounded:!0})}else gp(l)},o),p=[],h=[],g=0,_=!1;l.stdout.on("data",x=>{g+=x.length,g<=this.#e?p.push(x):_||(_=!0,gp(l))}),l.stderr.on("data",x=>{g+=x.length,g<=this.#e?h.push(x):_||(_=!0,gp(l))}),l.on("close",x=>{if(clearTimeout(m),f)return;let S=Buffer.concat(p).toString("utf-8"),w=Buffer.concat(h).toString("utf-8");_&&(w+=` -[output capped at ${(this.#e/1024/1024).toFixed(0)}MB \u2014 process killed]`),i({stdout:S,stderr:w,exitCode:d?1:x??1,timedOut:d})}),l.on("error",x=>{clearTimeout(m),!f&&i({stdout:"",stderr:x.message,exitCode:1,timedOut:!1})})})}#c(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($x(i)){o.SSL_CERT_FILE=i;break}}return o}#u(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o}; +${r}`);let s=xa(e,`script.${o[n]}`);return n==="shell"?wx(s,r,{encoding:"utf-8",mode:448}):wx(s,r,"utf-8"),s}async#a(e,r,n){let o=gt?".exe":"",s=e.replace(/\.rs$/,"")+o;try{$x("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: +${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,r,n)}async#s(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(x=>x.replace(/\\/g,"/")):e.slice(1);let l=vC(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(n),shell:a,detached:!gt}),d=!1,f=!1,m=setTimeout(()=>{if(d=!0,s){f=!0,l.pid&&this.#o.add(l.pid),l.unref(),l.stdout.destroy(),l.stderr.destroy();let x=Buffer.concat(p).toString("utf-8"),S=Buffer.concat(h).toString("utf-8");i({stdout:x,stderr:S,exitCode:0,timedOut:!0,backgrounded:!0})}else _p(l)},o),p=[],h=[],g=0,_=!1;l.stdout.on("data",x=>{g+=x.length,g<=this.#e?p.push(x):_||(_=!0,_p(l))}),l.stderr.on("data",x=>{g+=x.length,g<=this.#e?h.push(x):_||(_=!0,_p(l))}),l.on("close",x=>{if(clearTimeout(m),f)return;let S=Buffer.concat(p).toString("utf-8"),w=Buffer.concat(h).toString("utf-8");_&&(w+=` +[output capped at ${(this.#e/1024/1024).toFixed(0)}MB \u2014 process killed]`),i({stdout:S,stderr:w,exitCode:d?1:x??1,timedOut:d})}),l.on("error",x=>{clearTimeout(m),!f&&i({stdout:"",stderr:x.message,exitCode:1,timedOut:!1})})})}#c(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(Tx(i)){o.SSL_CERT_FILE=i;break}}return o}#u(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o}; const file_path = FILE_CONTENT_PATH; const FILE_CONTENT = require("fs").readFileSync(FILE_CONTENT_PATH, "utf-8"); ${n}`;case"python":return`FILE_CONTENT_PATH = ${o} @@ -125,7 +125,7 @@ FILE_CONTENT <- paste(FILE_CONTENT, collapse="\\n") ${n}`;case"elixir":return`file_content_path = ${o} file_path = file_content_path file_content = File.read!(file_content_path) -${n}`}}};import{createRequire as EC}from"node:module";import{existsSync as TC,unlinkSync as Ox,renameSync as $L}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;sr.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()}},ro=null;function Ss(){if(!ro){let t=EC(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;ro=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(":"));ro=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new yp(s)}}catch{ro=t("better-sqlite3")}else ro=t("better-sqlite3")}return ro}function xp(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function vp(t){if(!TC(t))for(let e of["-wal","-shm"])try{Ox(t+e)}catch{}}function Cx(t){for(let e of["","-wal","-shm"])try{Ox(t+e)}catch{}}function Sp(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function no(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{let t=globalThis;return t[vs]||(t[vs]=new Set,process.on("exit",()=>{for(let e of t[vs])Sp(e);t[vs].clear()})),t[vs]})();import{readFileSync as $C,readdirSync as Ax,unlinkSync as bp,existsSync as zx,statSync as kp}from"node:fs";import{tmpdir as jx}from"node:os";import{join as wp}from"node:path";var oo=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 Mx(t){let e=new Set,r=[];for(let n of t){let o=n.toLowerCase();e.has(o)||(e.add(o),r.push(n))}return r}function PC(t,e="AND"){let r=Mx(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=>!oo.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function RC(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=Mx(r.split(/\s+/).filter(i=>i.length>=3));if(n.length===0)return"";let o=n.filter(i=>!oo.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function OC(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 CC(t){return t<=4?1:t<=12?2:3}var Nx=4096;function Ep(){let t=jx(),e=0;try{let r=Ax(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(!zx(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=Ax(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=wp(t,s),c=kp(i).mtimeMs0&&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 IC(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function zC(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;cs&&(s=u)}let a=s-o;if(a=e[i].length)break}return n}var Sa=class t{#e;#t;#n;#o;#i;#a;#s;#c;#u;#p;#f;#m;#h;#g;#_;#y;#x;#v;#S;#k;#b;#w;#E;#T;#$;#P;#R;#O;#C;#I;#z;#N;#A=0;static OPTIMIZE_EVERY=50;#r=new Map;static FUZZY_CACHE_SIZE=256;constructor(e){let r=Ss();this.#t=e??wp(jx(),`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(Ix(s)){Cx(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.#U(),this.#H()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{bp(this.#t+e)}catch{}}#U(){this.#e.exec(` +${n}`}}};import{createRequire as EC}from"node:module";import{existsSync as TC,unlinkSync as Rx,renameSync as TL}from"node:fs";var 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){let r="",n=null;for(let s=0;sr.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()}},xp=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()}},to=null;function xs(){if(!to){let t=EC(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;to=function(n,o){let s=new e(n,{readonly:o?.readonly,create:!0}),i=new yp(s);return o?.timeout&&i.pragma(`busy_timeout = ${o.timeout}`),i}}else if(process.platform==="linux")try{let{DatabaseSync:e}=t(["node","sqlite"].join(":"));to=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new xp(s)}}catch{to=t("better-sqlite3")}else to=t("better-sqlite3")}return to}function vp(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function Sp(t){if(!TC(t))for(let e of["-wal","-shm"])try{Rx(t+e)}catch{}}function Ox(t){for(let e of["","-wal","-shm"])try{Rx(t+e)}catch{}}function kp(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function ro(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{let t=globalThis;return t[ys]||(t[ys]=new Set,process.on("exit",()=>{for(let e of t[ys])kp(e);t[ys].clear()})),t[ys]})();import{readFileSync as $C,readdirSync as Nx,unlinkSync as wp,existsSync as Ix,statSync as bp}from"node:fs";import{tmpdir as Ax}from"node:os";import{join as Ep}from"node:path";var no=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 jx(t){let e=new Set,r=[];for(let n of t){let o=n.toLowerCase();e.has(o)||(e.add(o),r.push(n))}return r}function PC(t,e="AND"){let r=jx(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=>!no.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function RC(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=jx(r.split(/\s+/).filter(i=>i.length>=3));if(n.length===0)return"";let o=n.filter(i=>!no.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function OC(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 CC(t){return t<=4?1:t<=12?2:3}var zx=4096;function Tp(){let t=Ax(),e=0;try{let r=Nx(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=Ep(t,n);for(let a of["","-wal","-shm"])try{wp(i+a)}catch{}e++}}}catch{}return e}function $p(t,e){let r=0;try{if(!Ix(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=Nx(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=Ep(t,s),c=bp(i).mtimeMs0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{wp(i+u)}catch{}r++}}catch{}}catch{}return r}function IC(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function zC(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;cs&&(s=u)}let a=s-o;if(a=e[i].length)break}return n}var va=class t{#e;#t;#n;#o;#i;#a;#s;#c;#u;#p;#f;#m;#h;#g;#_;#y;#x;#v;#S;#k;#b;#w;#E;#T;#$;#P;#R;#O;#C;#I;#z;#N;#A=0;static OPTIMIZE_EVERY=50;#r=new Map;static FUZZY_CACHE_SIZE=256;constructor(e){let r=xs();this.#t=e??Ep(Ax(),`context-mode-${process.pid}.db`),Sp(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),vp(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(Cx(s)){Ox(this.#t),Sp(this.#t);try{n=new r(this.#t,{timeout:3e4}),vp(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.#U(),this.#H()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{wp(this.#t+e)}catch{}}#U(){this.#e.exec(` CREATE TABLE IF NOT EXISTS sources ( id INTEGER PRIMARY KEY AUTOINCREMENT, label TEXT NOT NULL, @@ -320,7 +320,7 @@ ${n}`}}};import{createRequire as EC}from"node:module";import{existsSync as TC,un (SELECT COUNT(*) FROM sources) AS sources, (SELECT COUNT(*) FROM chunks) AS chunks, (SELECT COUNT(*) FROM chunks WHERE content_type = 'code') AS codeChunks - `),this.#I=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#z=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#N=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??$C(n,"utf-8"),i=o??n??"untitled",a=this.#F(s);return no(()=>this.#l(a,i,s))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#B(e,n);return no(()=>this.#l(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=Nx){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.#Z(o,[],s,n),s.length===0?this.indexPlainText(e,r):no(()=>this.#l(s,r,e))}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#c.run(r),this.#u.run(r),this.#p.run(r),e.length===0){let u=this.#n.run(r);return Number(u.lastInsertRowid)}let a=this.#o.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#i.run(u.title,u.content,c,l),this.#a.run(u.title,u.content,c,l)}return c})();return n&&this.#q(n),this.#A++,this.#A%t.OPTIMIZE_EVERY===0&&this.#L(),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}#j(e){return e.map(r=>({title:r.title,content:r.content,source:r.label,rank:r.rank,contentType:r.content_type,highlighted:r.highlighted}))}#d(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=PC(e,o),c,u;return n&&s?(c=i==="exact"?this.#k:this.#S,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#h:this.#m,u=[a,this.#d(n,i),r]):s?(c=this.#v,u=[a,s,r]):(c=this.#f,u=[a,r]),no(()=>this.#j(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=RC(e,o);if(!a)return[];let c,u;return n&&s?(c=i==="exact"?this.#E:this.#w,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#y:this.#_,u=[a,this.#d(n,i),r]):s?(c=this.#b,u=[a,s,r]):(c=this.#g,u=[a,r]),no(()=>this.#j(c.all(...u)))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;if(this.#r.has(r)){let u=this.#r.get(r)??null;return this.#r.delete(r),this.#r.set(r,u),u}let n=CC(r.length),o=this.#x.all(r.length-n,r.length+n),s=null,i=n+1,a=!1;for(let{word:u}of o){if(u===r){a=!0;break}let l=OC(r,u);l=t.FUZZY_CACHE_SIZE){let u=this.#r.keys().next().value;u!==void 0&&this.#r.delete(u)}return this.#r.set(r,c),c}#M(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}))}#D(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!oo.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=>IC(f,p));m.some(p=>p.length===0)||(d=1/(1+zC(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.#M(e,r,n,o,s);if(i.length>0)return this.#D(i,e).map(f=>({...f,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!oo.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#M(l,r,n,o,s);if(d.length>0)return this.#D(d,l).map(m=>({...m,matchLayer:"rrf-fuzzy"}))}return[]}getSourceMeta(e){let r=this.#C.get(e);return r?{label:r.label,chunkCount:r.chunk_count,codeChunkCount:r.code_chunk_count,indexedAt:r.indexed_at}:null}listSources(){return this.#T.all()}getChunksBySource(e){return this.#$.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.#P.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.#R.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!oo.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.#O.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}cleanupStaleSources(e){return this.#e.transaction(o=>(this.#I.run(o),this.#z.run(o),this.#N.run(o)))(e).changes}getDBSizeBytes(){try{return kp(this.#t).size}catch{return 0}}#L(){try{this.#e.exec("INSERT INTO chunks(chunks) VALUES('optimize')"),this.#e.exec("INSERT INTO chunks_trigram(chunks_trigram) VALUES('optimize')")}catch{}}close(){this.#L(),Sp(this.#e)}#q(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(s=>s.length>=3&&!oo.has(s)),n=[...new Set(r)],o=0;this.#e.transaction(()=>{for(let s of n){let i=this.#s.run(s);o+=i.changes}})(),o>0&&this.#r.clear()}#F(e,r=Nx){let n=[],o=e.split(` + `),this.#I=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#z=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#N=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??$C(n,"utf-8"),i=o??n??"untitled",a=this.#q(s);return ro(()=>this.#l(a,i,s))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#B(e,n);return ro(()=>this.#l(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=zx){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.#Z(o,[],s,n),s.length===0?this.indexPlainText(e,r):ro(()=>this.#l(s,r,e))}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#c.run(r),this.#u.run(r),this.#p.run(r),e.length===0){let u=this.#n.run(r);return Number(u.lastInsertRowid)}let a=this.#o.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#i.run(u.title,u.content,c,l),this.#a.run(u.title,u.content,c,l)}return c})();return n&&this.#F(n),this.#A++,this.#A%t.OPTIMIZE_EVERY===0&&this.#L(),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}#j(e){return e.map(r=>({title:r.title,content:r.content,source:r.label,rank:r.rank,contentType:r.content_type,highlighted:r.highlighted}))}#d(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=PC(e,o),c,u;return n&&s?(c=i==="exact"?this.#k:this.#S,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#h:this.#m,u=[a,this.#d(n,i),r]):s?(c=this.#v,u=[a,s,r]):(c=this.#f,u=[a,r]),ro(()=>this.#j(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=RC(e,o);if(!a)return[];let c,u;return n&&s?(c=i==="exact"?this.#E:this.#w,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#y:this.#_,u=[a,this.#d(n,i),r]):s?(c=this.#b,u=[a,s,r]):(c=this.#g,u=[a,r]),ro(()=>this.#j(c.all(...u)))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;if(this.#r.has(r)){let u=this.#r.get(r)??null;return this.#r.delete(r),this.#r.set(r,u),u}let n=CC(r.length),o=this.#x.all(r.length-n,r.length+n),s=null,i=n+1,a=!1;for(let{word:u}of o){if(u===r){a=!0;break}let l=OC(r,u);l=t.FUZZY_CACHE_SIZE){let u=this.#r.keys().next().value;u!==void 0&&this.#r.delete(u)}return this.#r.set(r,c),c}#M(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}))}#D(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!no.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=>IC(f,p));m.some(p=>p.length===0)||(d=1/(1+zC(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.#M(e,r,n,o,s);if(i.length>0)return this.#D(i,e).map(f=>({...f,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!no.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#M(l,r,n,o,s);if(d.length>0)return this.#D(d,l).map(m=>({...m,matchLayer:"rrf-fuzzy"}))}return[]}getSourceMeta(e){let r=this.#C.get(e);return r?{label:r.label,chunkCount:r.chunk_count,codeChunkCount:r.code_chunk_count,indexedAt:r.indexed_at}:null}listSources(){return this.#T.all()}getChunksBySource(e){return this.#$.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.#P.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.#R.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!no.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.#O.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}cleanupStaleSources(e){return this.#e.transaction(o=>(this.#I.run(o),this.#z.run(o),this.#N.run(o)))(e).changes}getDBSizeBytes(){try{return bp(this.#t).size}catch{return 0}}#L(){try{this.#e.exec("INSERT INTO chunks(chunks) VALUES('optimize')"),this.#e.exec("INSERT INTO chunks_trigram(chunks_trigram) VALUES('optimize')")}catch{}}close(){this.#L(),kp(this.#e)}#F(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(s=>s.length>=3&&!no.has(s)),n=[...new Set(r)],o=0;this.#e.transaction(()=>{for(let s of n){let i=this.#s.run(s);o+=i.changes}})(),o>0&&this.#r.clear()}#q(e,r=zx){let n=[],o=e.split(` `),s=[],i=[],a="",c=()=>{let l=i.join(` `).trim();if(l.length===0)return;let d=this.#W(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(` @@ -329,31 +329,31 @@ ${n}`}}};import{createRequire as EC}from"node:module";import{existsSync as TC,un `);Buffer.byteLength(x)>r&&p.length>1&&(p.pop(),g(),p=[_])}g(),i=[]},u=0;for(;u0&&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=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(` `)[0].slice(0,80)||`Section ${u+1}`,content:l}}).filter(c=>c.content.length>0);let o=e.split(` `);if(o.length<=r)return[{title:"Output",content:e}];let s=[],a=Math.max(r-2,1);for(let c=0;c0?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.#Z(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#J(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#V(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}#K(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])}`}#J(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#V(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#K(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;lo&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#W(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as Lx}from"node:fs";import{resolve as so}from"node:path";import{homedir as Zx}from"node:os";function Ux(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function NC(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function AC(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function Dx(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function jC(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=AC(o),a=Dx(s);r=`^${i}(\\s${a})?$`}else r=`^${Dx(t)}$`;return new RegExp(r,e?"i":"")}function MC(t,e=!1){let r="",n=0;for(;n0?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=Lx(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"&&Ux(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=so(t,".claude","settings.local.json"),i=$p(s);i&&r.push(i);let a=so(t,".claude","settings.json"),c=$p(a);c&&r.push(c)}let n=e??so(Zx(),".claude","settings.json"),o=$p(n);return o&&r.push(o),r}function Hx(t,e,r){let n=[],o=a=>{let c;try{c=Lx(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=NC(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(so(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(so(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??so(Zx(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Rp(t,e,r=process.platform==="win32"){let n=LC(t);for(let o of n)for(let s of e){let i=DC(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function qx(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(MC(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var ZC={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 UC(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 Fx(t,e){let r=ZC[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(...UC(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} +`)})}return s}#Z(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.#Z(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#J(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#V(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}#K(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])}`}#J(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#V(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#K(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;lo&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#W(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as Dx}from"node:fs";import{resolve as oo}from"node:path";import{homedir as Lx}from"node:os";function Zx(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function NC(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function AC(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function Mx(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function jC(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=AC(o),a=Mx(s);r=`^${i}(\\s${a})?$`}else r=`^${Mx(t)}$`;return new RegExp(r,e?"i":"")}function MC(t,e=!1){let r="",n=0;for(;n0?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 Pp(t){let e;try{e=Dx(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"&&Zx(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Rp(t,e){let r=[];if(t){let s=oo(t,".claude","settings.local.json"),i=Pp(s);i&&r.push(i);let a=oo(t,".claude","settings.json"),c=Pp(a);c&&r.push(c)}let n=e??oo(Lx(),".claude","settings.json"),o=Pp(n);return o&&r.push(o),r}function Ux(t,e,r){let n=[],o=a=>{let c;try{c=Dx(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=NC(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(oo(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(oo(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??oo(Lx(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Op(t,e,r=process.platform==="win32"){let n=LC(t);for(let o of n)for(let s of e){let i=DC(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function Hx(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(MC(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var ZC={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 UC(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 Fx(t,e){let r=ZC[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(...UC(t)),n}function Cp(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} stdout: ${n} stderr: -${o}`}}var HC=process.ppid;function qC(){let t=process.ppid;return!(t!==HC||t===0||t===1)}function Bx(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??qC,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 FC}from"node:crypto";import{execFileSync as BC}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=BC("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`__${FC("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var VC={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"},KC={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"},io=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),Se=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:Se,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(),x=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(),w=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 Se=K.data;K.category==="file"?Se=K.data.split("/").pop()||K.data:K.category==="prompt"&&(Se=Se.length>50?Se.slice(0,47)+"...":Se),Se.length>40&&(Se=Se.slice(0,37)+"..."),Le.add(Se)}}let Te=g.map(K=>({category:K.category,count:K.cnt,label:VC[K.category]||K.category,preview:de.get(K.category)?Array.from(de.get(K.category)).join(", "):"",why:KC[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:x,resume_ready:w}}}};function ks(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${t} B`}function JC(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 WC(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=JC(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(`${_} | ${ks(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(` -`)}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}=WC(c,i);n.push(`Without context-mode: |${d}| ${ks(c)} in your conversation`),n.push(`With context-mode: |${f}| ${ks(i)} in your conversation`),n.push("");let m=`${ks(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 x=_.context_kb*1024,S=`${_.calls} call${_.calls!==1?"s":""}`;n.push(` ${_.tool.padEnd(22)} ${S.padEnd(10)} ${ks(x)} 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 x=_.category.padEnd(9),S=String(_.count).padStart(3),w=_.preview.length>45?_.preview.slice(0,42)+"...":_.preview;n.push(` ${x} ${S} ${w.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(` -`)}var Bt=$r(WI(import.meta.url)),Pr=(()=>{for(let t of["../package.json","./package.json"]){let e=nr(Bt,t);if(Je(e))try{return JSON.parse(fS(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t} +${o}`}}var HC=process.ppid;function FC(){let t=process.ppid;return!(t!==HC||t===0||t===1)}function qx(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??FC,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 qC}from"node:crypto";import{execFileSync as BC}from"node:child_process";function Ip(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=BC("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`__${qC("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var VC={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"},KC={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"},so=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),Se=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:Se,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(),x=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(),w=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 Se=K.data;K.category==="file"?Se=K.data.split("/").pop()||K.data:K.category==="prompt"&&(Se=Se.length>50?Se.slice(0,47)+"...":Se),Se.length>40&&(Se=Se.slice(0,37)+"..."),Le.add(Se)}}let Te=g.map(K=>({category:K.category,count:K.cnt,label:VC[K.category]||K.category,preview:de.get(K.category)?Array.from(de.get(K.category)).join(", "):"",why:KC[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:x,resume_ready:w}}}};function vs(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${t} B`}function JC(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 WC(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 Sa(t,e,r){let n=[],o=JC(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(` +`)}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}=WC(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 x=_.context_kb*1024,S=`${_.calls} call${_.calls!==1?"s":""}`;n.push(` ${_.tool.padEnd(22)} ${S.padEnd(10)} ${vs(x)} 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 x=_.category.padEnd(9),S=String(_.count).padStart(3),w=_.preview.length>45?_.preview.slice(0,42)+"...":_.preview;n.push(` ${x} ${S} ${w.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(` +`)}var Bt=$r(WI(import.meta.url)),Pr=(()=>{for(let t of["../package.json","./package.json"]){let e=nr(Bt,t);if(Je(e))try{return JSON.parse(pS(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t} `)});process.on("uncaughtException",t=>{process.stderr.write(`[context-mode] uncaughtException: ${t?.message??t} -`)});var Ma=ya(),Ia=bx(Ma),De=new ha({name:"context-mode",version:Pr});De.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});De.server.setRequestHandler(jn,async()=>({prompts:[]}));De.server.setRequestHandler(Nn,async()=>({resources:[]}));De.server.setRequestHandler(An,async()=>({resourceTemplates:[]}));var Is=new xs({runtimes:Ma,projectRoot:process.env.CLAUDE_PROJECT_DIR}),Sf=he(vf(),`cm-fs-preload-${process.pid}.js`);mS(Sf,`(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){}})(); -`);var Ft=null;function YI(t){try{let e=_n();if(!Je(e))return;let r=KI(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=he(e,n);try{t.index({path:o,source:"session-events"}),Tr(o)}catch{}}}catch{}}var za=null;function _n(){if(za)return za.getSessionDir();let t=he(xf(),".claude","context-mode","sessions");return yf(t,{recursive:!0}),t}function XI(){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=XI().replace(/\\/g,"/");return VI("sha256").update(e).digest("hex").slice(0,16)}function _f(){let t=Na(),e=_n(),r=he($r(e),"content");return yf(r,{recursive:!0}),he(r,`${t}.db`)}function yn(){if(!Ft){let t=_f();Ft=new Sa(t);try{let e=$r(_f());Tp(e,14),Ft.cleanupStaleSources(14);let r=he(xf(),".context-mode","content");Je(r)&&Tp(r,0)}catch{}Ep()}return YI(Ft),Ft}var Ee={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},Rr=null,Ca=0,cS=0,QI=3,ez=3600*1e3;async function tz(){return new Promise(t=>{let e=GI("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 rz(){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 nz(){return!Rr||Rr==="unknown"?!1:Rr!==Pr}function oz(){if(!nz())return!1;let t=Date.now();if(Ca>=QI){if(t-cS0){let n=rz();e.content[0].text=`\u26A0\uFE0F context-mode v${Pr} outdated \u2192 v${Rr} available. Upgrade: ${n} +`)});var ja=_a(),Ca=kx(ja),De=new ma({name:"context-mode",version:Pr});De.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});De.server.setRequestHandler(jn,async()=>({prompts:[]}));De.server.setRequestHandler(Nn,async()=>({resources:[]}));De.server.setRequestHandler(An,async()=>({resourceTemplates:[]}));var Os=new _s({runtimes:ja,projectRoot:process.env.CLAUDE_PROJECT_DIR}),kf=me(Sf(),`cm-fs-preload-${process.pid}.js`);fS(kf,`(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){}})(); +`);var qt=null;function YI(t){try{let e=_n();if(!Je(e))return;let r=KI(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=me(e,n);try{t.index({path:o,source:"session-events"}),Tr(o)}catch{}}}catch{}}var Ia=null;function _n(){if(Ia)return Ia.getSessionDir();let t=me(vf(),".claude","context-mode","sessions");return xf(t,{recursive:!0}),t}function XI(){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 za(){let e=XI().replace(/\\/g,"/");return VI("sha256").update(e).digest("hex").slice(0,16)}function yf(){let t=za(),e=_n(),r=me($r(e),"content");return xf(r,{recursive:!0}),me(r,`${t}.db`)}function yn(){if(!qt){let t=yf();qt=new va(t);try{let e=$r(yf());$p(e,14),qt.cleanupStaleSources(14);let r=me(vf(),".context-mode","content");Je(r)&&$p(r,0)}catch{}Tp()}return YI(qt),qt}var Ee={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},Rr=null,Oa=0,aS=0,QI=3,ez=3600*1e3;async function tz(){return new Promise(t=>{let e=GI("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 rz(){let t=Ia?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function nz(){return!Rr||Rr==="unknown"?!1:Rr!==Pr}function oz(){if(!nz())return!1;let t=Date.now();if(Oa>=QI){if(t-aS0){let n=rz();e.content[0].text=`\u26A0\uFE0F context-mode v${Pr} outdated \u2192 v${Rr} available. Upgrade: ${n} -`+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 kf(t,e){try{let r=Pp(process.env.CLAUDE_PROJECT_DIR),n=Rp(t,r);if(n.decision==="deny")return D(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function hS(t,e,r){try{let n=Fx(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 D(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 sz(t,e){try{let r=Hx("Read",process.env.CLAUDE_PROJECT_DIR),n=qx(t,r);if(n.denied)return D(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}var iz=Ia.join(", "),az=xa()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",cz="",uz="";function lz(t){let e=[],r=0,n=0;for(;nd.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)+` +`+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 bf(t,e){try{let r=Rp(process.env.CLAUDE_PROJECT_DIR),n=Op(t,r);if(n.decision==="deny")return D(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function mS(t,e,r){try{let n=Fx(t,e);if(n.length===0)return null;let o=Rp(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Op(s,o);if(i.decision==="deny")return D(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 sz(t,e){try{let r=Ux("Read",process.env.CLAUDE_PROJECT_DIR),n=Hx(t,r);if(n.denied)return D(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}var iz=Ca.join(", "),az=ya()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",cz="",uz="";function lz(t){let e=[],r=0,n=0;for(;nd.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)+` \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+(ln){o.push(`## ${i} (output cap reached \u2014 use search(queries: ["${i}"]) for details) -`);continue}let a=t.searchWithFallback(i,3,r,void 0,"exact");if(o.push(`## ${i}`),o.push(""),a.length>0){for(let c of a){let u=gS(c.content,i,3e3,c.highlighted);o.push(`### ${c.title}`),o.push(u),o.push(""),s+=u.length+c.title.length}continue}o.push("No matching sections found."),o.push("")}return o.push("\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])`."),o}De.registerTool("ctx_execute",{title:"Execute Code",description:`MANDATORY: Use for any command where output exceeds 20 lines. Execute code in a sandboxed subprocess. Only stdout enters context \u2014 raw data stays in the subprocess.${az} Available: ${iz}. +`);continue}let a=t.searchWithFallback(i,3,r,void 0,"exact");if(o.push(`## ${i}`),o.push(""),a.length>0){for(let c of a){let u=hS(c.content,i,3e3,c.highlighted);o.push(`### ${c.title}`),o.push(u),o.push(""),s+=u.length+c.title.length}continue}o.push("No matching sections found."),o.push("")}return o.push("\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])`."),o}De.registerTool("ctx_execute",{title:"Execute Code",description:`MANDATORY: Use for any command where output exceeds 20 lines. Execute code in a sandboxed subprocess. Only stdout enters context \u2014 raw data stays in the subprocess.${az} Available: ${iz}. PREFER THIS OVER BASH for: API calls (gh, curl, aws), test runners (npm test, pytest), git queries (git log, git diff), data processing, and ANY CLI command that may produce large output. Bash should only be used for file mutations, git writes, and navigation. THINK IN CODE: When you need to analyze, count, filter, compare, or process data \u2014 write code that does the work and console.log() only the answer. Do NOT read raw data into context to process mentally. Program the analysis, don't compute it in your reasoning. Write robust, pure JavaScript (no npm dependencies). Use only Node.js built-ins (fs, path, child_process). Always wrap in try/catch. Handle null/undefined. Works on both Node.js and Bun.`,inputSchema:L.object({language:L.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:L.string().describe("Source code to execute. Use console.log (JS/TS), print (Python/Ruby/Perl/R), echo (Shell), echo (PHP), fmt.Println (Go), or IO.puts (Elixir) to output a summary to context."),timeout:L.coerce.number().optional().default(3e4).describe("Max execution time in ms"),background:L.boolean().optional().default(!1).describe("Keep process running after timeout (for servers/daemons). Returns partial output without killing the process. IMPORTANT: Do NOT add setTimeout/self-close timers in background scripts \u2014 the process must stay alive until the timeout detaches it. For server+fetch patterns, prefer putting both server and fetch in ONE ctx_execute call instead of using background."),intent:L.string().optional().describe(`What you're looking for in the output. When provided and output is large (>5KB), indexes output into knowledge base and returns section titles + previews \u2014 not full content. Use search(queries: [...]) to retrieve specific sections. Example: 'failing tests', 'HTTP 500 errors'. -TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=kf(e,"execute");if(s)return s}else{let s=hS(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=` +TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=bf(e,"execute");if(s)return s}else{let s=mS(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=` // FS read instrumentation \u2014 count bytes read via fs.readFileSync/readFile let __cm_fs=0; process.on('exit',()=>{if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch{}}); @@ -412,15 +412,15 @@ ${e} } __cm_main().catch(e=>{console.error(e);process.exitCode=1});${n?` setInterval(()=>{},2147483647);`:""} -})(typeof require!=='undefined'?require:null);`);let i=await Is.execute({language:t,code:s,timeout:r,background:n}),a=i.stderr?.match(/__CM_NET__:(\d+)/);a&&(Ee.bytesSandboxed+=parseInt(a[1]),i.stderr=i.stderr.replace(/\n?__CM_NET__:\d+\n?/g,""));let c=i.stderr?.match(/__CM_FS__:(\d+)/);if(c&&(Ee.bytesSandboxed+=parseInt(c[1]),i.stderr=i.stderr.replace(/\n?__CM_FS__:\d+\n?/g,"")),i.timedOut){let l=i.stdout?.trim();return i.backgrounded&&l?D("ctx_execute",{content:[{type:"text",text:`${l} +})(typeof require!=='undefined'?require:null);`);let i=await Os.execute({language:t,code:s,timeout:r,background:n}),a=i.stderr?.match(/__CM_NET__:(\d+)/);a&&(Ee.bytesSandboxed+=parseInt(a[1]),i.stderr=i.stderr.replace(/\n?__CM_NET__:\d+\n?/g,""));let c=i.stderr?.match(/__CM_FS__:(\d+)/);if(c&&(Ee.bytesSandboxed+=parseInt(c[1]),i.stderr=i.stderr.replace(/\n?__CM_FS__:\d+\n?/g,"")),i.timedOut){let l=i.stdout?.trim();return i.backgrounded&&l?D("ctx_execute",{content:[{type:"text",text:`${l} _(process backgrounded after ${r}ms \u2014 still running)_`}]}):l?D("ctx_execute",{content:[{type:"text",text:`${l} _(timed out after ${r}ms \u2014 partial output shown above)_`}]}):D("ctx_execute",{content:[{type:"text",text:`Execution timed out after ${r}ms stderr: -${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)),D("ctx_execute",{content:[{type:"text",text:mo(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>ja?(Ot(Buffer.byteLength(d)),D("ctx_execute",{content:[{type:"text",text:mo(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):D("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)),D("ctx_execute",{content:[{type:"text",text:mo(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>ja?D("ctx_execute",_S(u,`execute:${t}`)):D("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return D("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});function _S(t,e){let r=yn();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} -Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to scope results.`}]}}var Aa=5e3,ja=102400;function mo(t,e,r,n=5){let o=t.split(` +${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Cp({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>Na?(Ot(Buffer.byteLength(d)),D("ctx_execute",{content:[{type:"text",text:fo(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>Aa?(Ot(Buffer.byteLength(d)),D("ctx_execute",{content:[{type:"text",text:fo(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):D("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>Na?(Ot(Buffer.byteLength(u)),D("ctx_execute",{content:[{type:"text",text:fo(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>Aa?D("ctx_execute",gS(u,`execute:${t}`)):D("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return D("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});function gS(t,e){let r=yn();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} +Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to scope results.`}]}}var Na=5e3,Aa=102400;function fo(t,e,r,n=5){let o=t.split(` `).length,s=Buffer.byteLength(t),i=yn(),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(` `)}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(` `)[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(` @@ -428,7 +428,7 @@ Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to 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. -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:L.object({path:L.string().describe("Absolute file path or relative to project root"),language:L.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:L.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:L.coerce.number().optional().default(3e4).describe("Max execution time in ms"),intent:L.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=sz(t,"execute_file");if(s)return s;if(e==="shell"){let i=kf(r,"execute_file");if(i)return i}else{let i=hS(r,e,"execute_file");if(i)return i}try{let i=await Is.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return D("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)),D("ctx_execute_file",{content:[{type:"text",text:mo(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>ja?(Ot(Buffer.byteLength(u)),D("ctx_execute_file",{content:[{type:"text",text:mo(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):D("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)),D("ctx_execute_file",{content:[{type:"text",text:mo(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>ja?D("ctx_execute_file",_S(a,`file:${t}`)):D("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return D("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. +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:L.object({path:L.string().describe("Absolute file path or relative to project root"),language:L.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:L.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:L.coerce.number().optional().default(3e4).describe("Max execution time in ms"),intent:L.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=sz(t,"execute_file");if(s)return s;if(e==="shell"){let i=bf(r,"execute_file");if(i)return i}else{let i=mS(r,e,"execute_file");if(i)return i}try{let i=await Os.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return D("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}=Cp({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Na?(Ot(Buffer.byteLength(u)),D("ctx_execute_file",{content:[{type:"text",text:fo(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),D("ctx_execute_file",{content:[{type:"text",text:fo(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):D("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)>Na?(Ot(Buffer.byteLength(a)),D("ctx_execute_file",{content:[{type:"text",text:fo(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>Aa?D("ctx_execute_file",gS(a,`file:${t}`)):D("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return D("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. WHEN TO USE: - Documentation from Context7, Skills, or MCP tools (API docs, framework guides, code examples) @@ -440,19 +440,19 @@ WHEN TO USE: After indexing, use 'search' to retrieve specific sections on-demand. Do NOT use for: log files, test output, CSV, build output \u2014 use 'execute_file' for those.`,inputSchema:L.object({content:L.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:L.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:L.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 D("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=yn().index({content:t,path:e,source:r});return D("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label} -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 D("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});var gn=0,ff=Date.now(),pz=6e4,uS=3,lS=8;function bf(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function fz(t){let e=bf(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. +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 D("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});var gn=0,mf=Date.now(),pz=6e4,cS=3,uS=8;function wf(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function fz(t){let e=wf(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. -TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:L.object({queries:L.preprocess(bf,L.array(L.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:L.number().optional().default(3).describe("Results per query (default: 3)"),source:L.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:L.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'.")})},async t=>{try{let e=yn();if(e.getStats().chunks===0)return D("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet. +TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:L.object({queries:L.preprocess(wf,L.array(L.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:L.number().optional().default(3).describe("Results per query (default: 3)"),source:L.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:L.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'.")})},async t=>{try{let e=yn();if(e.getStats().chunks===0)return D("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet. ctx_search is a follow-up tool that queries previously indexed content. To gather and index content first, use: \u2022 ctx_batch_execute(commands, queries) \u2014 run commands, auto-index output, and search in one call \u2022 ctx_fetch_and_index(url) \u2014 fetch a URL, index it, then search with ctx_search \u2022 ctx_index(content, source) \u2014 manually index text content -After indexing, ctx_search becomes available for follow-up queries.`}],isError:!0});let r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return D("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s,contentType:i}=t,a=Date.now();if(a-ff>pz&&(gn=0,ff=a),gn++,gn>lS)return D("ctx_search",{content:[{type:"text",text:`BLOCKED: ${gn} search calls in ${Math.round((a-ff)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let c=gn>uS?1:Math.min(o,2),u=40*1024,l=0,d=[];for(let m of n){if(l>u){d.push(`## ${m} +After indexing, ctx_search becomes available for follow-up queries.`}],isError:!0});let r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return D("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s,contentType:i}=t,a=Date.now();if(a-mf>pz&&(gn=0,mf=a),gn++,gn>uS)return D("ctx_search",{content:[{type:"text",text:`BLOCKED: ${gn} search calls in ${Math.round((a-mf)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let c=gn>cS?1:Math.min(o,2),u=40*1024,l=0,d=[];for(let m of n){if(l>u){d.push(`## ${m} (output cap reached) `);continue}let p=e.searchWithFallback(m,c,s,i);if(p.length===0){d.push(`## ${m} -No results found.`);continue}let h=p.map((g,_)=>{let x=`--- [${g.source}] ---`,S=`### ${g.title}`,w=gS(g.content,m,1500,g.highlighted);return`${x} +No results found.`);continue}let h=p.map((g,_)=>{let x=`--- [${g.source}] ---`,S=`### ${g.title}`,w=hS(g.content,m,1500,g.highlighted);return`${x} ${S} ${w}`}).join(` @@ -463,10 +463,10 @@ ${h}`),l+=h.length}let f=d.join(` --- -`);if(gn>=uS&&(f+=` +`);if(gn>=cS&&(f+=` -\u26A0 search call #${gn}/${lS} in this window. Results limited to ${c}/query. Batch queries: search(queries: ["q1","q2","q3"]) or use batch_execute.`),f.trim().length===0){let m=e.listSources(),p=m.length>0?` -Indexed sources: ${m.map(h=>`"${h.label}" (${h.chunkCount} sections)`).join(", ")}`:"";return D("ctx_search",{content:[{type:"text",text:`No results found.${p}`}]})}return D("ctx_search",{content:[{type:"text",text:f}]})}catch(e){let r=e instanceof Error?e.message:String(e);return D("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});var mf=null,hf=null;function mz(){return mf||(mf=pS(import.meta.url).resolve("turndown")),mf}function hz(){return hf||(hf=pS(import.meta.url).resolve("turndown-plugin-gfm")),hf}function gz(t,e){let r=JSON.stringify(mz()),n=JSON.stringify(hz()),o=JSON.stringify(e);return` +\u26A0 search call #${gn}/${uS} in this window. Results limited to ${c}/query. Batch queries: search(queries: ["q1","q2","q3"]) or use batch_execute.`),f.trim().length===0){let m=e.listSources(),p=m.length>0?` +Indexed sources: ${m.map(h=>`"${h.label}" (${h.chunkCount} sections)`).join(", ")}`:"";return D("ctx_search",{content:[{type:"text",text:`No results found.${p}`}]})}return D("ctx_search",{content:[{type:"text",text:f}]})}catch(e){let r=e instanceof Error?e.message:String(e);return D("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});var hf=null,gf=null;function mz(){return hf||(hf=dS(import.meta.url).resolve("turndown")),hf}function hz(){return gf||(gf=dS(import.meta.url).resolve("turndown-plugin-gfm")),gf}function gz(t,e){let r=JSON.stringify(mz()),n=JSON.stringify(hz()),o=JSON.stringify(e);return` const TurndownService = require(${r}); const { gfm } = require(${n}); const fs = require('fs'); @@ -520,20 +520,20 @@ Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, To refresh: call ctx_fetch_and_index again with \`force: true\`. You MUST call search() to answer questions about this content \u2014 this cached response contains no content. -Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=he(vf(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=gz(t,n),s=await Is.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return D("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=yn(),a=(s.stdout||"").trim(),c;try{c=fS(n,"utf-8").trim()}catch{return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return D("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)+` +Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=me(Sf(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=gz(t,n),s=await Os.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return D("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=yn(),a=(s.stdout||"").trim(),c;try{c=pS(n,"utf-8").trim()}catch{return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return D("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)+` \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(` -`);return D("ctx_fetch_and_index",{content:[{type:"text",text:m}]})}catch(o){let s=o instanceof Error?o.message:String(o);return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{gf(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. +`);return D("ctx_fetch_and_index",{content:[{type:"text",text:m}]})}catch(o){let s=o instanceof Error?o.message:String(o);return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{_f(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. THIS IS THE PRIMARY TOOL. Use this instead of multiple execute() calls. One batch_execute call replaces 30+ execute calls + 10+ search calls. Provide all commands to run and all queries to search \u2014 everything happens in one round trip. -THINK IN CODE: When commands produce data you need to analyze, add processing commands that filter and summarize. Don't pull raw output into context \u2014 let the sandbox do the work.`,inputSchema:L.object({commands:L.preprocess(fz,L.array(L.object({label:L.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:L.string().describe("Shell command to execute")})).min(1).describe("Commands to execute as a batch. Each runs sequentially, output is labeled with the section header.")),queries:L.preprocess(bf,L.array(L.string()).min(1).describe("Search queries to extract information from indexed output. Use 5-8 comprehensive queries. Each returns top 5 matching sections with full content. This is your ONLY chance \u2014 put ALL your questions here. No follow-up calls needed.")),timeout:L.coerce.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=kf(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1,i=`NODE_OPTIONS="--require ${Sf}" `;for(let S of t){let w=Date.now()-o,z=r-w;if(z<=0){n.push(`# ${S.label} +THINK IN CODE: When commands produce data you need to analyze, add processing commands that filter and summarize. Don't pull raw output into context \u2014 let the sandbox do the work.`,inputSchema:L.object({commands:L.preprocess(fz,L.array(L.object({label:L.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:L.string().describe("Shell command to execute")})).min(1).describe("Commands to execute as a batch. Each runs sequentially, output is labeled with the section header.")),queries:L.preprocess(wf,L.array(L.string()).min(1).describe("Search queries to extract information from indexed output. Use 5-8 comprehensive queries. Each returns top 5 matching sections with full content. This is your ONLY chance \u2014 put ALL your questions here. No follow-up calls needed.")),timeout:L.coerce.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=bf(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1,i=`NODE_OPTIONS="--require ${kf}" `;for(let S of t){let w=Date.now()-o,z=r-w;if(z<=0){n.push(`# ${S.label} (skipped \u2014 batch timeout exceeded) -`),s=!0;continue}let de=await Is.execute({language:"shell",code:`${i}${S.command} 2>&1`,timeout:z}),Te=de.stdout||"(no output)",K=Te.matchAll(/__CM_FS__:(\d+)/g),Le=0;for(let Se of K)Le+=parseInt(Se[1]);if(Le>0&&(Ee.bytesSandboxed+=Le,Te=Te.replace(/__CM_FS__:\d+\n?/g,"")),n.push(`# ${S.label} +`),s=!0;continue}let de=await Os.execute({language:"shell",code:`${i}${S.command} 2>&1`,timeout:z}),Te=de.stdout||"(no output)",K=Te.matchAll(/__CM_FS__:(\d+)/g),Le=0;for(let Se of K)Le+=parseInt(Se[1]);if(Le>0&&(Ee.bytesSandboxed+=Le,Te=Te.replace(/__CM_FS__:\d+\n?/g,"")),n.push(`# ${S.label} ${Te} `),de.timedOut){s=!0;let Se=t.indexOf(S);for(let Or=Se+1;OrS.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 w=Buffer.byteLength(S.content);p.push(`- ${S.title} (${(w/1024).toFixed(1)}KB)`),h.push(S.title)}let g=dz(l,e,d),_=l.getDistinctiveTerms?l.getDistinctiveTerms(f.sourceId):[],x=[`Executed ${t.length} commands (${u} lines, ${(c/1024).toFixed(1)}KB). Indexed ${f.totalChunks} sections. Searched ${e.length} queries.`,"",...p,"",...g,_.length>0?` Searchable terms for follow-up: ${_.join(", ")}`:""].join(` -`);return D("ctx_batch_execute",{content:[{type:"text",text:x}]})}catch(n){let o=n instanceof Error?n.message:String(n);return D("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});function dS(){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:L.object({})},async()=>{let t;try{let e=Na(),r=Cp(),n=he(_n(),`${e}${r}.db`);if(Je(n)){let o=Ss(),s=new o(n,{readonly:!0});try{let a=new io(s).queryAll(Ee);t=ka(a,Pr,Rr)}finally{s.close()}}else{let s=new io(dS()).queryAll(Ee);t=ka(s,Pr,Rr)}}catch{let r=new io(dS()).queryAll(Ee);t=ka(r,Pr,Rr)}return D("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:L.object({})},async()=>{let t=["## context-mode doctor",""],e=Je(nr(Bt,"package.json"))?Bt:$r(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 xs({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=Ss();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 Je(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${Pr}`),D("ctx_doctor",{content:[{type:"text",text:t.join(` +`);return D("ctx_batch_execute",{content:[{type:"text",text:x}]})}catch(n){let o=n instanceof Error?n.message:String(n);return D("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});function lS(){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:L.object({})},async()=>{let t;try{let e=za(),r=Ip(),n=me(_n(),`${e}${r}.db`);if(Je(n)){let o=xs(),s=new o(n,{readonly:!0});try{let a=new so(s).queryAll(Ee);t=Sa(a,Pr,Rr)}finally{s.close()}}else{let s=new so(lS()).queryAll(Ee);t=Sa(s,Pr,Rr)}}catch{let r=new so(lS()).queryAll(Ee);t=Sa(r,Pr,Rr)}return D("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:L.object({})},async()=>{let t=["## context-mode doctor",""],e=Je(nr(Bt,"package.json"))?Bt:$r(Bt),r=11,n=(Ca.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${Ca.length}/${r} (${n}%) \u2014 ${Ca.join(", ")}`),ya()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new _s({runtimes:ja});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 Je(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${Pr}`),D("ctx_doctor",{content:[{type:"text",text:t.join(` `)}]})});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:L.object({})},async()=>{let t=Je(nr(Bt,"package.json"))?Bt:$r(Bt),e=nr(t,"cli.bundle.mjs"),r=nr(t,"build","cli.js"),n;if(Je(e))n=`node "${e}" upgrade`;else if(Je(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(` `),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(` -`);return D("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:L.object({confirm:L.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return D("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(Ft){let r=!1;try{Ft.cleanup(),r=!0}catch{}Ft=null,r&&e.push("knowledge base (FTS5)")}else{let r=_f(),n=!1;for(let o of["","-wal","-shm"])try{Tr(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=he(xf(),".context-mode","content",`${Na()}.db`);for(let n of["","-wal","-shm"])try{Tr(r+n)}catch{}}catch{}try{let r=Na(),n=Cp(),o=_n(),s=he(o,`${r}${n}.db`),i=he(o,`${r}${n}-events.md`),a=he(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{Tr(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{Tr(i),u=!0}catch{}u&&e.push("session events markdown");try{Tr(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"),D("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:L.object({port:L.coerce.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=Je(nr(Bt,"package.json"))?Bt:$r(Bt),n=nr(r,"insight"),o=_n(),s=he($r(o),"insight-cache");if(!Je(he(n,"server.mjs")))return D("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[];yf(s,{recursive:!0});let a=aS(he(n,"server.mjs")).mtimeMs,c=Je(he(s,"server.mjs"))?aS(he(s,"server.mjs")).mtimeMs:0;if(a>c&&(i.push("Copying source files..."),JI(n,s,{recursive:!0,force:!0}),i.push("Source files copied.")),!Je(he(s,"node_modules"))){i.push("Installing dependencies (first run, ~30s)...");try{Er("npm install --production=false",{cwd:s,stdio:"pipe",timeout:3e5})}catch{try{gf(he(s,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Je(he(s,"node_modules","vite"))||!Je(he(s,"node_modules","better-sqlite3")))throw gf(he(s,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry");i.push("Dependencies installed.")}i.push("Building dashboard..."),Er("npx vite build",{cwd:s,stdio:"pipe",timeout:6e4}),i.push("Build complete.");try{let{request:p}=await import("node:http");await new Promise((_,x)=>{let S=p(`http://127.0.0.1:${e}/api/overview`,{timeout:2e3},w=>{w.resume(),_()});S.on("error",()=>x()),S.on("timeout",()=>{S.destroy(),x()}),S.end()}),i.push("Dashboard already running.");let h=`http://localhost:${e}`,g=process.platform;try{g==="darwin"?Er(`open "${h}"`,{stdio:"pipe"}):g==="win32"?Er(`start "" "${h}"`,{stdio:"pipe"}):Er(`xdg-open "${h}" 2>/dev/null || sensible-browser "${h}" 2>/dev/null`,{stdio:"pipe"})}catch{}return D("ctx_insight",{content:[{type:"text",text:`Dashboard already running at http://localhost:${e}`}]})}catch{}let{spawn:l}=await import("node:child_process"),d=l("node",[he(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e),INSIGHT_SESSION_DIR:_n(),INSIGHT_CONTENT_DIR:he($r(_n()),"content")},detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref(),await new Promise(p=>setTimeout(p,1500));try{let{request:p}=await import("node:http");await new Promise((h,g)=>{let _=p(`http://127.0.0.1:${e}/api/overview`,{timeout:3e3},x=>{h(),x.resume()});_.on("error",g),_.on("timeout",()=>{_.destroy(),g(new Error("timeout"))}),_.end()})}catch{return D("ctx_insight",{content:[{type:"text",text:`Port ${e} appears to be in use. Either a previous dashboard is still running, or another service is using this port. +`);return D("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:L.object({confirm:L.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return D("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=yf(),n=!1;for(let o of["","-wal","-shm"])try{Tr(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=me(vf(),".context-mode","content",`${za()}.db`);for(let n of["","-wal","-shm"])try{Tr(r+n)}catch{}}catch{}try{let r=za(),n=Ip(),o=_n(),s=me(o,`${r}${n}.db`),i=me(o,`${r}${n}-events.md`),a=me(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{Tr(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{Tr(i),u=!0}catch{}u&&e.push("session events markdown");try{Tr(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"),D("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:L.object({port:L.coerce.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=Je(nr(Bt,"package.json"))?Bt:$r(Bt),n=nr(r,"insight"),o=_n(),s=me($r(o),"insight-cache");if(!Je(me(n,"server.mjs")))return D("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[];xf(s,{recursive:!0});let a=iS(me(n,"server.mjs")).mtimeMs,c=Je(me(s,"server.mjs"))?iS(me(s,"server.mjs")).mtimeMs:0;if(a>c&&(i.push("Copying source files..."),JI(n,s,{recursive:!0,force:!0}),i.push("Source files copied.")),!Je(me(s,"node_modules"))){i.push("Installing dependencies (first run, ~30s)...");try{Er("npm install --production=false",{cwd:s,stdio:"pipe",timeout:3e5})}catch{try{_f(me(s,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Je(me(s,"node_modules","vite"))||!Je(me(s,"node_modules","better-sqlite3")))throw _f(me(s,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry");i.push("Dependencies installed.")}i.push("Building dashboard..."),Er("npx vite build",{cwd:s,stdio:"pipe",timeout:6e4}),i.push("Build complete.");try{let{request:p}=await import("node:http");await new Promise((_,x)=>{let S=p(`http://127.0.0.1:${e}/api/overview`,{timeout:2e3},w=>{w.resume(),_()});S.on("error",()=>x()),S.on("timeout",()=>{S.destroy(),x()}),S.end()}),i.push("Dashboard already running.");let h=`http://localhost:${e}`,g=process.platform;try{g==="darwin"?Er(`open "${h}"`,{stdio:"pipe"}):g==="win32"?Er(`start "" "${h}"`,{stdio:"pipe"}):Er(`xdg-open "${h}" 2>/dev/null || sensible-browser "${h}" 2>/dev/null`,{stdio:"pipe"})}catch{}return D("ctx_insight",{content:[{type:"text",text:`Dashboard already running at http://localhost:${e}`}]})}catch{}let{spawn:l}=await import("node:child_process"),d=l("node",[me(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e),INSIGHT_SESSION_DIR:_n(),INSIGHT_CONTENT_DIR:me($r(_n()),"content")},detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref(),await new Promise(p=>setTimeout(p,1500));try{let{request:p}=await import("node:http");await new Promise((h,g)=>{let _=p(`http://127.0.0.1:${e}/api/overview`,{timeout:3e3},x=>{h(),x.resume()});_.on("error",g),_.on("timeout",()=>{_.destroy(),g(new Error("timeout"))}),_.end()})}catch{return D("ctx_insight",{content:[{type:"text",text:`Port ${e} appears to be in use. Either a previous dashboard is still running, or another service is using this port. To fix: - Kill the existing process: ${process.platform==="win32"?`netstat -ano | findstr :${e}`:`lsof -ti:${e} | xargs kill`} @@ -554,6 +554,6 @@ To fix: `)+` Open: ${f} -PID: ${d.pid} \xB7 Stop: ${process.platform==="win32"?`taskkill /PID ${d.pid} /F`:`kill ${d.pid}`}`}]})}catch(i){let a=i instanceof Error?i.message:String(i);return D("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${a}`}]})}});async function _z(){let t=Ep();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=he(vf(),`context-mode-mcp-ready-${process.ppid}`),r=()=>{Is.cleanupBackgrounded(),Ft&&Ft.close();try{Tr(Sf)}catch{}try{Tr(e)}catch{}},n=async()=>{r(),process.exit(0)};process.on("exit",r),process.on("SIGINT",()=>{n()}),process.on("SIGTERM",()=>{n()}),Bx({onShutdown:()=>n()});let o=new _a;await De.connect(o);try{mS(e,String(process.pid))}catch{}try{let{detectPlatform:s,getAdapter:i}=await Promise.resolve().then(()=>(iS(),sS)),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{}tz().then(s=>{s!=="unknown"&&(Rr=s)}),console.error(`Context Mode MCP server v${Pr} running on stdio`),console.error(`Detected runtimes: -${kx(Ma)}`),xa()||(console.error(` -Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}_z().catch(t=>{console.error("Fatal:",t),process.exit(1)});export{gS as extractSnippet,dz as formatBatchQueryResults,lz as positionsFromHighlight}; +PID: ${d.pid} \xB7 Stop: ${process.platform==="win32"?`taskkill /PID ${d.pid} /F`:`kill ${d.pid}`}`}]})}catch(i){let a=i instanceof Error?i.message:String(i);return D("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${a}`}]})}});async function _z(){let t=Tp();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=me(Sf(),`context-mode-mcp-ready-${process.ppid}`),r=()=>{Os.cleanupBackgrounded(),qt&&qt.close();try{Tr(kf)}catch{}try{Tr(e)}catch{}},n=async()=>{r(),process.exit(0)};process.on("exit",r),process.on("SIGINT",()=>{n()}),process.on("SIGTERM",()=>{n()}),qx({onShutdown:()=>n()});let o=new ga;await De.connect(o);try{fS(e,String(process.pid))}catch{}try{let{detectPlatform:s,getAdapter:i}=await Promise.resolve().then(()=>(sS(),oS)),a=De.server.getClientVersion(),c=s(a??void 0);Ia=await i(c.platform),a&&console.error(`MCP client: ${a.name} v${a.version} \u2192 ${c.platform}`)}catch{}tz().then(s=>{s!=="unknown"&&(Rr=s)}),console.error(`Context Mode MCP server v${Pr} running on stdio`),console.error(`Detected runtimes: +${Sx(ja)}`),ya()||(console.error(` +Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}_z().catch(t=>{console.error("Fatal:",t),process.exit(1)});export{hS as extractSnippet,dz as formatBatchQueryResults,lz as positionsFromHighlight}; diff --git a/tests/analytics/insight-cors.test.ts b/tests/analytics/insight-cors.test.ts new file mode 100644 index 00000000..35c3798d --- /dev/null +++ b/tests/analytics/insight-cors.test.ts @@ -0,0 +1,191 @@ +import { afterEach, describe, expect, test } from "vitest"; +import { mkdtempSync, mkdirSync, writeFileSync, rmSync, cpSync, symlinkSync } from "node:fs"; +import { join, resolve } from "node:path"; +import { tmpdir } from "node:os"; +import { spawn, type ChildProcess } from "node:child_process"; +import Database from "better-sqlite3"; + +const ROOT = resolve(import.meta.dirname, "../.."); +const SOURCE_SERVER = resolve(ROOT, "insight", "server.mjs"); +const DIST_INDEX_NAME = "index.html"; + +const children: ChildProcess[] = []; +const tempDirs: string[] = []; + +afterEach(() => { + for (const child of children.splice(0)) { + try { child.kill("SIGTERM"); } catch { /* best effort */ } + } + for (const dir of tempDirs.splice(0)) { + try { rmSync(dir, { recursive: true, force: true }); } catch { /* best effort */ } + } +}); + +function seedFixtureDBs(baseDir: string): { sessionsDir: string; contentDir: string } { + const sessionsDir = join(baseDir, "sessions"); + const contentDir = join(baseDir, "content"); + mkdirSync(sessionsDir, { recursive: true }); + mkdirSync(contentDir, { recursive: true }); + + const sessionDb = new Database(join(sessionsDir, "abcd1234.db")); + sessionDb.exec(` + CREATE TABLE session_meta ( + session_id TEXT PRIMARY KEY, + project_dir TEXT, + started_at TEXT, + last_event_at TEXT, + event_count INTEGER, + compact_count INTEGER + ); + CREATE TABLE session_events ( + id INTEGER PRIMARY KEY, + session_id TEXT, + type TEXT, + category TEXT, + priority TEXT, + data TEXT, + source_hook TEXT, + created_at TEXT + ); + CREATE TABLE session_resume ( + session_id TEXT PRIMARY KEY, + snapshot TEXT, + event_count INTEGER, + consumed INTEGER + ); + `); + sessionDb.prepare("INSERT INTO session_meta VALUES (?, ?, ?, ?, ?, ?)").run( + "sess-1", + "/secret/project", + "2026-04-16T00:00:00Z", + "2026-04-16T00:05:00Z", + 1, + 0, + ); + sessionDb.prepare("INSERT INTO session_events VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run( + 1, + "sess-1", + "user_prompt", + "prompt", + "high", + "my prod api key is sk-live-local-demo", + "sessionstart", + "2026-04-16T00:01:00Z", + ); + sessionDb.prepare("INSERT INTO session_resume VALUES (?, ?, ?, ?)").run( + "sess-1", + "resume snapshot secret", + 1, + 0, + ); + sessionDb.close(); + + const contentDb = new Database(join(contentDir, "feedface.db")); + contentDb.exec(` + CREATE TABLE sources ( + id INTEGER PRIMARY KEY, + label TEXT, + title TEXT, + content_type TEXT, + created_at TEXT + ); + CREATE TABLE chunks ( + id INTEGER PRIMARY KEY, + source_id INTEGER, + title TEXT, + content TEXT, + content_type TEXT + ); + `); + contentDb.prepare("INSERT INTO sources VALUES (?, ?, ?, ?, ?)").run( + 7, + "payments", + "payments doc", + "markdown", + "2026-04-16T00:00:00Z", + ); + contentDb.prepare("INSERT INTO chunks VALUES (?, ?, ?, ?, ?)").run( + 1, + 7, + "payments", + "secret operational note", + "markdown", + ); + contentDb.close(); + + return { sessionsDir, contentDir }; +} + +async function waitForInsight(port: number): Promise { + let lastError: string | undefined; + for (let i = 0; i < 60; i++) { + try { + const res = await fetch(`http://127.0.0.1:${port}/api/overview`); + if (res.ok) return; + lastError = `unexpected status ${res.status}`; + } catch (err) { + lastError = err instanceof Error ? err.message : String(err); + } + await new Promise((r) => setTimeout(r, 100)); + } + throw new Error(`Insight server did not become ready: ${lastError ?? "unknown error"}`); +} + +function startNodeInsight(): { port: number } { + const tempRoot = mkdtempSync(join(tmpdir(), "ctx-insight-cors-")); + tempDirs.push(tempRoot); + + const tempInsightDir = join(tempRoot, "insight"); + mkdirSync(join(tempInsightDir, "dist"), { recursive: true }); + cpSync(SOURCE_SERVER, join(tempInsightDir, "server.mjs")); + writeFileSync(join(tempInsightDir, "dist", DIST_INDEX_NAME), "stub"); + symlinkSync(resolve(ROOT, "node_modules"), join(tempRoot, "node_modules"), "dir"); + + const { sessionsDir, contentDir } = seedFixtureDBs(tempRoot); + const port = 42000 + Math.floor(Math.random() * 1000); + const child = spawn("node", [join(tempInsightDir, "server.mjs")], { + stdio: ["ignore", "pipe", "pipe"], + env: { + ...process.env, + PORT: String(port), + INSIGHT_SESSION_DIR: sessionsDir, + INSIGHT_CONTENT_DIR: contentDir, + }, + }); + children.push(child); + return { port }; +} + +describe("Insight API same-machine cross-origin policy", () => { + test("does not advertise permissive CORS headers on sensitive session endpoints", async () => { + const { port } = startNodeInsight(); + await waitForInsight(port); + + const res = await fetch(`http://127.0.0.1:${port}/api/sessions/abcd1234/events/sess-1`, { + headers: { Origin: "http://127.0.0.1:8081" }, + }); + + expect(res.status).toBe(200); + expect(res.headers.get("access-control-allow-origin")).toBeNull(); + expect(res.headers.get("access-control-allow-methods")).toBeNull(); + const body = await res.json(); + expect(body.events[0].data).toContain("sk-live-local-demo"); + }); + + test("does not allow permissive DELETE preflight headers for API routes", async () => { + const { port } = startNodeInsight(); + await waitForInsight(port); + + const res = await fetch(`http://127.0.0.1:${port}/api/content/feedface/source/7`, { + method: "OPTIONS", + headers: { + Origin: "http://127.0.0.1:8081", + "Access-Control-Request-Method": "DELETE", + }, + }); + + expect([204, 405]).toContain(res.status); + expect(res.headers.get("access-control-allow-origin")).toBeNull(); + expect(res.headers.get("access-control-allow-methods")).toBeNull(); + }); +});