keepmind 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +20 -0
- package/.codex-plugin/plugin.json +46 -0
- package/LICENSE +202 -0
- package/README.md +139 -0
- package/dist/npx-cli/index.js +1398 -0
- package/dist/opencode-plugin/index.js +68 -0
- package/openclaw/Dockerfile.e2e +46 -0
- package/openclaw/SKILL.md +462 -0
- package/openclaw/TESTING.md +279 -0
- package/openclaw/dist/index.js +20 -0
- package/openclaw/e2e-verify.sh +222 -0
- package/openclaw/install.sh +1653 -0
- package/openclaw/openclaw.plugin.json +98 -0
- package/openclaw/package.json +21 -0
- package/openclaw/skills/do/SKILL.md +1 -0
- package/openclaw/skills/make-plan/SKILL.md +1 -0
- package/openclaw/src/index.test.ts +1178 -0
- package/openclaw/src/index.ts +1136 -0
- package/openclaw/test-e2e.sh +40 -0
- package/openclaw/test-install.sh +2086 -0
- package/openclaw/test-sse-consumer.js +98 -0
- package/openclaw/tsconfig.json +26 -0
- package/package.json +187 -0
- package/plugin/.claude-plugin/plugin.json +24 -0
- package/plugin/.codex-plugin/plugin.json +46 -0
- package/plugin/.mcp.json +12 -0
- package/plugin/bun.lock +325 -0
- package/plugin/hooks/bugfixes-2026-01-10.md +92 -0
- package/plugin/hooks/codex-hooks.json +63 -0
- package/plugin/hooks/hooks.json +117 -0
- package/plugin/modes/code--ar.json +24 -0
- package/plugin/modes/code--bn.json +24 -0
- package/plugin/modes/code--chill.json +8 -0
- package/plugin/modes/code--cs.json +24 -0
- package/plugin/modes/code--da.json +24 -0
- package/plugin/modes/code--de.json +24 -0
- package/plugin/modes/code--el.json +24 -0
- package/plugin/modes/code--es.json +24 -0
- package/plugin/modes/code--fi.json +24 -0
- package/plugin/modes/code--fr.json +24 -0
- package/plugin/modes/code--he.json +24 -0
- package/plugin/modes/code--hi.json +24 -0
- package/plugin/modes/code--hu.json +24 -0
- package/plugin/modes/code--id.json +24 -0
- package/plugin/modes/code--it.json +24 -0
- package/plugin/modes/code--ja.json +24 -0
- package/plugin/modes/code--ko.json +24 -0
- package/plugin/modes/code--nl.json +24 -0
- package/plugin/modes/code--no.json +24 -0
- package/plugin/modes/code--pl.json +24 -0
- package/plugin/modes/code--pt-br.json +24 -0
- package/plugin/modes/code--ro.json +24 -0
- package/plugin/modes/code--ru.json +24 -0
- package/plugin/modes/code--sv.json +24 -0
- package/plugin/modes/code--th.json +24 -0
- package/plugin/modes/code--tr.json +24 -0
- package/plugin/modes/code--uk.json +24 -0
- package/plugin/modes/code--ur.json +25 -0
- package/plugin/modes/code--vi.json +24 -0
- package/plugin/modes/code--zh.json +24 -0
- package/plugin/modes/code.json +139 -0
- package/plugin/modes/email-investigation.json +120 -0
- package/plugin/modes/law-study--chill.json +7 -0
- package/plugin/modes/law-study-CLAUDE.md +85 -0
- package/plugin/modes/law-study.json +120 -0
- package/plugin/modes/meme-tokens.json +125 -0
- package/plugin/package.json +47 -0
- package/plugin/scripts/bun-runner.js +229 -0
- package/plugin/scripts/context-generator.cjs +1005 -0
- package/plugin/scripts/mcp-server.cjs +247 -0
- package/plugin/scripts/statusline-counts.js +45 -0
- package/plugin/scripts/transcript-watcher.cjs +27 -0
- package/plugin/scripts/version-check.js +193 -0
- package/plugin/scripts/worker-cli.js +19 -0
- package/plugin/scripts/worker-service.cjs +2638 -0
- package/plugin/scripts/worker-wrapper.cjs +2 -0
- package/plugin/skills/babysit/SKILL.md +87 -0
- package/plugin/skills/design-is/SKILL.md +312 -0
- package/plugin/skills/do/SKILL.md +45 -0
- package/plugin/skills/how-it-works/SKILL.md +22 -0
- package/plugin/skills/how-it-works/onboarding-explainer.md +17 -0
- package/plugin/skills/knowledge-agent/SKILL.md +80 -0
- package/plugin/skills/learn-codebase/SKILL.md +21 -0
- package/plugin/skills/make-plan/SKILL.md +67 -0
- package/plugin/skills/mem-search/SKILL.md +131 -0
- package/plugin/skills/oh-my-issues/SKILL.md +226 -0
- package/plugin/skills/pathfinder/SKILL.md +111 -0
- package/plugin/skills/smart-explore/SKILL.md +193 -0
- package/plugin/skills/standup/SKILL.md +142 -0
- package/plugin/skills/standup/agent-brief.md +47 -0
- package/plugin/skills/standup/standup.mjs +662 -0
- package/plugin/skills/timeline-report/SKILL.md +211 -0
- package/plugin/skills/version-bump/SKILL.md +74 -0
- package/plugin/skills/version-bump/scripts/generate_changelog.js +34 -0
- package/plugin/skills/weekly-digests/SKILL.md +262 -0
- package/plugin/skills/what-the/SKILL.md +6 -0
- package/plugin/skills/wowerpoint/SKILL.md +205 -0
- package/plugin/ui/assets/fonts/monaspace-radon-var.woff +0 -0
- package/plugin/ui/assets/fonts/monaspace-radon-var.woff2 +0 -0
- package/plugin/ui/icon-thick-completed.svg +8 -0
- package/plugin/ui/icon-thick-investigated.svg +8 -0
- package/plugin/ui/icon-thick-learned.svg +12 -0
- package/plugin/ui/icon-thick-next-steps.svg +8 -0
- package/plugin/ui/viewer-bundle.js +65 -0
- package/plugin/ui/viewer.html +3302 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";var ly=Object.create;var Bs=Object.defineProperty;var dy=Object.getOwnPropertyDescriptor;var py=Object.getOwnPropertyNames;var fy=Object.getPrototypeOf,my=Object.prototype.hasOwnProperty;var w=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},Lu=(t,e)=>{for(var r in e)Bs(t,r,{get:e[r],enumerable:!0})},hy=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of py(e))!my.call(t,o)&&o!==r&&Bs(t,o,{get:()=>e[o],enumerable:!(n=dy(e,o))||n.enumerable});return t};var Zt=(t,e,r)=>(r=t!=null?ly(fy(t)):{},hy(e||!t||!t.__esModule?Bs(r,"default",{value:t,enumerable:!0}):r,t));var vn=w(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.regexpCode=F.getEsmExportName=F.getProperty=F.safeStringify=F.stringify=F.strConcat=F.addCodeArg=F.str=F._=F.nil=F._Code=F.Name=F.IDENTIFIER=F._CodeOrName=void 0;var yn=class{};F._CodeOrName=yn;F.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Wt=class extends yn{constructor(e){if(super(),!F.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}}};F.Name=Wt;var Fe=class extends yn{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 Wt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};F._Code=Fe;F.nil=new Fe("");function im(t,...e){let r=[t[0]],n=0;for(;n<e.length;)ga(r,e[n]),r.push(t[++n]);return new Fe(r)}F._=im;var ha=new Fe("+");function am(t,...e){let r=[Sn(t[0])],n=0;for(;n<e.length;)r.push(ha),ga(r,e[n]),r.push(ha,Sn(t[++n]));return Kb(r),new Fe(r)}F.str=am;function ga(t,e){e instanceof Fe?t.push(...e._items):e instanceof Wt?t.push(e):t.push(Yb(e))}F.addCodeArg=ga;function Kb(t){let e=1;for(;e<t.length-1;){if(t[e]===ha){let r=Jb(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function Jb(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Wt||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Wt))return`"${t}${e.slice(1)}`}function Bb(t,e){return e.emptyStr()?t:t.emptyStr()?e:am`${t}${e}`}F.strConcat=Bb;function Yb(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Sn(Array.isArray(t)?t.join(","):t)}function Xb(t){return new Fe(Sn(t))}F.stringify=Xb;function Sn(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}F.safeStringify=Sn;function Qb(t){return typeof t=="string"&&F.IDENTIFIER.test(t)?new Fe(`.${t}`):im`[${t}]`}F.getProperty=Qb;function eE(t){if(typeof t=="string"&&F.IDENTIFIER.test(t))return new Fe(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}F.getEsmExportName=eE;function tE(t){return new Fe(t.toString())}F.regexpCode=tE});var Sa=w(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.ValueScope=Me.ValueScopeName=Me.Scope=Me.varKinds=Me.UsedValueState=void 0;var Ae=vn(),_a=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Vo;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Vo||(Me.UsedValueState=Vo={}));Me.varKinds={const:new Ae.Name("const"),let:new Ae.Name("let"),var:new Ae.Name("var")};var Go=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Ae.Name?e:this.name(e)}name(e){return new Ae.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}}};Me.Scope=Go;var Ko=class extends Ae.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Ae._)`.${new Ae.Name(r)}[${n}]`}};Me.ValueScopeName=Ko;var rE=(0,Ae._)`\n`,ya=class extends Go{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?rE:Ae.nil}}get(){return this._scope}name(e){return new Ko(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,Ae._)`${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=Ae.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,Vo.Started);let l=r(u);if(l){let d=this.opts.es5?Me.varKinds.var:Me.varKinds.const;s=(0,Ae._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Ae._)`${s}${l}${this.opts._n}`;else throw new _a(u);c.set(u,Vo.Completed)})}return s}};Me.ValueScope=ya});var A=w(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.or=M.and=M.not=M.CodeGen=M.operators=M.varKinds=M.ValueScopeName=M.ValueScope=M.Scope=M.Name=M.regexpCode=M.stringify=M.getProperty=M.nil=M.strConcat=M.str=M._=void 0;var L=vn(),Ye=Sa(),It=vn();Object.defineProperty(M,"_",{enumerable:!0,get:function(){return It._}});Object.defineProperty(M,"str",{enumerable:!0,get:function(){return It.str}});Object.defineProperty(M,"strConcat",{enumerable:!0,get:function(){return It.strConcat}});Object.defineProperty(M,"nil",{enumerable:!0,get:function(){return It.nil}});Object.defineProperty(M,"getProperty",{enumerable:!0,get:function(){return It.getProperty}});Object.defineProperty(M,"stringify",{enumerable:!0,get:function(){return It.stringify}});Object.defineProperty(M,"regexpCode",{enumerable:!0,get:function(){return It.regexpCode}});Object.defineProperty(M,"Name",{enumerable:!0,get:function(){return It.Name}});var Xo=Sa();Object.defineProperty(M,"Scope",{enumerable:!0,get:function(){return Xo.Scope}});Object.defineProperty(M,"ValueScope",{enumerable:!0,get:function(){return Xo.ValueScope}});Object.defineProperty(M,"ValueScopeName",{enumerable:!0,get:function(){return Xo.ValueScopeName}});Object.defineProperty(M,"varKinds",{enumerable:!0,get:function(){return Xo.varKinds}});M.operators={GT:new L._Code(">"),GTE:new L._Code(">="),LT:new L._Code("<"),LTE:new L._Code("<="),EQ:new L._Code("==="),NEQ:new L._Code("!=="),NOT:new L._Code("!"),OR:new L._Code("||"),AND:new L._Code("&&"),ADD:new L._Code("+")};var _t=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},va=class extends _t{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Ye.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=Sr(this.rhs,e,r)),this}get names(){return this.rhs instanceof L._CodeOrName?this.rhs.names:{}}},Jo=class extends _t{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 L.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Sr(this.rhs,e,r),this}get names(){let e=this.lhs instanceof L.Name?{}:{...this.lhs.names};return Yo(e,this.rhs)}},ba=class extends Jo{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Ea=class extends _t{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},wa=class extends _t{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},ka=class extends _t{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},xa=class extends _t{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=Sr(this.code,e,r),this}get names(){return this.code instanceof L._CodeOrName?this.code.names:{}}},bn=class extends _t{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)||(nE(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Kt(e,r.names),{})}},yt=class extends bn{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},$a=class extends bn{},yr=class extends yt{};yr.kind="else";var Vt=class t extends yt{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new yr(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(cm(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=Sr(this.condition,e,r),this}get names(){let e=super.names;return Yo(e,this.condition),this.else&&Kt(e,this.else.names),e}};Vt.kind="if";var Gt=class extends yt{};Gt.kind="for";var Pa=class extends Gt{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=Sr(this.iteration,e,r),this}get names(){return Kt(super.names,this.iteration.names)}},Ta=class extends Gt{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?Ye.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=Yo(super.names,this.from);return Yo(e,this.to)}},Bo=class extends Gt{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=Sr(this.iterable,e,r),this}get names(){return Kt(super.names,this.iterable.names)}},En=class extends yt{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};En.kind="func";var wn=class extends bn{render(e){return"return "+super.render(e)}};wn.kind="return";var za=class extends yt{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Kt(e,this.catch.names),this.finally&&Kt(e,this.finally.names),e}},kn=class extends yt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};kn.kind="catch";var xn=class extends yt{render(e){return"finally"+super.render(e)}};xn.kind="finally";var Ra=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
3
|
+
`:""},this._extScope=e,this._scope=new Ye.Scope({parent:e}),this._nodes=[new $a]}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 va(e,s,n)),s}const(e,r,n){return this._def(Ye.varKinds.const,e,r,n)}let(e,r,n){return this._def(Ye.varKinds.let,e,r,n)}var(e,r,n){return this._def(Ye.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Jo(e,r,n))}add(e,r){return this._leafNode(new ba(e,M.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==L.nil&&this._leafNode(new xa(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,L.addCodeArg)(r,o));return r.push("}"),new L._Code(r)}if(e,r,n){if(this._blockNode(new Vt(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 Vt(e))}else(){return this._elseNode(new yr)}endIf(){return this._endBlockNode(Vt,yr)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Pa(e),r)}forRange(e,r,n,o,s=this.opts.es5?Ye.varKinds.var:Ye.varKinds.let){let i=this._scope.toName(e);return this._for(new Ta(s,i,r,n),()=>o(i))}forOf(e,r,n,o=Ye.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof L.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,L._)`${i}.length`,a=>{this.var(s,(0,L._)`${i}[${a}]`),n(s)})}return this._for(new Bo("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?Ye.varKinds.var:Ye.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,L._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new Bo("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Gt)}label(e){return this._leafNode(new Ea(e))}break(e){return this._leafNode(new wa(e))}return(e){let r=new wn;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(wn)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new za;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new kn(s),r(s)}return n&&(this._currNode=o.finally=new xn,this.code(n)),this._endBlockNode(kn,xn)}throw(e){return this._leafNode(new ka(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=L.nil,n,o){return this._blockNode(new En(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(En)}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 Vt))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}};M.CodeGen=Ra;function Kt(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Yo(t,e){return e instanceof L._CodeOrName?Kt(t,e.names):t}function Sr(t,e,r){if(t instanceof L.Name)return n(t);if(!o(t))return t;return new L._Code(t._items.reduce((s,i)=>(i instanceof L.Name&&(i=n(i)),i instanceof L._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 L._Code&&s._items.some(i=>i instanceof L.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function nE(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function cm(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,L._)`!${Ia(t)}`}M.not=cm;var oE=um(M.operators.AND);function sE(...t){return t.reduce(oE)}M.and=sE;var iE=um(M.operators.OR);function aE(...t){return t.reduce(iE)}M.or=aE;function um(t){return(e,r)=>e===L.nil?r:r===L.nil?e:(0,L._)`${Ia(e)} ${t} ${Ia(r)}`}function Ia(t){return t instanceof L.Name?t:(0,L._)`(${t})`}});var q=w(C=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.checkStrictMode=C.getErrorPath=C.Type=C.useFunc=C.setEvaluated=C.evaluatedPropsToName=C.mergeEvaluated=C.eachItem=C.unescapeJsonPointer=C.escapeJsonPointer=C.escapeFragment=C.unescapeFragment=C.schemaRefOrVal=C.schemaHasRulesButRef=C.schemaHasRules=C.checkUnknownRules=C.alwaysValidSchema=C.toHash=void 0;var K=A(),cE=vn();function uE(t){let e={};for(let r of t)e[r]=!0;return e}C.toHash=uE;function lE(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(pm(t,e),!fm(e,t.self.RULES.all))}C.alwaysValidSchema=lE;function pm(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]||gm(t,`unknown keyword: "${s}"`)}C.checkUnknownRules=pm;function fm(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}C.schemaHasRules=fm;function dE(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}C.schemaHasRulesButRef=dE;function pE({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,K._)`${r}`}return(0,K._)`${t}${e}${(0,K.getProperty)(n)}`}C.schemaRefOrVal=pE;function fE(t){return mm(decodeURIComponent(t))}C.unescapeFragment=fE;function mE(t){return encodeURIComponent(Aa(t))}C.escapeFragment=mE;function Aa(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}C.escapeJsonPointer=Aa;function mm(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}C.unescapeJsonPointer=mm;function hE(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}C.eachItem=hE;function lm({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof K.Name?(s instanceof K.Name?t(o,s,i):e(o,s,i),i):s instanceof K.Name?(e(o,i,s),s):r(s,i);return a===K.Name&&!(c instanceof K.Name)?n(o,c):c}}C.mergeEvaluated={props:lm({mergeNames:(t,e,r)=>t.if((0,K._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,K._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,K._)`${r} || {}`).code((0,K._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,K._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,K._)`${r} || {}`),Ma(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:hm}),items:lm({mergeNames:(t,e,r)=>t.if((0,K._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,K._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,K._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,K._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function hm(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,K._)`{}`);return e!==void 0&&Ma(t,r,e),r}C.evaluatedPropsToName=hm;function Ma(t,e,r){Object.keys(r).forEach(n=>t.assign((0,K._)`${e}${(0,K.getProperty)(n)}`,!0))}C.setEvaluated=Ma;var dm={};function gE(t,e){return t.scopeValue("func",{ref:e,code:dm[e.code]||(dm[e.code]=new cE._Code(e.code))})}C.useFunc=gE;var Oa;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Oa||(C.Type=Oa={}));function _E(t,e,r){if(t instanceof K.Name){let n=e===Oa.Num;return r?n?(0,K._)`"[" + ${t} + "]"`:(0,K._)`"['" + ${t} + "']"`:n?(0,K._)`"/" + ${t}`:(0,K._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,K.getProperty)(t).toString():"/"+Aa(t)}C.getErrorPath=_E;function gm(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}C.checkStrictMode=gm});var St=w(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});var be=A(),yE={data:new be.Name("data"),valCxt:new be.Name("valCxt"),instancePath:new be.Name("instancePath"),parentData:new be.Name("parentData"),parentDataProperty:new be.Name("parentDataProperty"),rootData:new be.Name("rootData"),dynamicAnchors:new be.Name("dynamicAnchors"),vErrors:new be.Name("vErrors"),errors:new be.Name("errors"),this:new be.Name("this"),self:new be.Name("self"),scope:new be.Name("scope"),json:new be.Name("json"),jsonPos:new be.Name("jsonPos"),jsonLen:new be.Name("jsonLen"),jsonPart:new be.Name("jsonPart")};Ca.default=yE});var $n=w(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.extendErrors=Ee.resetErrorsCount=Ee.reportExtraError=Ee.reportError=Ee.keyword$DataError=Ee.keywordError=void 0;var Z=A(),Qo=q(),Te=St();Ee.keywordError={message:({keyword:t})=>(0,Z.str)`must pass "${t}" keyword validation`};Ee.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Z.str)`"${t}" keyword must be ${e} ($data)`:(0,Z.str)`"${t}" keyword is invalid ($data)`};function SE(t,e=Ee.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Sm(t,e,r);n??(i||a)?_m(s,c):ym(o,(0,Z._)`[${c}]`)}Ee.reportError=SE;function vE(t,e=Ee.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Sm(t,e,r);_m(o,a),s||i||ym(n,Te.default.vErrors)}Ee.reportExtraError=vE;function bE(t,e){t.assign(Te.default.errors,e),t.if((0,Z._)`${Te.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Z._)`${Te.default.vErrors}.length`,e),()=>t.assign(Te.default.vErrors,null)))}Ee.resetErrorsCount=bE;function EE({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,Te.default.errors,a=>{t.const(i,(0,Z._)`${Te.default.vErrors}[${a}]`),t.if((0,Z._)`${i}.instancePath === undefined`,()=>t.assign((0,Z._)`${i}.instancePath`,(0,Z.strConcat)(Te.default.instancePath,s.errorPath))),t.assign((0,Z._)`${i}.schemaPath`,(0,Z.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,Z._)`${i}.schema`,r),t.assign((0,Z._)`${i}.data`,n))})}Ee.extendErrors=EE;function _m(t,e){let r=t.const("err",e);t.if((0,Z._)`${Te.default.vErrors} === null`,()=>t.assign(Te.default.vErrors,(0,Z._)`[${r}]`),(0,Z._)`${Te.default.vErrors}.push(${r})`),t.code((0,Z._)`${Te.default.errors}++`)}function ym(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,Z._)`new ${t.ValidationError}(${e})`):(r.assign((0,Z._)`${n}.errors`,e),r.return(!1))}var Jt={keyword:new Z.Name("keyword"),schemaPath:new Z.Name("schemaPath"),params:new Z.Name("params"),propertyName:new Z.Name("propertyName"),message:new Z.Name("message"),schema:new Z.Name("schema"),parentSchema:new Z.Name("parentSchema")};function Sm(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Z._)`{}`:wE(t,e,r)}function wE(t,e,r={}){let{gen:n,it:o}=t,s=[kE(o,r),xE(t,r)];return $E(t,e,s),n.object(...s)}function kE({errorPath:t},{instancePath:e}){let r=e?(0,Z.str)`${t}${(0,Qo.getErrorPath)(e,Qo.Type.Str)}`:t;return[Te.default.instancePath,(0,Z.strConcat)(Te.default.instancePath,r)]}function xE({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,Z.str)`${e}/${t}`;return r&&(o=(0,Z.str)`${o}${(0,Qo.getErrorPath)(r,Qo.Type.Str)}`),[Jt.schemaPath,o]}function $E(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([Jt.keyword,o],[Jt.params,typeof e=="function"?e(t):e||(0,Z._)`{}`]),c.messages&&n.push([Jt.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Jt.schema,i],[Jt.parentSchema,(0,Z._)`${l}${d}`],[Te.default.data,s]),u&&n.push([Jt.propertyName,u])}});var bm=w(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.boolOrEmptySchema=vr.topBoolOrEmptySchema=void 0;var PE=$n(),TE=A(),zE=St(),RE={message:"boolean schema is false"};function IE(t){let{gen:e,schema:r,validateName:n}=t;r===!1?vm(t,!1):typeof r=="object"&&r.$async===!0?e.return(zE.default.data):(e.assign((0,TE._)`${n}.errors`,null),e.return(!0))}vr.topBoolOrEmptySchema=IE;function OE(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),vm(t)):r.var(e,!0)}vr.boolOrEmptySchema=OE;function vm(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,PE.reportError)(o,RE,void 0,e)}});var Na=w(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.getRules=br.isJSONType=void 0;var AE=["string","number","integer","boolean","null","object","array"],ME=new Set(AE);function CE(t){return typeof t=="string"&&ME.has(t)}br.isJSONType=CE;function NE(){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:{}}}br.getRules=NE});var Da=w(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.shouldUseRule=Ot.shouldUseGroup=Ot.schemaHasRulesForType=void 0;function DE({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Em(t,n)}Ot.schemaHasRulesForType=DE;function Em(t,e){return e.rules.some(r=>wm(t,r))}Ot.shouldUseGroup=Em;function wm(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))}Ot.shouldUseRule=wm});var Pn=w(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.reportTypeError=we.checkDataTypes=we.checkDataType=we.coerceAndCheckDataType=we.getJSONTypes=we.getSchemaTypes=we.DataType=void 0;var jE=Na(),LE=Da(),UE=$n(),O=A(),km=q(),Er;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Er||(we.DataType=Er={}));function qE(t){let e=xm(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}we.getSchemaTypes=qE;function xm(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(jE.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}we.getJSONTypes=xm;function ZE(t,e){let{gen:r,data:n,opts:o}=t,s=FE(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,LE.schemaHasRulesForType)(t,e[0]));if(i){let a=La(e,n,o.strictNumbers,Er.Wrong);r.if(a,()=>{s.length?HE(t,e,s):Ua(t)})}return i}we.coerceAndCheckDataType=ZE;var $m=new Set(["string","number","integer","boolean","null"]);function FE(t,e){return e?t.filter(r=>$m.has(r)||e==="array"&&r==="array"):[]}function HE(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,O._)`typeof ${o}`),a=n.let("coerced",(0,O._)`undefined`);s.coerceTypes==="array"&&n.if((0,O._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,O._)`${o}[0]`).assign(i,(0,O._)`typeof ${o}`).if(La(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,O._)`${a} !== undefined`);for(let u of r)($m.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Ua(t),n.endIf(),n.if((0,O._)`${a} !== undefined`,()=>{n.assign(o,a),WE(t,a)});function c(u){switch(u){case"string":n.elseIf((0,O._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,O._)`"" + ${o}`).elseIf((0,O._)`${o} === null`).assign(a,(0,O._)`""`);return;case"number":n.elseIf((0,O._)`${i} == "boolean" || ${o} === null
|
|
4
|
+
|| (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,O._)`+${o}`);return;case"integer":n.elseIf((0,O._)`${i} === "boolean" || ${o} === null
|
|
5
|
+
|| (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,O._)`+${o}`);return;case"boolean":n.elseIf((0,O._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,O._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,O._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,O._)`${i} === "string" || ${i} === "number"
|
|
6
|
+
|| ${i} === "boolean" || ${o} === null`).assign(a,(0,O._)`[${o}]`)}}}function WE({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,O._)`${e} !== undefined`,()=>t.assign((0,O._)`${e}[${r}]`,n))}function ja(t,e,r,n=Er.Correct){let o=n===Er.Correct?O.operators.EQ:O.operators.NEQ,s;switch(t){case"null":return(0,O._)`${e} ${o} null`;case"array":s=(0,O._)`Array.isArray(${e})`;break;case"object":s=(0,O._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,O._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,O._)`typeof ${e} ${o} ${t}`}return n===Er.Correct?s:(0,O.not)(s);function i(a=O.nil){return(0,O.and)((0,O._)`typeof ${e} == "number"`,a,r?(0,O._)`isFinite(${e})`:O.nil)}}we.checkDataType=ja;function La(t,e,r,n){if(t.length===1)return ja(t[0],e,r,n);let o,s=(0,km.toHash)(t);if(s.array&&s.object){let i=(0,O._)`typeof ${e} != "object"`;o=s.null?i:(0,O._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=O.nil;s.number&&delete s.integer;for(let i in s)o=(0,O.and)(o,ja(i,e,r,n));return o}we.checkDataTypes=La;var VE={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,O._)`{type: ${t}}`:(0,O._)`{type: ${e}}`};function Ua(t){let e=GE(t);(0,UE.reportError)(e,VE)}we.reportTypeError=Ua;function GE(t){let{gen:e,data:r,schema:n}=t,o=(0,km.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Tm=w(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.assignDefaults=void 0;var wr=A(),KE=q();function JE(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Pm(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Pm(t,s,o.default))}es.assignDefaults=JE;function Pm(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,wr._)`${s}${(0,wr.getProperty)(e)}`;if(o){(0,KE.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,wr._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,wr._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,wr._)`${a} = ${(0,wr.stringify)(r)}`)}});var He=w(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.validateUnion=G.validateArray=G.usePattern=G.callValidateCode=G.schemaProperties=G.allSchemaProperties=G.noPropertyInData=G.propertyInData=G.isOwnProperty=G.hasPropFunc=G.reportMissingProp=G.checkMissingProp=G.checkReportMissingProp=void 0;var ee=A(),qa=q(),At=St(),BE=q();function YE(t,e){let{gen:r,data:n,it:o}=t;r.if(Fa(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ee._)`${e}`},!0),t.error()})}G.checkReportMissingProp=YE;function XE({gen:t,data:e,it:{opts:r}},n,o){return(0,ee.or)(...n.map(s=>(0,ee.and)(Fa(t,e,s,r.ownProperties),(0,ee._)`${o} = ${s}`)))}G.checkMissingProp=XE;function QE(t,e){t.setParams({missingProperty:e},!0),t.error()}G.reportMissingProp=QE;function zm(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ee._)`Object.prototype.hasOwnProperty`})}G.hasPropFunc=zm;function Za(t,e,r){return(0,ee._)`${zm(t)}.call(${e}, ${r})`}G.isOwnProperty=Za;function ew(t,e,r,n){let o=(0,ee._)`${e}${(0,ee.getProperty)(r)} !== undefined`;return n?(0,ee._)`${o} && ${Za(t,e,r)}`:o}G.propertyInData=ew;function Fa(t,e,r,n){let o=(0,ee._)`${e}${(0,ee.getProperty)(r)} === undefined`;return n?(0,ee.or)(o,(0,ee.not)(Za(t,e,r))):o}G.noPropertyInData=Fa;function Rm(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}G.allSchemaProperties=Rm;function tw(t,e){return Rm(e).filter(r=>!(0,qa.alwaysValidSchema)(t,e[r]))}G.schemaProperties=tw;function rw({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,ee._)`${t}, ${e}, ${n}${o}`:e,d=[[At.default.instancePath,(0,ee.strConcat)(At.default.instancePath,s)],[At.default.parentData,i.parentData],[At.default.parentDataProperty,i.parentDataProperty],[At.default.rootData,At.default.rootData]];i.opts.dynamicRef&&d.push([At.default.dynamicAnchors,At.default.dynamicAnchors]);let p=(0,ee._)`${l}, ${r.object(...d)}`;return c!==ee.nil?(0,ee._)`${a}.call(${c}, ${p})`:(0,ee._)`${a}(${p})`}G.callValidateCode=rw;var nw=(0,ee._)`new RegExp`;function ow({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,ee._)`${o.code==="new RegExp"?nw:(0,BE.useFunc)(t,o)}(${r}, ${n})`})}G.usePattern=ow;function sw(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,ee._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:qa.Type.Num},s),e.if((0,ee.not)(s),a)})}}G.validateArray=sw;function iw(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,qa.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,ee._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ee.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}G.validateUnion=iw});var Am=w(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.validateKeywordUsage=ot.validSchemaType=ot.funcKeywordCode=ot.macroKeywordCode=void 0;var ze=A(),Bt=St(),aw=He(),cw=$n();function uw(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Om(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:ze.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}ot.macroKeywordCode=uw;function lw(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;pw(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Om(n,o,u),d=n.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)_(),e.modifying&&Im(t),S(()=>t.error());else{let b=e.async?f():m();e.modifying&&Im(t),S(()=>dw(t,b))}}function f(){let b=n.let("ruleErrs",null);return n.try(()=>_((0,ze._)`await `),E=>n.assign(d,!1).if((0,ze._)`${E} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,ze._)`${E}.errors`),()=>n.throw(E))),b}function m(){let b=(0,ze._)`${l}.errors`;return n.assign(b,null),_(ze.nil),b}function _(b=e.async?(0,ze._)`await `:ze.nil){let E=c.opts.passContext?Bt.default.this:Bt.default.self,v=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,ze._)`${b}${(0,aw.callValidateCode)(t,l,E,v)}`,e.modifying)}function S(b){var E;n.if((0,ze.not)((E=e.valid)!==null&&E!==void 0?E:d),b)}}ot.funcKeywordCode=lw;function Im(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ze._)`${n.parentData}[${n.parentDataProperty}]`))}function dw(t,e){let{gen:r}=t;r.if((0,ze._)`Array.isArray(${e})`,()=>{r.assign(Bt.default.vErrors,(0,ze._)`${Bt.default.vErrors} === null ? ${e} : ${Bt.default.vErrors}.concat(${e})`).assign(Bt.default.errors,(0,ze._)`${Bt.default.vErrors}.length`),(0,cw.extendErrors)(t)},()=>t.error())}function pw({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Om(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,ze.stringify)(r)})}function fw(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")}ot.validSchemaType=fw;function mw({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)}}ot.validateKeywordUsage=mw});var Cm=w(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.extendSubschemaMode=Mt.extendSubschemaData=Mt.getSubschema=void 0;var st=A(),Mm=q();function hw(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,st._)`${t.schemaPath}${(0,st.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,st._)`${t.schemaPath}${(0,st.getProperty)(e)}${(0,st.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Mm.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')}Mt.getSubschema=hw;function gw(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,p=a.let("data",(0,st._)`${e.data}${(0,st.getProperty)(r)}`,!0);c(p),t.errorPath=(0,st.str)`${u}${(0,Mm.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,st._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof st.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]}}Mt.extendSubschemaData=gw;function _w(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}Mt.extendSubschemaMode=_w});var Ha=w((QM,Nm)=>{"use strict";Nm.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 jm=w((eC,Dm)=>{"use strict";var Ct=Dm.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(){};ts(e,n,o,t,"",t)};Ct.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Ct.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Ct.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Ct.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 ts(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 Ct.arrayKeywords)for(var p=0;p<d.length;p++)ts(t,e,r,d[p],o+"/"+l+"/"+p,s,o,l,n,p)}else if(l in Ct.propsKeywords){if(d&&typeof d=="object")for(var f in d)ts(t,e,r,d[f],o+"/"+l+"/"+yw(f),s,o,l,n,f)}else(l in Ct.keywords||t.allKeys&&!(l in Ct.skipKeywords))&&ts(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function yw(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Tn=w(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.getSchemaRefs=Ce.resolveUrl=Ce.normalizeId=Ce._getFullPath=Ce.getFullPath=Ce.inlineRef=void 0;var Sw=q(),vw=Ha(),bw=jm(),Ew=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function ww(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Wa(t):e?Lm(t)<=e:!1}Ce.inlineRef=ww;var kw=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Wa(t){for(let e in t){if(kw.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Wa)||typeof r=="object"&&Wa(r))return!0}return!1}function Lm(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Ew.has(r)&&(typeof t[r]=="object"&&(0,Sw.eachItem)(t[r],n=>e+=Lm(n)),e===1/0))return 1/0}return e}function Um(t,e="",r){r!==!1&&(e=kr(e));let n=t.parse(e);return qm(t,n)}Ce.getFullPath=Um;function qm(t,e){return t.serialize(e).split("#")[0]+"#"}Ce._getFullPath=qm;var xw=/#\/?$/;function kr(t){return t?t.replace(xw,""):""}Ce.normalizeId=kr;function $w(t,e,r){return r=kr(r),t.resolve(e,r)}Ce.resolveUrl=$w;var Pw=/^[a-z_][-a-z0-9._]*$/i;function Tw(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=kr(t[r]||e),s={"":o},i=Um(n,o,!1),a={},c=new Set;return bw(t,{allKeys:!0},(d,p,f,m)=>{if(m===void 0)return;let _=i+p,S=s[m];typeof d[r]=="string"&&(S=b.call(this,d[r])),E.call(this,d.$anchor),E.call(this,d.$dynamicAnchor),s[p]=S;function b(v){let $=this.opts.uriResolver.resolve;if(v=kr(S?$(S,v):v),c.has(v))throw l(v);c.add(v);let x=this.refs[v];return typeof x=="string"&&(x=this.refs[x]),typeof x=="object"?u(d,x.schema,v):v!==kr(_)&&(v[0]==="#"?(u(d,a[v],v),a[v]=d):this.refs[v]=_),v}function E(v){if(typeof v=="string"){if(!Pw.test(v))throw new Error(`invalid anchor "${v}"`);b.call(this,`#${v}`)}}}),a;function u(d,p,f){if(p!==void 0&&!vw(d,p))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Ce.getSchemaRefs=Tw});var In=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.getData=Nt.KeywordCxt=Nt.validateFunctionCode=void 0;var Vm=bm(),Zm=Pn(),Ga=Da(),rs=Pn(),zw=Tm(),Rn=Am(),Va=Cm(),T=A(),R=St(),Rw=Tn(),vt=q(),zn=$n();function Iw(t){if(Jm(t)&&(Bm(t),Km(t))){Mw(t);return}Gm(t,()=>(0,Vm.topBoolOrEmptySchema)(t))}Nt.validateFunctionCode=Iw;function Gm({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,T._)`${R.default.data}, ${R.default.valCxt}`,n.$async,()=>{t.code((0,T._)`"use strict"; ${Fm(r,o)}`),Aw(t,o),t.code(s)}):t.func(e,(0,T._)`${R.default.data}, ${Ow(o)}`,n.$async,()=>t.code(Fm(r,o)).code(s))}function Ow(t){return(0,T._)`{${R.default.instancePath}="", ${R.default.parentData}, ${R.default.parentDataProperty}, ${R.default.rootData}=${R.default.data}${t.dynamicRef?(0,T._)`, ${R.default.dynamicAnchors}={}`:T.nil}}={}`}function Aw(t,e){t.if(R.default.valCxt,()=>{t.var(R.default.instancePath,(0,T._)`${R.default.valCxt}.${R.default.instancePath}`),t.var(R.default.parentData,(0,T._)`${R.default.valCxt}.${R.default.parentData}`),t.var(R.default.parentDataProperty,(0,T._)`${R.default.valCxt}.${R.default.parentDataProperty}`),t.var(R.default.rootData,(0,T._)`${R.default.valCxt}.${R.default.rootData}`),e.dynamicRef&&t.var(R.default.dynamicAnchors,(0,T._)`${R.default.valCxt}.${R.default.dynamicAnchors}`)},()=>{t.var(R.default.instancePath,(0,T._)`""`),t.var(R.default.parentData,(0,T._)`undefined`),t.var(R.default.parentDataProperty,(0,T._)`undefined`),t.var(R.default.rootData,R.default.data),e.dynamicRef&&t.var(R.default.dynamicAnchors,(0,T._)`{}`)})}function Mw(t){let{schema:e,opts:r,gen:n}=t;Gm(t,()=>{r.$comment&&e.$comment&&Xm(t),Lw(t),n.let(R.default.vErrors,null),n.let(R.default.errors,0),r.unevaluated&&Cw(t),Ym(t),Zw(t)})}function Cw(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,T._)`${r}.evaluated`),e.if((0,T._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,T._)`${t.evaluated}.props`,(0,T._)`undefined`)),e.if((0,T._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,T._)`${t.evaluated}.items`,(0,T._)`undefined`))}function Fm(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,T._)`/*# sourceURL=${r} */`:T.nil}function Nw(t,e){if(Jm(t)&&(Bm(t),Km(t))){Dw(t,e);return}(0,Vm.boolOrEmptySchema)(t,e)}function Km({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 Jm(t){return typeof t.schema!="boolean"}function Dw(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Xm(t),Uw(t),qw(t);let s=n.const("_errs",R.default.errors);Ym(t,s),n.var(e,(0,T._)`${s} === ${R.default.errors}`)}function Bm(t){(0,vt.checkUnknownRules)(t),jw(t)}function Ym(t,e){if(t.opts.jtd)return Hm(t,[],!1,e);let r=(0,Zm.getSchemaTypes)(t.schema),n=(0,Zm.coerceAndCheckDataType)(t,r);Hm(t,r,!n,e)}function jw(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,vt.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Lw(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,vt.checkStrictMode)(t,"default is ignored in the schema root")}function Uw(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Rw.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function qw(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Xm({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,T._)`${R.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,T.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,T._)`${R.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function Zw(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,T._)`${R.default.errors} === 0`,()=>e.return(R.default.data),()=>e.throw((0,T._)`new ${o}(${R.default.vErrors})`)):(e.assign((0,T._)`${n}.errors`,R.default.vErrors),s.unevaluated&&Fw(t),e.return((0,T._)`${R.default.errors} === 0`))}function Fw({gen:t,evaluated:e,props:r,items:n}){r instanceof T.Name&&t.assign((0,T._)`${e}.props`,r),n instanceof T.Name&&t.assign((0,T._)`${e}.items`,n)}function Hm(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,vt.schemaHasRulesButRef)(s,l))){o.block(()=>eh(t,"$ref",l.all.$ref.definition));return}c.jtd||Hw(t,e),o.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,Ga.shouldUseGroup)(s,p)&&(p.type?(o.if((0,rs.checkDataType)(p.type,i,c.strictNumbers)),Wm(t,p),e.length===1&&e[0]===p.type&&r&&(o.else(),(0,rs.reportTypeError)(t)),o.endIf()):Wm(t,p),a||o.if((0,T._)`${R.default.errors} === ${n||0}`))}}function Wm(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,zw.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Ga.shouldUseRule)(n,s)&&eh(t,s.keyword,s.definition,e.type)})}function Hw(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(Ww(t,e),t.opts.allowUnionTypes||Vw(t,e),Gw(t,t.dataTypes))}function Ww(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Qm(t.dataTypes,r)||Ka(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),Jw(t,e)}}function Vw(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Ka(t,"use allowUnionTypes to allow union type keyword")}function Gw(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Ga.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>Kw(e,i))&&Ka(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function Kw(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Qm(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Jw(t,e){let r=[];for(let n of t.dataTypes)Qm(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Ka(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,vt.checkStrictMode)(t,e,t.opts.strictTypes)}var ns=class{constructor(e,r,n){if((0,Rn.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,vt.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",th(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Rn.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",R.default.errors))}result(e,r,n){this.failResult((0,T.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,T.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,T._)`${r} !== undefined && (${(0,T.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?zn.reportExtraError:zn.reportError)(this,this.def.error,r)}$dataError(){(0,zn.reportError)(this,this.def.$dataError||zn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,zn.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=T.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=T.nil,r=T.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,T.or)((0,T._)`${o} === undefined`,r)),e!==T.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==T.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,T.or)(i(),a());function i(){if(n.length){if(!(r instanceof T.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,T._)`${(0,rs.checkDataTypes)(c,r,s.opts.strictNumbers,rs.DataType.Wrong)}`}return T.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,T._)`!${c}(${r})`}return T.nil}}subschema(e,r){let n=(0,Va.getSubschema)(this.it,e);(0,Va.extendSubschemaData)(n,this.it,e),(0,Va.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return Nw(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=vt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=vt.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,T.Name)),!0}};Nt.KeywordCxt=ns;function eh(t,e,r,n){let o=new ns(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Rn.funcKeywordCode)(o,r):"macro"in r?(0,Rn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Rn.funcKeywordCode)(o,r)}var Bw=/^\/(?:[^~]|~0|~1)*$/,Yw=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function th(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return R.default.rootData;if(t[0]==="/"){if(!Bw.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=R.default.rootData}else{let u=Yw.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,T._)`${s}${(0,T.getProperty)((0,vt.unescapeJsonPointer)(u))}`,i=(0,T._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Nt.getData=th});var os=w(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});var Ja=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Ba.default=Ja});var On=w(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});var Ya=Tn(),Xa=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Ya.resolveUrl)(e,r,n),this.missingSchema=(0,Ya.normalizeId)((0,Ya.getFullPath)(e,this.missingRef))}};Qa.default=Xa});var is=w(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.resolveSchema=We.getCompilingSchema=We.resolveRef=We.compileSchema=We.SchemaEnv=void 0;var Xe=A(),Xw=os(),Yt=St(),Qe=Tn(),rh=q(),Qw=In(),xr=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,Qe.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};We.SchemaEnv=xr;function tc(t){let e=nh.call(this,t);if(e)return e;let r=(0,Qe.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Xe.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:Xw.default,code:(0,Xe._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Yt.default.data,parentData:Yt.default.parentData,parentDataProperty:Yt.default.parentDataProperty,dataNames:[Yt.default.data],dataPathArr:[Xe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Xe.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Xe.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Xe._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,Qw.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Yt.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${Yt.default.self}`,`${Yt.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:m,items:_}=u;f.evaluated={props:m instanceof Xe.Name?void 0:m,items:_ instanceof Xe.Name?void 0:_,dynamicProps:m instanceof Xe.Name,dynamicItems:_ instanceof Xe.Name},f.source&&(f.source.evaluated=(0,Xe.stringify)(f.evaluated))}return t.validate=f,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)}}We.compileSchema=tc;function ek(t,e,r){var n;r=(0,Qe.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=nk.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 xr({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=tk.call(this,s)}We.resolveRef=ek;function tk(t){return(0,Qe.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:tc.call(this,t)}function nh(t){for(let e of this._compilations)if(rk(e,t))return e}We.getCompilingSchema=nh;function rk(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function nk(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||ss.call(this,t,e)}function ss(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Qe._getFullPath)(this.opts.uriResolver,r),o=(0,Qe.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return ec.call(this,r,t);let s=(0,Qe.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=ss.call(this,t,i);return typeof a?.schema!="object"?void 0:ec.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||tc.call(this,i),s===(0,Qe.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Qe.resolveUrl)(this.opts.uriResolver,o,u)),new xr({schema:a,schemaId:c,root:t,baseId:o})}return ec.call(this,r,i)}}We.resolveSchema=ss;var ok=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function ec(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,rh.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!ok.has(a)&&u&&(e=(0,Qe.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,rh.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Qe.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=ss.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new xr({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var oh=w((iC,sk)=>{sk.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 oc=w((aC,lh)=>{"use strict";var ik=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),ih=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),rc=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),ah=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),ak=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function nc(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var ck=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function sh(t){return t.length=0,!0}function uk(t,e,r){if(t.length){let n=nc(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function lk(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=uk;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=sh}else{o.push(u);continue}}return o.length&&(a===sh?r.zone=o.join(""):i?n.push(o.join("")):n.push(nc(o))),r.address=n.join(""),r}function ch(t){if(dk(t,":")<2)return{host:t,isIPV6:!1};let e=lk(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 dk(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function pk(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}var fk={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},mk=/[@/?#:]/g,hk=/[@/?#]/g;function uh(t,e){let r=e?hk:mk;return r.lastIndex=0,t.replace(r,n=>fk[n])}function gk(t,e=!1){if(t.indexOf("%")===-1)return t;let r="";for(let n=0;n<t.length;n++){if(t[n]==="%"&&n+2<t.length){let o=t.slice(n+1,n+3);if(rc(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));e&&ah(i)?r+=i:r+="%"+s,n+=2;continue}}r+=t[n]}return r}function _k(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let n=t.slice(r+1,r+3);if(rc(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&ah(s)?e+=s:e+="%"+o,r+=2;continue}}ak(t[r])?e+=t[r]:e+=escape(t[r])}return e}function yk(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let n=t.slice(r+1,r+3);if(rc(n)){e+="%"+n.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function Sk(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!ih(r)){let n=ch(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=uh(r,!1)}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}lh.exports={nonSimpleDomain:ck,recomposeAuthority:Sk,reescapeHostDelimiters:uh,normalizePercentEncoding:gk,normalizePathEncoding:_k,escapePreservingEscapes:yk,removeDotSegments:pk,isIPv4:ih,isUUID:ik,normalizeIPv6:ch,stringArrayToHexStripped:nc}});var hh=w((cC,mh)=>{"use strict";var{isUUID:vk}=oc(),bk=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Ek=["http","https","ws","wss","urn","urn:uuid"];function wk(t){return Ek.indexOf(t)!==-1}function sc(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 dh(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function ph(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 kk(t){return t.secure=sc(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function xk(t){if((t.port===(sc(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 $k(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(bk);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=ic(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function Pk(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=ic(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 Tk(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!vk(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function zk(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var fh={scheme:"http",domainHost:!0,parse:dh,serialize:ph},Rk={scheme:"https",domainHost:fh.domainHost,parse:dh,serialize:ph},as={scheme:"ws",domainHost:!0,parse:kk,serialize:xk},Ik={scheme:"wss",domainHost:as.domainHost,parse:as.parse,serialize:as.serialize},Ok={scheme:"urn",parse:$k,serialize:Pk,skipNormalize:!0},Ak={scheme:"urn:uuid",parse:Tk,serialize:zk,skipNormalize:!0},cs={http:fh,https:Rk,ws:as,wss:Ik,urn:Ok,"urn:uuid":Ak};Object.setPrototypeOf(cs,null);function ic(t){return t&&(cs[t]||cs[t.toLowerCase()])||void 0}mh.exports={wsIsSecure:sc,SCHEMES:cs,isValidSchemeName:wk,getSchemeHandler:ic}});var bh=w((uC,us)=>{"use strict";var{normalizeIPv6:Mk,removeDotSegments:An,recomposeAuthority:Ck,normalizePercentEncoding:Nk,normalizePathEncoding:Dk,escapePreservingEscapes:jk,reescapeHostDelimiters:Lk,isIPv4:Uk,nonSimpleDomain:qk}=oc(),{SCHEMES:Zk,getSchemeHandler:_h}=hh();function Fk(t,e){return typeof t=="string"?t=Kk(t,e):typeof t=="object"&&(t=$r(Xt(t,e),e)),t}function Hk(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=yh($r(t,n),$r(e,n),n,!0);return n.skipEscape=!0,Xt(o,n)}function yh(t,e,r,n){let o={};return n||(t=$r(Xt(t,r),r),e=$r(Xt(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=An(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=An(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=An(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=An(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 Wk(t,e,r){let n=gh(t,r),o=gh(e,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Xt(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=_h(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=Nk(r.path):(r.path=jk(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=Ck(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=An(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 Vk=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Gk(t,e){if(e[2]!==void 0&&t.path&&t.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof t.port=="number"&&(t.port<0||t.port>65535))return"URI port is malformed."}function Sh(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,s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(Vk);if(i){n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]);let a=Gk(n,i);if(a!==void 0&&(n.error=n.error||a,o=!0),n.host)if(Uk(n.host)===!1){let l=Mk(n.host);n.host=l.host.toLowerCase(),s=l.isIPV6}else s=!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 c=_h(r.scheme||n.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&n.host&&(r.domainHost||c&&c.domainHost)&&s===!1&&qk(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(u){n.error=n.error||"Host's domain name can not be converted to ASCII: "+u}if((!c||c&&!c.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=Lk(unescape(n.host),s))),n.path&&(n.path=Dk(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}c&&c.parse&&c.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function $r(t,e){return Sh(t,e).parsed}function Kk(t,e){return vh(t,e).normalized}function vh(t,e){let{parsed:r,malformedAuthorityOrPort:n}=Sh(t,e);return{normalized:n?t:Xt(r,e),malformedAuthorityOrPort:n}}function gh(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=vh(t,e);return n?void 0:r}if(typeof t=="object")return Xt(t,e)}var ac={SCHEMES:Zk,normalize:Fk,resolve:Hk,resolveComponent:yh,equal:Wk,serialize:Xt,parse:$r};us.exports=ac;us.exports.default=ac;us.exports.fastUri=ac});var wh=w(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var Eh=bh();Eh.code='require("ajv/dist/runtime/uri").default';cc.default=Eh});var Ih=w(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.CodeGen=_e.Name=_e.nil=_e.stringify=_e.str=_e._=_e.KeywordCxt=void 0;var Jk=In();Object.defineProperty(_e,"KeywordCxt",{enumerable:!0,get:function(){return Jk.KeywordCxt}});var Pr=A();Object.defineProperty(_e,"_",{enumerable:!0,get:function(){return Pr._}});Object.defineProperty(_e,"str",{enumerable:!0,get:function(){return Pr.str}});Object.defineProperty(_e,"stringify",{enumerable:!0,get:function(){return Pr.stringify}});Object.defineProperty(_e,"nil",{enumerable:!0,get:function(){return Pr.nil}});Object.defineProperty(_e,"Name",{enumerable:!0,get:function(){return Pr.Name}});Object.defineProperty(_e,"CodeGen",{enumerable:!0,get:function(){return Pr.CodeGen}});var Bk=os(),Th=On(),Yk=Na(),Mn=is(),Xk=A(),Cn=Tn(),ls=Pn(),lc=q(),kh=oh(),Qk=wh(),zh=(t,e)=>new RegExp(t,e);zh.code="new RegExp";var ex=["removeAdditional","useDefaults","coerceTypes"],tx=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),rx={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."},nx={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},xh=200;function ox(t){var e,r,n,o,s,i,a,c,u,l,d,p,f,m,_,S,b,E,v,$,x,ve,ke,qt,sr;let ce=t.strict,wt=(e=t.code)===null||e===void 0?void 0:e.optimize,Je=wt===!0||wt===void 0?1:wt||0,Zr=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:zh,uy=(o=t.uriResolver)!==null&&o!==void 0?o:Qk.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:ce)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:ce)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:ce)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:ce)!==null&&p!==void 0?p:"log",strictRequired:(m=(f=t.strictRequired)!==null&&f!==void 0?f:ce)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:Je,regExp:Zr}:{optimize:Je,regExp:Zr},loopRequired:(_=t.loopRequired)!==null&&_!==void 0?_:xh,loopEnum:(S=t.loopEnum)!==null&&S!==void 0?S:xh,meta:(b=t.meta)!==null&&b!==void 0?b:!0,messages:(E=t.messages)!==null&&E!==void 0?E:!0,inlineRefs:(v=t.inlineRefs)!==null&&v!==void 0?v:!0,schemaId:($=t.schemaId)!==null&&$!==void 0?$:"$id",addUsedSchema:(x=t.addUsedSchema)!==null&&x!==void 0?x:!0,validateSchema:(ve=t.validateSchema)!==null&&ve!==void 0?ve:!0,validateFormats:(ke=t.validateFormats)!==null&&ke!==void 0?ke:!0,unicodeRegExp:(qt=t.unicodeRegExp)!==null&&qt!==void 0?qt:!0,int32range:(sr=t.int32range)!==null&&sr!==void 0?sr:!0,uriResolver:uy}}var Nn=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...ox(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new Xk.ValueScope({scope:{},prefixes:tx,es5:r,lines:n}),this.logger=lx(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Yk.getRules)(),$h.call(this,rx,e,"NOT SUPPORTED"),$h.call(this,nx,e,"DEPRECATED","warn"),this._metaOpts=cx.call(this),e.formats&&ix.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&ax.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),sx.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=kh;n==="id"&&(o={...kh},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 p=this._addSchema(l,d);return p.validate||i.call(this,p)}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 Th.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,Cn.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=Ph.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Mn.SchemaEnv({schema:{},schemaId:n});if(r=Mn.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=Ph.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,Cn.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(px.call(this,n,r),!r)return(0,lc.eachItem)(n,s=>uc.call(this,s)),this;mx.call(this,r);let o={...r,type:(0,ls.getJSONTypes)(r.type),schemaType:(0,ls.getJSONTypes)(r.schemaType)};return(0,lc.eachItem)(n,o.type.length===0?s=>uc.call(this,s,o):s=>o.type.forEach(i=>uc.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]=Rh(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,Cn.normalizeId)(i||n);let u=Cn.getSchemaRefs.call(this,e,n);return c=new Mn.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):Mn.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{Mn.compileSchema.call(this,e)}finally{this.opts=r}}};Nn.ValidationError=Bk.default;Nn.MissingRefError=Th.default;_e.default=Nn;function $h(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 Ph(t){return t=(0,Cn.normalizeId)(t),this.schemas[t]||this.refs[t]}function sx(){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 ix(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function ax(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 cx(){let t={...this.opts};for(let e of ex)delete t[e];return t}var ux={log(){},warn(){},error(){}};function lx(t){if(t===!1)return ux;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 dx=/^[a-z_$][a-z0-9_$:-]*$/i;function px(t,e){let{RULES:r}=this;if((0,lc.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!dx.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 uc(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,ls.getJSONTypes)(e.type),schemaType:(0,ls.getJSONTypes)(e.schemaType)}};e.before?fx.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 fx(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 mx(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Rh(e)),t.validateSchema=this.compile(e,!0))}var hx={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Rh(t){return{anyOf:[t,hx]}}});var Oh=w(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var gx={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};dc.default=gx});var Nh=w(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.callRef=Qt.getValidate=void 0;var _x=On(),Ah=He(),Ne=A(),Tr=St(),Mh=is(),ds=q(),yx={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=Mh.resolveRef.call(c,u,o,r);if(l===void 0)throw new _x.default(n.opts.uriResolver,o,r);if(l instanceof Mh.SchemaEnv)return p(l);return f(l);function d(){if(s===u)return ps(t,i,s,s.$async);let m=e.scopeValue("root",{ref:u});return ps(t,(0,Ne._)`${m}.validate`,u,u.$async)}function p(m){let _=Ch(t,m);ps(t,_,m,m.$async)}function f(m){let _=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Ne.stringify)(m)}:{ref:m}),S=e.name("valid"),b=t.subschema({schema:m,dataTypes:[],schemaPath:Ne.nil,topSchemaRef:_,errSchemaPath:r},S);t.mergeEvaluated(b),t.ok(S)}}};function Ch(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Ne._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Qt.getValidate=Ch;function ps(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Tr.default.this:Ne.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let m=o.let("valid");o.try(()=>{o.code((0,Ne._)`await ${(0,Ah.callValidateCode)(t,e,u)}`),f(e),i||o.assign(m,!0)},_=>{o.if((0,Ne._)`!(${_} instanceof ${s.ValidationError})`,()=>o.throw(_)),p(_),i||o.assign(m,!1)}),t.ok(m)}function d(){t.result((0,Ah.callValidateCode)(t,e,u),()=>f(e),()=>p(e))}function p(m){let _=(0,Ne._)`${m}.errors`;o.assign(Tr.default.vErrors,(0,Ne._)`${Tr.default.vErrors} === null ? ${_} : ${Tr.default.vErrors}.concat(${_})`),o.assign(Tr.default.errors,(0,Ne._)`${Tr.default.vErrors}.length`)}function f(m){var _;if(!s.opts.unevaluated)return;let S=(_=r?.validate)===null||_===void 0?void 0:_.evaluated;if(s.props!==!0)if(S&&!S.dynamicProps)S.props!==void 0&&(s.props=ds.mergeEvaluated.props(o,S.props,s.props));else{let b=o.var("props",(0,Ne._)`${m}.evaluated.props`);s.props=ds.mergeEvaluated.props(o,b,s.props,Ne.Name)}if(s.items!==!0)if(S&&!S.dynamicItems)S.items!==void 0&&(s.items=ds.mergeEvaluated.items(o,S.items,s.items));else{let b=o.var("items",(0,Ne._)`${m}.evaluated.items`);s.items=ds.mergeEvaluated.items(o,b,s.items,Ne.Name)}}}Qt.callRef=ps;Qt.default=yx});var Dh=w(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var Sx=Oh(),vx=Nh(),bx=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Sx.default,vx.default];pc.default=bx});var jh=w(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var fs=A(),Dt=fs.operators,ms={maximum:{okStr:"<=",ok:Dt.LTE,fail:Dt.GT},minimum:{okStr:">=",ok:Dt.GTE,fail:Dt.LT},exclusiveMaximum:{okStr:"<",ok:Dt.LT,fail:Dt.GTE},exclusiveMinimum:{okStr:">",ok:Dt.GT,fail:Dt.LTE}},Ex={message:({keyword:t,schemaCode:e})=>(0,fs.str)`must be ${ms[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,fs._)`{comparison: ${ms[t].okStr}, limit: ${e}}`},wx={keyword:Object.keys(ms),type:"number",schemaType:"number",$data:!0,error:Ex,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,fs._)`${r} ${ms[e].fail} ${n} || isNaN(${r})`)}};fc.default=wx});var Lh=w(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});var Dn=A(),kx={message:({schemaCode:t})=>(0,Dn.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Dn._)`{multipleOf: ${t}}`},xx={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:kx,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,Dn._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Dn._)`${i} !== parseInt(${i})`;t.fail$data((0,Dn._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};mc.default=xx});var qh=w(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});function Uh(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}hc.default=Uh;Uh.code='require("ajv/dist/runtime/ucs2length").default'});var Zh=w(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});var er=A(),$x=q(),Px=qh(),Tx={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,er.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,er._)`{limit: ${t}}`},zx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Tx,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?er.operators.GT:er.operators.LT,i=o.opts.unicode===!1?(0,er._)`${r}.length`:(0,er._)`${(0,$x.useFunc)(t.gen,Px.default)}(${r})`;t.fail$data((0,er._)`${i} ${s} ${n}`)}};gc.default=zx});var Fh=w(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});var Rx=He(),Ix=q(),zr=A(),Ox={message:({schemaCode:t})=>(0,zr.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,zr._)`{pattern: ${t}}`},Ax={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Ox,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,zr._)`new RegExp`:(0,Ix.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,zr._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,zr._)`!${l}`)}else{let c=(0,Rx.usePattern)(t,o);t.fail$data((0,zr._)`!${c}.test(${r})`)}}};_c.default=Ax});var Hh=w(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});var jn=A(),Mx={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,jn.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,jn._)`{limit: ${t}}`},Cx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Mx,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?jn.operators.GT:jn.operators.LT;t.fail$data((0,jn._)`Object.keys(${r}).length ${o} ${n}`)}};yc.default=Cx});var Wh=w(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});var Ln=He(),Un=A(),Nx=q(),Dx={message:({params:{missingProperty:t}})=>(0,Un.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Un._)`{missingProperty: ${t}}`},jx={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Dx,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 f=t.parentSchema.properties,{definedProperties:m}=t.it;for(let _ of r)if(f?.[_]===void 0&&!m.has(_)){let S=i.schemaEnv.baseId+i.errSchemaPath,b=`required property "${_}" is not defined at "${S}" (strictRequired)`;(0,Nx.checkStrictMode)(i,b,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(Un.nil,d);else for(let f of r)(0,Ln.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||s){let m=e.let("valid",!0);t.block$data(m,()=>p(f,m)),t.ok(m)}else e.if((0,Ln.checkMissingProp)(t,r,f)),(0,Ln.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,Ln.noPropertyInData)(e,o,f,a.ownProperties),()=>t.error())})}function p(f,m){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(m,(0,Ln.propertyInData)(e,o,f,a.ownProperties)),e.if((0,Un.not)(m),()=>{t.error(),e.break()})},Un.nil)}}};Sc.default=jx});var Vh=w(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});var qn=A(),Lx={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,qn.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,qn._)`{limit: ${t}}`},Ux={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Lx,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?qn.operators.GT:qn.operators.LT;t.fail$data((0,qn._)`${r}.length ${o} ${n}`)}};vc.default=Ux});var hs=w(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});var Gh=Ha();Gh.code='require("ajv/dist/runtime/equal").default';bc.default=Gh});var Kh=w(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});var Ec=Pn(),ye=A(),qx=q(),Zx=hs(),Fx={message:({params:{i:t,j:e}})=>(0,ye.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,ye._)`{i: ${t}, j: ${e}}`},Hx={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Fx,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,Ec.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,ye._)`${i} === false`),t.ok(c);function l(){let m=e.let("i",(0,ye._)`${r}.length`),_=e.let("j");t.setParams({i:m,j:_}),e.assign(c,!0),e.if((0,ye._)`${m} > 1`,()=>(d()?p:f)(m,_))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function p(m,_){let S=e.name("item"),b=(0,Ec.checkDataTypes)(u,S,a.opts.strictNumbers,Ec.DataType.Wrong),E=e.const("indices",(0,ye._)`{}`);e.for((0,ye._)`;${m}--;`,()=>{e.let(S,(0,ye._)`${r}[${m}]`),e.if(b,(0,ye._)`continue`),u.length>1&&e.if((0,ye._)`typeof ${S} == "string"`,(0,ye._)`${S} += "_"`),e.if((0,ye._)`typeof ${E}[${S}] == "number"`,()=>{e.assign(_,(0,ye._)`${E}[${S}]`),t.error(),e.assign(c,!1).break()}).code((0,ye._)`${E}[${S}] = ${m}`)})}function f(m,_){let S=(0,qx.useFunc)(e,Zx.default),b=e.name("outer");e.label(b).for((0,ye._)`;${m}--;`,()=>e.for((0,ye._)`${_} = ${m}; ${_}--;`,()=>e.if((0,ye._)`${S}(${r}[${m}], ${r}[${_}])`,()=>{t.error(),e.assign(c,!1).break(b)})))}}};wc.default=Hx});var Jh=w(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});var kc=A(),Wx=q(),Vx=hs(),Gx={message:"must be equal to constant",params:({schemaCode:t})=>(0,kc._)`{allowedValue: ${t}}`},Kx={keyword:"const",$data:!0,error:Gx,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,kc._)`!${(0,Wx.useFunc)(e,Vx.default)}(${r}, ${o})`):t.fail((0,kc._)`${s} !== ${r}`)}};xc.default=Kx});var Bh=w($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});var Zn=A(),Jx=q(),Bx=hs(),Yx={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Zn._)`{allowedValues: ${t}}`},Xx={keyword:"enum",schemaType:"array",$data:!0,error:Yx,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,Jx.useFunc)(e,Bx.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 f=e.const("vSchema",s);l=(0,Zn.or)(...o.map((m,_)=>p(f,_)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,f=>e.if((0,Zn._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function p(f,m){let _=o[m];return typeof _=="object"&&_!==null?(0,Zn._)`${u()}(${r}, ${f}[${m}])`:(0,Zn._)`${r} === ${_}`}}};$c.default=Xx});var Yh=w(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});var Qx=jh(),e0=Lh(),t0=Zh(),r0=Fh(),n0=Hh(),o0=Wh(),s0=Vh(),i0=Kh(),a0=Jh(),c0=Bh(),u0=[Qx.default,e0.default,t0.default,r0.default,n0.default,o0.default,s0.default,i0.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},a0.default,c0.default];Pc.default=u0});var zc=w(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.validateAdditionalItems=void 0;var tr=A(),Tc=q(),l0={message:({params:{len:t}})=>(0,tr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,tr._)`{limit: ${t}}`},d0={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:l0,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Tc.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Xh(t,n)}};function Xh(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,tr._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,tr._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Tc.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,tr._)`${a} <= ${e.length}`);r.if((0,tr.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Tc.Type.Num},u),i.allErrors||r.if((0,tr.not)(u),()=>r.break())})}}Fn.validateAdditionalItems=Xh;Fn.default=d0});var Rc=w(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.validateTuple=void 0;var Qh=A(),gs=q(),p0=He(),f0={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return eg(t,"additionalItems",e);r.items=!0,!(0,gs.alwaysValidSchema)(r,e)&&t.ok((0,p0.validateArray)(t))}};function eg(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=gs.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Qh._)`${s}.length`);r.forEach((d,p)=>{(0,gs.alwaysValidSchema)(a,d)||(n.if((0,Qh._)`${u} > ${p}`,()=>t.subschema({keyword:i,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:f}=a,m=r.length,_=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(p.strictTuples&&!_){let S=`"${i}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,gs.checkStrictMode)(a,S,p.strictTuples)}}}Hn.validateTuple=eg;Hn.default=f0});var tg=w(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});var m0=Rc(),h0={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,m0.validateTuple)(t,"items")};Ic.default=h0});var ng=w(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});var rg=A(),g0=q(),_0=He(),y0=zc(),S0={message:({params:{len:t}})=>(0,rg.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,rg._)`{limit: ${t}}`},v0={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:S0,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,g0.alwaysValidSchema)(n,e)&&(o?(0,y0.validateAdditionalItems)(t,o):t.ok((0,_0.validateArray)(t)))}};Oc.default=v0});var og=w(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});var Ve=A(),_s=q(),b0={message:({params:{min:t,max:e}})=>e===void 0?(0,Ve.str)`must contain at least ${t} valid item(s)`:(0,Ve.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Ve._)`{minContains: ${t}}`:(0,Ve._)`{minContains: ${t}, maxContains: ${e}}`},E0={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:b0,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,Ve._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,_s.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,_s.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,_s.alwaysValidSchema)(s,r)){let _=(0,Ve._)`${l} >= ${i}`;a!==void 0&&(_=(0,Ve._)`${_} && ${l} <= ${a}`),t.pass(_);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?f(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,Ve._)`${o}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let _=e.name("_valid"),S=e.let("count",0);f(_,()=>e.if(_,()=>m(S)))}function f(_,S){e.forRange("i",0,l,b=>{t.subschema({keyword:"contains",dataProp:b,dataPropType:_s.Type.Num,compositeRule:!0},_),S()})}function m(_){e.code((0,Ve._)`${_}++`),a===void 0?e.if((0,Ve._)`${_} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,Ve._)`${_} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,Ve._)`${_} >= ${i}`,()=>e.assign(d,!0)))}}};Ac.default=E0});var ag=w(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.validateSchemaDeps=it.validatePropertyDeps=it.error=void 0;var Mc=A(),w0=q(),Wn=He();it.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Mc.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Mc._)`{property: ${t},
|
|
7
|
+
missingProperty: ${n},
|
|
8
|
+
depsCount: ${e},
|
|
9
|
+
deps: ${r}}`};var k0={keyword:"dependencies",type:"object",schemaType:"object",error:it.error,code(t){let[e,r]=x0(t);sg(t,e),ig(t,r)}};function x0({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 sg(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,Wn.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,Wn.checkReportMissingProp)(t,u)}):(r.if((0,Mc._)`${c} && (${(0,Wn.checkMissingProp)(t,a,s)})`),(0,Wn.reportMissingProp)(t,s),r.else())}}it.validatePropertyDeps=sg;function ig(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,w0.alwaysValidSchema)(s,e[a])||(r.if((0,Wn.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))}it.validateSchemaDeps=ig;it.default=k0});var ug=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});var cg=A(),$0=q(),P0={message:"property name must be valid",params:({params:t})=>(0,cg._)`{propertyName: ${t.propertyName}}`},T0={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:P0,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,$0.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,cg.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Cc.default=T0});var Dc=w(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});var ys=He(),et=A(),z0=St(),Ss=q(),R0={message:"must NOT have additional properties",params:({params:t})=>(0,et._)`{additionalProperty: ${t.additionalProperty}}`},I0={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:R0,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,Ss.alwaysValidSchema)(i,r))return;let u=(0,ys.allSchemaProperties)(n.properties),l=(0,ys.allSchemaProperties)(n.patternProperties);d(),t.ok((0,et._)`${s} === ${z0.default.errors}`);function d(){e.forIn("key",o,S=>{!u.length&&!l.length?m(S):e.if(p(S),()=>m(S))})}function p(S){let b;if(u.length>8){let E=(0,Ss.schemaRefOrVal)(i,n.properties,"properties");b=(0,ys.isOwnProperty)(e,E,S)}else u.length?b=(0,et.or)(...u.map(E=>(0,et._)`${S} === ${E}`)):b=et.nil;return l.length&&(b=(0,et.or)(b,...l.map(E=>(0,et._)`${(0,ys.usePattern)(t,E)}.test(${S})`))),(0,et.not)(b)}function f(S){e.code((0,et._)`delete ${o}[${S}]`)}function m(S){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(S);return}if(r===!1){t.setParams({additionalProperty:S}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Ss.alwaysValidSchema)(i,r)){let b=e.name("valid");c.removeAdditional==="failing"?(_(S,b,!1),e.if((0,et.not)(b),()=>{t.reset(),f(S)})):(_(S,b),a||e.if((0,et.not)(b),()=>e.break()))}}function _(S,b,E){let v={keyword:"additionalProperties",dataProp:S,dataPropType:Ss.Type.Str};E===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,b)}}};Nc.default=I0});var pg=w(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});var O0=In(),lg=He(),jc=q(),dg=Dc(),A0={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&&dg.default.code(new O0.KeywordCxt(s,dg.default,"additionalProperties"));let i=(0,lg.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=jc.mergeEvaluated.props(e,(0,jc.toHash)(i),s.props));let a=i.filter(d=>!(0,jc.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,lg.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)}}};Lc.default=A0});var gg=w(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});var fg=He(),vs=A(),mg=q(),hg=q(),M0={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,fg.allSchemaProperties)(r),c=a.filter(_=>(0,mg.alwaysValidSchema)(s,r[_]));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 vs.Name)&&(s.props=(0,hg.evaluatedPropsToName)(e,s.props));let{props:d}=s;p();function p(){for(let _ of a)u&&f(_),s.allErrors?m(_):(e.var(l,!0),m(_),e.if(l))}function f(_){for(let S in u)new RegExp(_).test(S)&&(0,mg.checkStrictMode)(s,`property ${S} matches pattern ${_} (use allowMatchingProperties)`)}function m(_){e.forIn("key",n,S=>{e.if((0,vs._)`${(0,fg.usePattern)(t,_)}.test(${S})`,()=>{let b=c.includes(_);b||t.subschema({keyword:"patternProperties",schemaProp:_,dataProp:S,dataPropType:hg.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,vs._)`${d}[${S}]`,!0):!b&&!s.allErrors&&e.if((0,vs.not)(l),()=>e.break())})})}}};Uc.default=M0});var _g=w(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});var C0=q(),N0={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,C0.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"}};qc.default=N0});var yg=w(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});var D0=He(),j0={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:D0.validateUnion,error:{message:"must match a schema in anyOf"}};Zc.default=j0});var Sg=w(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});var bs=A(),L0=q(),U0={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,bs._)`{passingSchemas: ${t.passing}}`},q0={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:U0,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 p;(0,L0.alwaysValidSchema)(o,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,bs._)`${c} && ${i}`).assign(i,!1).assign(a,(0,bs._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),p&&t.mergeEvaluated(p,bs.Name)})})}}};Fc.default=q0});var vg=w(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});var Z0=q(),F0={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,Z0.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Hc.default=F0});var wg=w(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});var Es=A(),Eg=q(),H0={message:({params:t})=>(0,Es.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Es._)`{failingKeyword: ${t.ifClause}}`},W0={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:H0,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Eg.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=bg(n,"then"),s=bg(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,Es.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 p=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(p,i),d?e.assign(d,(0,Es._)`${l}`):t.setParams({ifClause:l})}}}};function bg(t,e){let r=t.schema[e];return r!==void 0&&!(0,Eg.alwaysValidSchema)(t,r)}Wc.default=W0});var kg=w(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});var V0=q(),G0={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,V0.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Vc.default=G0});var xg=w(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});var K0=zc(),J0=tg(),B0=Rc(),Y0=ng(),X0=og(),Q0=ag(),e$=ug(),t$=Dc(),r$=pg(),n$=gg(),o$=_g(),s$=yg(),i$=Sg(),a$=vg(),c$=wg(),u$=kg();function l$(t=!1){let e=[o$.default,s$.default,i$.default,a$.default,c$.default,u$.default,e$.default,t$.default,Q0.default,r$.default,n$.default];return t?e.push(J0.default,Y0.default):e.push(K0.default,B0.default),e.push(X0.default),e}Gc.default=l$});var $g=w(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});var ae=A(),d$={message:({schemaCode:t})=>(0,ae.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ae._)`{format: ${t}}`},p$={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:d$,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?p():f();function p(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),_=r.const("fDef",(0,ae._)`${m}[${i}]`),S=r.let("fType"),b=r.let("format");r.if((0,ae._)`typeof ${_} == "object" && !(${_} instanceof RegExp)`,()=>r.assign(S,(0,ae._)`${_}.type || "string"`).assign(b,(0,ae._)`${_}.validate`),()=>r.assign(S,(0,ae._)`"string"`).assign(b,_)),t.fail$data((0,ae.or)(E(),v()));function E(){return c.strictSchema===!1?ae.nil:(0,ae._)`${i} && !${b}`}function v(){let $=l.$async?(0,ae._)`(${_}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,ae._)`${b}(${n})`,x=(0,ae._)`(typeof ${b} == "function" ? ${$} : ${b}.test(${n}))`;return(0,ae._)`${b} && ${b} !== true && ${S} === ${e} && !${x}`}}function f(){let m=d.formats[s];if(!m){E();return}if(m===!0)return;let[_,S,b]=v(m);_===e&&t.pass($());function E(){if(c.strictSchema===!1){d.logger.warn(x());return}throw new Error(x());function x(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function v(x){let ve=x instanceof RegExp?(0,ae.regexpCode)(x):c.code.formats?(0,ae._)`${c.code.formats}${(0,ae.getProperty)(s)}`:void 0,ke=r.scopeValue("formats",{key:s,ref:x,code:ve});return typeof x=="object"&&!(x instanceof RegExp)?[x.type||"string",x.validate,(0,ae._)`${ke}.validate`]:["string",x,ke]}function $(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ae._)`await ${b}(${n})`}return typeof S=="function"?(0,ae._)`${b}(${n})`:(0,ae._)`${b}.test(${n})`}}}};Kc.default=p$});var Pg=w(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});var f$=$g(),m$=[f$.default];Jc.default=m$});var Tg=w(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.contentVocabulary=Rr.metadataVocabulary=void 0;Rr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Rr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Rg=w(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});var h$=Dh(),g$=Yh(),_$=xg(),y$=Pg(),zg=Tg(),S$=[h$.default,g$.default,(0,_$.default)(),y$.default,zg.metadataVocabulary,zg.contentVocabulary];Bc.default=S$});var Og=w(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.DiscrError=void 0;var Ig;(function(t){t.Tag="tag",t.Mapping="mapping"})(Ig||(ws.DiscrError=Ig={}))});var Mg=w(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});var Ir=A(),Yc=Og(),Ag=is(),v$=On(),b$=q(),E$={message:({params:{discrError:t,tagName:e}})=>t===Yc.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Ir._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},w$={keyword:"discriminator",type:"object",schemaType:"object",error:E$,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,Ir._)`${r}${(0,Ir.getProperty)(a)}`);e.if((0,Ir._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:Yc.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let f=p();e.if(!1);for(let m in f)e.elseIf((0,Ir._)`${u} === ${m}`),e.assign(c,d(f[m]));e.else(),t.error(!1,{discrError:Yc.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(f){let m=e.name("valid"),_=t.subschema({keyword:"oneOf",schemaProp:f},m);return t.mergeEvaluated(_,Ir.Name),m}function p(){var f;let m={},_=b(o),S=!0;for(let $=0;$<i.length;$++){let x=i[$];if(x?.$ref&&!(0,b$.schemaHasRulesButRef)(x,s.self.RULES)){let ke=x.$ref;if(x=Ag.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,ke),x instanceof Ag.SchemaEnv&&(x=x.schema),x===void 0)throw new v$.default(s.opts.uriResolver,s.baseId,ke)}let ve=(f=x?.properties)===null||f===void 0?void 0:f[a];if(typeof ve!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);S=S&&(_||b(x)),E(ve,$)}if(!S)throw new Error(`discriminator: "${a}" must be required`);return m;function b({required:$}){return Array.isArray($)&&$.includes(a)}function E($,x){if($.const)v($.const,x);else if($.enum)for(let ve of $.enum)v(ve,x);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function v($,x){if(typeof $!="string"||$ in m)throw new Error(`discriminator: "${a}" values must be unique strings`);m[$]=x}}}};Xc.default=w$});var Cg=w((YC,k$)=>{k$.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 eu=w((te,Qc)=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.MissingRefError=te.ValidationError=te.CodeGen=te.Name=te.nil=te.stringify=te.str=te._=te.KeywordCxt=te.Ajv=void 0;var x$=Ih(),$$=Rg(),P$=Mg(),Ng=Cg(),T$=["/properties"],ks="http://json-schema.org/draft-07/schema",Or=class extends x$.default{_addVocabularies(){super._addVocabularies(),$$.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(P$.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Ng,T$):Ng;this.addMetaSchema(e,ks,!1),this.refs["http://json-schema.org/schema"]=ks}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ks)?ks:void 0)}};te.Ajv=Or;Qc.exports=te=Or;Qc.exports.Ajv=Or;Object.defineProperty(te,"__esModule",{value:!0});te.default=Or;var z$=In();Object.defineProperty(te,"KeywordCxt",{enumerable:!0,get:function(){return z$.KeywordCxt}});var Ar=A();Object.defineProperty(te,"_",{enumerable:!0,get:function(){return Ar._}});Object.defineProperty(te,"str",{enumerable:!0,get:function(){return Ar.str}});Object.defineProperty(te,"stringify",{enumerable:!0,get:function(){return Ar.stringify}});Object.defineProperty(te,"nil",{enumerable:!0,get:function(){return Ar.nil}});Object.defineProperty(te,"Name",{enumerable:!0,get:function(){return Ar.Name}});Object.defineProperty(te,"CodeGen",{enumerable:!0,get:function(){return Ar.CodeGen}});var R$=os();Object.defineProperty(te,"ValidationError",{enumerable:!0,get:function(){return R$.default}});var I$=On();Object.defineProperty(te,"MissingRefError",{enumerable:!0,get:function(){return I$.default}})});var Hg=w(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.formatNames=ct.fastFormats=ct.fullFormats=void 0;function at(t,e){return{validate:t,compare:e}}ct.fullFormats={date:at(Ug,ou),time:at(ru(!0),su),"date-time":at(Dg(!0),Zg),"iso-time":at(ru(),qg),"iso-date-time":at(Dg(),Fg),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:D$,"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:H$,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:j$,int32:{type:"number",validate:q$},int64:{type:"number",validate:Z$},float:{type:"number",validate:Lg},double:{type:"number",validate:Lg},password:!0,binary:!0};ct.fastFormats={...ct.fullFormats,date:at(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ou),time:at(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,su),"date-time":at(/^\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,Zg),"iso-time":at(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,qg),"iso-date-time":at(/^\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,Fg),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};ct.formatNames=Object.keys(ct.fullFormats);function O$(t){return t%4===0&&(t%100!==0||t%400===0)}var A$=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,M$=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Ug(t){let e=A$.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&&O$(r)?29:M$[n])}function ou(t,e){if(t&&e)return t>e?1:t<e?-1:0}var tu=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function ru(t){return function(r){let n=tu.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,p=o-u*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&i<61}}function su(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 qg(t,e){if(!(t&&e))return;let r=tu.exec(t),n=tu.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var nu=/t|\s/i;function Dg(t){let e=ru(t);return function(n){let o=n.split(nu);return o.length===2&&Ug(o[0])&&e(o[1])}}function Zg(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function Fg(t,e){if(!(t&&e))return;let[r,n]=t.split(nu),[o,s]=e.split(nu),i=ou(r,o);if(i!==void 0)return i||su(n,s)}var C$=/\/|:/,N$=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function D$(t){return C$.test(t)&&N$.test(t)}var jg=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function j$(t){return jg.lastIndex=0,jg.test(t)}var L$=-(2**31),U$=2**31-1;function q$(t){return Number.isInteger(t)&&t<=U$&&t>=L$}function Z$(t){return Number.isInteger(t)}function Lg(){return!0}var F$=/[^\\]\\Z/;function H$(t){if(F$.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var Wg=w(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.formatLimitDefinition=void 0;var W$=eu(),tt=A(),jt=tt.operators,xs={formatMaximum:{okStr:"<=",ok:jt.LTE,fail:jt.GT},formatMinimum:{okStr:">=",ok:jt.GTE,fail:jt.LT},formatExclusiveMaximum:{okStr:"<",ok:jt.LT,fail:jt.GTE},formatExclusiveMinimum:{okStr:">",ok:jt.GT,fail:jt.LTE}},V$={message:({keyword:t,schemaCode:e})=>(0,tt.str)`should be ${xs[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,tt._)`{comparison: ${xs[t].okStr}, limit: ${e}}`};Mr.formatLimitDefinition={keyword:Object.keys(xs),type:"string",schemaType:"string",$data:!0,error:V$,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 W$.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),f=e.const("fmt",(0,tt._)`${p}[${c.schemaCode}]`);t.fail$data((0,tt.or)((0,tt._)`typeof ${f} != "object"`,(0,tt._)`${f} instanceof RegExp`,(0,tt._)`typeof ${f}.compare != "function"`,d(f)))}function l(){let p=c.schema,f=a.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let m=e.scopeValue("formats",{key:p,ref:f,code:i.code.formats?(0,tt._)`${i.code.formats}${(0,tt.getProperty)(p)}`:void 0});t.fail$data(d(m))}function d(p){return(0,tt._)`${p}.compare(${r}, ${n}) ${xs[o].fail} 0`}},dependencies:["format"]};var G$=t=>(t.addKeyword(Mr.formatLimitDefinition),t);Mr.default=G$});var Jg=w((Vn,Kg)=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});var Cr=Hg(),K$=Wg(),iu=A(),Vg=new iu.Name("fullFormats"),J$=new iu.Name("fastFormats"),au=(t,e={keywords:!0})=>{if(Array.isArray(e))return Gg(t,e,Cr.fullFormats,Vg),t;let[r,n]=e.mode==="fast"?[Cr.fastFormats,J$]:[Cr.fullFormats,Vg],o=e.formats||Cr.formatNames;return Gg(t,o,r,n),e.keywords&&(0,K$.default)(t),t};au.get=(t,e="full")=>{let n=(e==="fast"?Cr.fastFormats:Cr.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function Gg(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,iu._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}Kg.exports=Vn=au;Object.defineProperty(Vn,"__esModule",{value:!0});Vn.default=au});var pt=require("fs"),Fu=require("path");var D=require("path"),Ys=require("os"),Ie=require("fs");var Uu=require("url");var xy={};function gy(){return typeof __dirname<"u"?__dirname:(0,D.dirname)((0,Uu.fileURLToPath)(xy.url))}var ET=gy();function Xs(){let t=process.env.KEEPMIND_DATA_DIR??process.env.CLAUDE_MEM_DATA_DIR;if(t)return t;let e=(0,D.join)((0,Ys.homedir)(),".keepmind"),r=(0,D.join)(e,"settings.json");try{if((0,Ie.existsSync)(r)){let n=JSON.parse((0,Ie.readFileSync)(r,"utf-8")),o=n.env??n,s=o.KEEPMIND_DATA_DIR??o.CLAUDE_MEM_DATA_DIR;if(s)return s}}catch{}return e}var B=Xs(),co=process.env.CLAUDE_CONFIG_DIR||(0,D.join)((0,Ys.homedir)(),".claude"),Qs=(0,D.join)(co,"plugins","marketplaces","keepmind"),_y=(0,D.join)(B,"archives"),yy=(0,D.join)(B,"logs"),Sy=(0,D.join)(B,"trash"),vy=(0,D.join)(B,"backups"),by=(0,D.join)(B,"modes"),qu=(0,D.join)(B,"settings.json"),ir=(0,D.join)(B,"keepmind.db"),Fr=(0,D.join)(B,"claude-mem.db"),Ey=(0,D.join)(B,"vector-db"),Zu=(0,D.join)(B,"observer-sessions"),wT=(0,D.basename)(Zu),kT=(0,D.join)(co,"settings.json"),xT=(0,D.join)(co,"commands"),$T=(0,D.join)(co,"CLAUDE.md");function wy(){try{if((0,Ie.existsSync)(ir)||!(0,Ie.existsSync)(Fr))return(0,Ie.existsSync)(ir);for(let t of["","-wal","-shm"]){let e=Fr+t,r=ir+t;(0,Ie.existsSync)(e)&&!(0,Ie.existsSync)(r)&&(0,Ie.renameSync)(e,r)}return y.info("DB","Migrated legacy claude-mem.db to keepmind.db",{from:Fr,to:ir}),!0}catch(t){return y.warn("DB","Could not rename legacy claude-mem.db to keepmind.db (file may be locked) \u2014 falling back to legacy path",{},t instanceof Error?t:new Error(String(t))),!1}}function ky(){return wy(),!(0,Ie.existsSync)(ir)&&(0,Ie.existsSync)(Fr)?Fr:ir}var xe={dataDir:()=>B,workerPid:()=>(0,D.join)(B,"worker.pid"),workerPort:()=>(0,D.join)(B,"worker.port"),serverPid:()=>(0,D.join)(B,".server-beta.pid"),serverPort:()=>(0,D.join)(B,".server-beta.port"),serverRuntime:()=>(0,D.join)(B,".server-beta.runtime.json"),settings:()=>(0,D.join)(B,"settings.json"),database:()=>ky(),chroma:()=>(0,D.join)(B,"chroma"),combinedCerts:()=>(0,D.join)(B,"combined_certs.pem"),transcriptsConfig:()=>(0,D.join)(B,"transcript-watch.json"),transcriptsState:()=>(0,D.join)(B,"transcript-watch-state.json"),corpora:()=>(0,D.join)(B,"corpora"),supervisorRegistry:()=>(0,D.join)(B,"supervisor.json"),envFile:()=>(0,D.join)(B,".env"),logsDir:()=>yy,archives:()=>_y,trash:()=>Sy,backups:()=>vy,modes:()=>by,vectorDb:()=>Ey,observerSessions:()=>Zu};var $y=null;function Py(t){return($y??process.stderr.write.bind(process.stderr))(t)}function ei(t){Py(t)}var ri=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(ri||{}),ti=null,ni=class{level=null;useColor;logFilePath=null;logFileInitialized=!1;constructor(){this.useColor=process.stdout.isTTY??!1}ensureLogFileInitialized(){if(!this.logFileInitialized){this.logFileInitialized=!0;try{let e=xe.logsDir();(0,pt.existsSync)(e)||(0,pt.mkdirSync)(e,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=(0,Fu.join)(e,`keepmind-${r}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e instanceof Error?e.message:String(e)),this.logFilePath=null}}}getLevel(){if(this.level===null)try{let e=xe.settings();if((0,pt.existsSync)(e)){let r=(0,pt.readFileSync)(e,"utf-8"),o=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=ri[o]??1}else this.level=1}catch(e){console.error("[LOGGER] Failed to load log level from settings:",e instanceof Error?e.message:String(e)),this.level=1}return this.level}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message}
|
|
10
|
+
${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let r=Object.keys(e);return r.length===0?"{}":r.length<=3?JSON.stringify(e):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,r){if(!r)return e;let n=r;if(typeof r=="string")try{n=JSON.parse(r)}catch{n=r}if(e==="Bash"&&n.command)return`${e}(${n.command})`;if(n.file_path)return`${e}(${n.file_path})`;if(n.notebook_path)return`${e}(${n.notebook_path})`;if(e==="Glob"&&n.pattern)return`${e}(${n.pattern})`;if(e==="Grep"&&n.pattern)return`${e}(${n.pattern})`;if(n.url)return`${e}(${n.url})`;if(n.query)return`${e}(${n.query})`;if(e==="Task"){if(n.subagent_type)return`${e}(${n.subagent_type})`;if(n.description)return`${e}(${n.description})`}return e==="Skill"&&n.skill?`${e}(${n.skill})`:e==="LSP"&&n.operation?`${e}(${n.operation})`:e}formatTimestamp(e){let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0"),a=String(e.getSeconds()).padStart(2,"0"),c=String(e.getMilliseconds()).padStart(3,"0");return`${r}-${n}-${o} ${s}:${i}:${a}.${c}`}log(e,r,n,o,s){if(e<this.getLevel())return;this.ensureLogFileInitialized();let i=this.formatTimestamp(new Date),a=ri[e].padEnd(5),c=r.padEnd(6),u="";o?.correlationId?u=`[${o.correlationId}] `:o?.sessionId&&(u=`[session-${o.sessionId}] `);let l="";if(s!=null)if(s instanceof Error)l=this.getLevel()===0?`
|
|
11
|
+
${s.message}
|
|
12
|
+
${s.stack}`:` ${s.message}`;else if(this.getLevel()===0&&typeof s=="object")try{l=`
|
|
13
|
+
`+JSON.stringify(s,null,2)}catch{l=" "+this.formatData(s)}else l=" "+this.formatData(s);let d="";if(o){let{sessionId:f,memorySessionId:m,correlationId:_,...S}=o;Object.keys(S).length>0&&(d=` {${Object.entries(S).map(([E,v])=>`${E}=${v}`).join(", ")}}`)}let p=`[${i}] [${a}] [${c}] ${u}${n}${d}${l}`;if(this.logFilePath)try{(0,pt.appendFileSync)(this.logFilePath,p+`
|
|
14
|
+
`,"utf8")}catch(f){ei(`[LOGGER] Failed to write to log file: ${f instanceof Error?f.message:String(f)}
|
|
15
|
+
`)}else ei(p+`
|
|
16
|
+
`)}debug(e,r,n,o){this.log(0,e,r,n,o)}info(e,r,n,o){this.log(1,e,r,n,o)}warn(e,r,n,o){this.log(2,e,r,n,o)}setErrorSink(e){ti=e}error(e,r,n,o){this.log(3,e,r,n,o),this.routeErrorToSink(r,n,o)}routeErrorToSink(e,r,n){try{if(!ti||!(n instanceof Error))return;ti(n)}catch{}}dataIn(e,r,n,o){this.info(e,`\u2192 ${r}`,n,o)}dataOut(e,r,n,o){this.info(e,`\u2190 ${r}`,n,o)}success(e,r,n,o){this.info(e,`\u2713 ${r}`,n,o)}failure(e,r,n,o){this.error(e,`\u2717 ${r}`,n,o)}happyPathError(e,r,n,o,s=""){let u=((new Error().stack||"").split(`
|
|
17
|
+
`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=u?`${u[1].split("/").pop()}:${u[2]}`:"unknown",d={...n,location:l};return this.warn(e,`[HAPPY-PATH] ${r}`,d,o),s}},y=new ni;var Hu;function g(t,e,r){function n(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),a._zod.traits.has(t))return;a._zod.traits.add(t),e(a,c);let u=i.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let p=l[d];p in a||(a[p]=u[p].bind(a))}}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 nt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ar=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(Hu=globalThis).__zod_globalConfig??(Hu.__zod_globalConfig={});var cr=globalThis.__zod_globalConfig;function De(t){return t&&Object.assign(cr,t),cr}var U={};Lu(U,{BIGINT_FORMAT_RANGES:()=>Ku,Class:()=>si,NUMBER_FORMAT_RANGES:()=>di,aborted:()=>$t,allowsEval:()=>ci,assert:()=>Oy,assertEqual:()=>Ty,assertIs:()=>Ry,assertNever:()=>Iy,assertNotEqual:()=>zy,assignProp:()=>kt,base64ToUint8Array:()=>Bu,base64urlToUint8Array:()=>Jy,cached:()=>lr,captureStackTrace:()=>po,cleanEnum:()=>Ky,cleanRegex:()=>Gr,clone:()=>Be,cloneDef:()=>My,createTransparentProxy:()=>Uy,defineLazy:()=>H,esc:()=>lo,escapeRegex:()=>mt,explicitlyAborted:()=>pi,extend:()=>Fy,finalizeIssue:()=>Ue,floatSafeRemainder:()=>ii,getElementAtPath:()=>Cy,getEnumValues:()=>Wr,getLengthableOrigin:()=>Kr,getParsedType:()=>Ly,getSizableOrigin:()=>Ju,hexToUint8Array:()=>Yy,isObject:()=>Ft,isPlainObject:()=>xt,issue:()=>dr,joinValues:()=>uo,jsonStringifyReplacer:()=>ur,merge:()=>Wy,mergeDefs:()=>ft,normalizeParams:()=>z,nullish:()=>Vr,numKeys:()=>jy,objectClone:()=>Ay,omit:()=>Zy,optionalKeys:()=>li,parsedType:()=>fi,partial:()=>Vy,pick:()=>qy,prefixIssues:()=>ht,primitiveTypes:()=>Gu,promiseAllObject:()=>Ny,propertyKeyTypes:()=>ui,randomString:()=>Dy,required:()=>Gy,safeExtend:()=>Hy,shallowClone:()=>Vu,slugify:()=>ai,stringifyPrimitive:()=>fo,uint8ArrayToBase64:()=>Yu,uint8ArrayToBase64url:()=>By,uint8ArrayToHex:()=>Xy,unwrapMessage:()=>Hr});function Ty(t){return t}function zy(t){return t}function Ry(t){}function Iy(t){throw new Error("Unexpected value in exhaustive check")}function Oy(t){}function Wr(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 uo(t,e="|"){return t.map(r=>fo(r)).join(e)}function ur(t,e){return typeof e=="bigint"?e.toString():e}function lr(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Vr(t){return t==null}function Gr(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function ii(t,e){let r=t/e,n=Math.round(r),o=Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<o?0:r-n}var Wu=Symbol("evaluating");function H(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==Wu)return n===void 0&&(n=Wu,n=r()),n},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function Ay(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function kt(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ft(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function My(t){return ft(t._zod.def)}function Cy(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Ny(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function Dy(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function lo(t){return JSON.stringify(t)}function ai(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var po="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function Ft(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var ci=lr(()=>{if(cr.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function xt(t){if(Ft(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(Ft(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Vu(t){return xt(t)?{...t}:Array.isArray(t)?[...t]:t instanceof Map?new Map(t):t instanceof Set?new Set(t):t}function jy(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Ly=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}`)}},ui=new Set(["string","number","symbol"]),Gu=new Set(["string","number","bigint","boolean","symbol","undefined"]);function mt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Be(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function z(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 Uy(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 fo(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function li(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var di={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]},Ku={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function qy(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let s=ft(t._zod.def,{get shape(){let i={};for(let a in e){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&(i[a]=r.shape[a])}return kt(this,"shape",i),i},checks:[]});return Be(t,s)}function Zy(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let s=ft(t._zod.def,{get shape(){let i={...t._zod.def.shape};for(let a in e){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&delete i[a]}return kt(this,"shape",i),i},checks:[]});return Be(t,s)}function Fy(t,e){if(!xt(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let s=t._zod.def.shape;for(let i in e)if(Object.getOwnPropertyDescriptor(s,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=ft(t._zod.def,{get shape(){let s={...t._zod.def.shape,...e};return kt(this,"shape",s),s}});return Be(t,o)}function Hy(t,e){if(!xt(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=ft(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return kt(this,"shape",n),n}});return Be(t,r)}function Wy(t,e){if(t._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=ft(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return kt(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:e._zod.def.checks??[]});return Be(t,r)}function Vy(t,e,r){let o=e._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let i=ft(e._zod.def,{get shape(){let a=e._zod.def.shape,c={...a};if(r)for(let u in r){if(!(u in a))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(c[u]=t?new t({type:"optional",innerType:a[u]}):a[u])}else for(let u in a)c[u]=t?new t({type:"optional",innerType:a[u]}):a[u];return kt(this,"shape",c),c},checks:[]});return Be(e,i)}function Gy(t,e,r){let n=ft(e._zod.def,{get shape(){let o=e._zod.def.shape,s={...o};if(r)for(let i in r){if(!(i in s))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(s[i]=new t({type:"nonoptional",innerType:o[i]}))}else for(let i in o)s[i]=new t({type:"nonoptional",innerType:o[i]});return kt(this,"shape",s),s}});return Be(e,n)}function $t(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function pi(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue===!1)return!0;return!1}function ht(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function Hr(t){return typeof t=="string"?t:t?.message}function Ue(t,e,r){let n=t.message?t.message:Hr(t.inst?._zod.def?.error?.(t))??Hr(e?.error?.(t))??Hr(r.customError?.(t))??Hr(r.localeError?.(t))??"Invalid input",{inst:o,continue:s,input:i,...a}=t;return a.path??(a.path=[]),a.message=n,e?.reportInput&&(a.input=i),a}function Ju(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Kr(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function fi(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function dr(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Ky(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function Bu(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}function Yu(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}function Jy(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-e.length%4)%4);return Bu(e+r)}function By(t){return Yu(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Yy(t){let e=t.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=Number.parseInt(e.slice(n,n+2),16);return r}function Xy(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var si=class{constructor(...e){}};var Xu=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,ur,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},mo=g("$ZodError",Xu),mi=g("$ZodError",Xu,{Parent:Error});function Qu(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 el(t,e=r=>r.message){let r={_errors:[]},n=(o,s=[])=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>n({issues:a},[...s,...i.path]));else if(i.code==="invalid_key")n({issues:i.issues},[...s,...i.path]);else if(i.code==="invalid_element")n({issues:i.issues},[...s,...i.path]);else{let a=[...s,...i.path];if(a.length===0)r._errors.push(e(i));else{let c=r,u=0;for(;u<a.length;){let l=a[u];u===a.length-1?(c[l]=c[l]||{_errors:[]},c[l]._errors.push(e(i))):c[l]=c[l]||{_errors:[]},c=c[l],u++}}}};return n(t),r}var ho=t=>(e,r,n,o)=>{let s=n?{...n,async:!1}:{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new nt;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>Ue(c,s,De())));throw po(a,o?.callee),a}return i.value};var go=t=>async(e,r,n,o)=>{let s=n?{...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=>Ue(c,s,De())));throw po(a,o?.callee),a}return i.value};var Jr=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 nt;return s.issues.length?{success:!1,error:new(t??mo)(s.issues.map(i=>Ue(i,o,De())))}:{success:!0,data:s.value}},Br=Jr(mi),Yr=t=>async(e,r,n)=>{let o=n?{...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=>Ue(i,o,De())))}:{success:!0,data:s.value}},_o=Yr(mi),tl=t=>(e,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return ho(t)(e,r,o)};var rl=t=>(e,r,n)=>ho(t)(e,r,n);var nl=t=>async(e,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return go(t)(e,r,o)};var ol=t=>async(e,r,n)=>go(t)(e,r,n);var sl=t=>(e,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Jr(t)(e,r,o)};var il=t=>(e,r,n)=>Jr(t)(e,r,n);var al=t=>async(e,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Yr(t)(e,r,o)};var cl=t=>async(e,r,n)=>Yr(t)(e,r,n);var ul=/^[cC][0-9a-z]{6,}$/,ll=/^[0-9a-z]+$/,dl=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,pl=/^[0-9a-vA-V]{20}$/,fl=/^[A-Za-z0-9]{27}$/,ml=/^[a-zA-Z0-9_-]{21}$/,hl=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var gl=/^([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})$/,hi=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|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;var _l=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var eS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function yl(){return new RegExp(eS,"u")}var Sl=/^(?:(?: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])$/,vl=/^(([0-9a-fA-F]{1,4}:){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}|:))$/;var bl=/^((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])$/,El=/^(([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])$/,wl=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,gi=/^[A-Za-z0-9_-]*$/;var kl=/^https?$/,xl=/^\+[1-9]\d{6,14}$/,$l="(?:(?:\\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])))",Pl=new RegExp(`^${$l}$`);function Tl(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 zl(t){return new RegExp(`^${Tl(t)}$`)}function Rl(t){let e=Tl({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${$l}T(?:${n})$`)}var Il=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Ol=/^-?\d+$/,_i=/^-?\d+(?:\.\d+)?$/,Al=/^(?:true|false)$/i,Ml=/^null$/i;var Cl=/^[^A-Z]*$/,Nl=/^[^a-z]*$/;var fe=g("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Dl={number:"number",bigint:"bigint",object:"date"},yi=g("$ZodCheckLessThan",(t,e)=>{fe.init(t,e);let r=Dl[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Si=g("$ZodCheckGreaterThan",(t,e)=>{fe.init(t,e);let r=Dl[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:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),jl=g("$ZodCheckMultipleOf",(t,e)=>{fe.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):ii(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})}}),Ll=g("$ZodCheckNumberFormat",(t,e)=>{fe.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=di[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=Ol)}),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",continue:!1,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,inclusive:!0,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,inclusive:!0,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inclusive:!0,inst:t,continue:!e.abort})}});var Ul=g("$ZodCheckMaxLength",(t,e)=>{var r;fe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vr(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=Kr(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),ql=g("$ZodCheckMinLength",(t,e)=>{var r;fe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vr(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=Kr(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Zl=g("$ZodCheckLengthEquals",(t,e)=>{var r;fe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vr(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=Kr(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})}}),Xr=g("$ZodCheckStringFormat",(t,e)=>{var r,n;fe.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=()=>{})}),Fl=g("$ZodCheckRegex",(t,e)=>{Xr.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})}}),Hl=g("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Cl),Xr.init(t,e)}),Wl=g("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Nl),Xr.init(t,e)}),Vl=g("$ZodCheckIncludes",(t,e)=>{fe.init(t,e);let r=mt(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})}}),Gl=g("$ZodCheckStartsWith",(t,e)=>{fe.init(t,e);let r=new RegExp(`^${mt(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})}}),Kl=g("$ZodCheckEndsWith",(t,e)=>{fe.init(t,e);let r=new RegExp(`.*${mt(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 Jl=g("$ZodCheckOverwrite",(t,e)=>{fe.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var So=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(`
|
|
18
|
+
`).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(`
|
|
19
|
+
`))}};var Yl={major:4,minor:4,patch:3};var Y=g("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Yl;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=(i,a,c)=>{let u=$t(i),l;for(let d of a){if(d._zod.def.when){if(pi(i)||!d._zod.def.when(i))continue}else if(u)continue;let p=i.issues.length,f=d._zod.check(i);if(f instanceof Promise&&c?.async===!1)throw new nt;if(l||f instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await f,i.issues.length!==p&&(u||(u=$t(i,p)))});else{if(i.issues.length===p)continue;u||(u=$t(i,p))}}return l?l.then(()=>i):i},s=(i,a,c)=>{if($t(i))return i.aborted=!0,i;let u=o(a,n,c);if(u instanceof Promise){if(c.async===!1)throw new nt;return u.then(l=>t._zod.parse(l,c))}return t._zod.parse(u,c)};t._zod.run=(i,a)=>{if(a.skipChecks)return t._zod.parse(i,a);if(a.direction==="backward"){let u=t._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return u instanceof Promise?u.then(l=>s(l,i,a)):s(u,i,a)}let c=t._zod.parse(i,a);if(c instanceof Promise){if(a.async===!1)throw new nt;return c.then(u=>o(u,n,a))}return o(c,n,a)}}H(t,"~standard",()=>({validate:o=>{try{let s=Br(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return _o(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),Eo=g("$ZodString",(t,e)=>{Y.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Il(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}}),X=g("$ZodStringFormat",(t,e)=>{Xr.init(t,e),Eo.init(t,e)}),id=g("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=gl),X.init(t,e)}),ad=g("$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=hi(n))}else e.pattern??(e.pattern=hi());X.init(t,e)}),cd=g("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=_l),X.init(t,e)}),ud=g("$ZodURL",(t,e)=>{X.init(t,e),t._zod.check=r=>{try{let n=r.value.trim();if(!e.normalize&&e.protocol?.source===kl.source&&!/^https?:\/\//i.test(n)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:t,continue:!e.abort});return}let o=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.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})),e.normalize?r.value=o.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),ld=g("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=yl()),X.init(t,e)}),dd=g("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=ml),X.init(t,e)}),pd=g("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=ul),X.init(t,e)}),fd=g("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=ll),X.init(t,e)}),md=g("$ZodULID",(t,e)=>{e.pattern??(e.pattern=dl),X.init(t,e)}),hd=g("$ZodXID",(t,e)=>{e.pattern??(e.pattern=pl),X.init(t,e)}),gd=g("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=fl),X.init(t,e)}),_d=g("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Rl(e)),X.init(t,e)}),yd=g("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=Pl),X.init(t,e)}),Sd=g("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=zl(e)),X.init(t,e)}),vd=g("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=hl),X.init(t,e)}),bd=g("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Sl),X.init(t,e),t._zod.bag.format="ipv4"}),Ed=g("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=vl),X.init(t,e),t._zod.bag.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})}}});var wd=g("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=bl),X.init(t,e)}),kd=g("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=El),X.init(t,e),t._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[o,s]=n;if(!s)throw new Error;let i=Number(s);if(`${i}`!==s)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${o}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function xd(t){if(t==="")return!0;if(/\s/.test(t)||t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var $d=g("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=wl),X.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{xd(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function nS(t){if(!gi.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return xd(r)}var Pd=g("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=gi),X.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{nS(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Td=g("$ZodE164",(t,e)=>{e.pattern??(e.pattern=xl),X.init(t,e)});function oS(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 zd=g("$ZodJWT",(t,e)=>{X.init(t,e),t._zod.check=r=>{oS(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var bi=g("$ZodNumber",(t,e)=>{Y.init(t,e),t._zod.pattern=t._zod.bag.pattern??_i,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}}),Rd=g("$ZodNumberFormat",(t,e)=>{Ll.init(t,e),bi.init(t,e)}),Id=g("$ZodBoolean",(t,e)=>{Y.init(t,e),t._zod.pattern=Al,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 Od=g("$ZodNull",(t,e)=>{Y.init(t,e),t._zod.pattern=Ml,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 Ad=g("$ZodUnknown",(t,e)=>{Y.init(t,e),t._zod.parse=r=>r}),Md=g("$ZodNever",(t,e)=>{Y.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Xl(t,e,r){t.issues.length&&e.issues.push(...ht(r,t.issues)),e.value[r]=t.value}var Cd=g("$ZodArray",(t,e)=>{Y.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Xl(u,r,i))):Xl(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function bo(t,e,r,n,o,s){let i=r in n;if(t.issues.length){if(o&&s&&!i)return;e.issues.push(...ht(r,t.issues))}if(!i&&!o){t.issues.length||e.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}t.value===void 0?i&&(e.value[r]=void 0):e.value[r]=t.value}function Nd(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=li(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function Dd(t,e,r,n,o,s){let i=[],a=o.keySet,c=o.catchall._zod,u=c.def.type,l=c.optin==="optional",d=c.optout==="optional";for(let p in e){if(p==="__proto__"||a.has(p))continue;if(u==="never"){i.push(p);continue}let f=c.run({value:e[p],issues:[]},n);f instanceof Promise?t.push(f.then(m=>bo(m,r,p,e,l,d))):bo(f,r,p,e,l,d)}return i.length&&r.issues.push({code:"unrecognized_keys",keys:i,input:e,inst:s}),t.length?Promise.all(t).then(()=>r):r}var sS=g("$ZodObject",(t,e)=>{if(Y.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let a=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...a};return Object.defineProperty(e,"shape",{value:c}),c}})}let n=lr(()=>Nd(e));H(t._zod,"propValues",()=>{let a=e.shape,c={};for(let u in a){let l=a[u]._zod;if(l.values){c[u]??(c[u]=new Set);for(let d of l.values)c[u].add(d)}}return c});let o=Ft,s=e.catchall,i;t._zod.parse=(a,c)=>{i??(i=n.value);let u=a.value;if(!o(u))return a.issues.push({expected:"object",code:"invalid_type",input:u,inst:t}),a;a.value={};let l=[],d=i.shape;for(let p of i.keys){let f=d[p],m=f._zod.optin==="optional",_=f._zod.optout==="optional",S=f._zod.run({value:u[p],issues:[]},c);S instanceof Promise?l.push(S.then(b=>bo(b,a,p,u,m,_))):bo(S,a,p,u,m,_)}return s?Dd(l,u,a,c,n.value,t):l.length?Promise.all(l).then(()=>a):a}}),jd=g("$ZodObjectJIT",(t,e)=>{sS.init(t,e);let r=t._zod.parse,n=lr(()=>Nd(e)),o=p=>{let f=new So(["shape","payload","ctx"]),m=n.value,_=v=>{let $=lo(v);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};f.write("const input = payload.value;");let S=Object.create(null),b=0;for(let v of m.keys)S[v]=`key_${b++}`;f.write("const newResult = {};");for(let v of m.keys){let $=S[v],x=lo(v),ve=p[v],ke=ve?._zod?.optin==="optional",qt=ve?._zod?.optout==="optional";f.write(`const ${$} = ${_(v)};`),ke&&qt?f.write(`
|
|
20
|
+
if (${$}.issues.length) {
|
|
21
|
+
if (${x} in input) {
|
|
22
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
23
|
+
...iss,
|
|
24
|
+
path: iss.path ? [${x}, ...iss.path] : [${x}]
|
|
25
|
+
})));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (${$}.value === undefined) {
|
|
30
|
+
if (${x} in input) {
|
|
31
|
+
newResult[${x}] = undefined;
|
|
32
|
+
}
|
|
33
|
+
} else {
|
|
34
|
+
newResult[${x}] = ${$}.value;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
`):ke?f.write(`
|
|
38
|
+
if (${$}.issues.length) {
|
|
39
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
40
|
+
...iss,
|
|
41
|
+
path: iss.path ? [${x}, ...iss.path] : [${x}]
|
|
42
|
+
})));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (${$}.value === undefined) {
|
|
46
|
+
if (${x} in input) {
|
|
47
|
+
newResult[${x}] = undefined;
|
|
48
|
+
}
|
|
49
|
+
} else {
|
|
50
|
+
newResult[${x}] = ${$}.value;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
`):f.write(`
|
|
54
|
+
const ${$}_present = ${x} in input;
|
|
55
|
+
if (${$}.issues.length) {
|
|
56
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
57
|
+
...iss,
|
|
58
|
+
path: iss.path ? [${x}, ...iss.path] : [${x}]
|
|
59
|
+
})));
|
|
60
|
+
}
|
|
61
|
+
if (!${$}_present && !${$}.issues.length) {
|
|
62
|
+
payload.issues.push({
|
|
63
|
+
code: "invalid_type",
|
|
64
|
+
expected: "nonoptional",
|
|
65
|
+
input: undefined,
|
|
66
|
+
path: [${x}]
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (${$}_present) {
|
|
71
|
+
if (${$}.value === undefined) {
|
|
72
|
+
newResult[${x}] = undefined;
|
|
73
|
+
} else {
|
|
74
|
+
newResult[${x}] = ${$}.value;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
`)}f.write("payload.value = newResult;"),f.write("return payload;");let E=f.compile();return(v,$)=>E(p,v,$)},s,i=Ft,a=!cr.jitless,u=a&&ci.value,l=e.catchall,d;t._zod.parse=(p,f)=>{d??(d=n.value);let m=p.value;return i(m)?a&&u&&f?.async===!1&&f.jitless!==!0?(s||(s=o(e.shape)),p=s(p,f),l?Dd([],m,p,f,d,t):p):r(p,f):(p.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),p)}});function Ql(t,e,r,n){for(let s of t)if(s.issues.length===0)return e.value=s.value,e;let o=t.filter(s=>!$t(s));return o.length===1?(e.value=o[0].value,o[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(s=>s.issues.map(i=>Ue(i,n,De())))}),e)}var Ei=g("$ZodUnion",(t,e)=>{Y.init(t,e),H(t._zod,"optin",()=>e.options.some(n=>n._zod.optin==="optional")?"optional":void 0),H(t._zod,"optout",()=>e.options.some(n=>n._zod.optout==="optional")?"optional":void 0),H(t._zod,"values",()=>{if(e.options.every(n=>n._zod.values))return new Set(e.options.flatMap(n=>Array.from(n._zod.values)))}),H(t._zod,"pattern",()=>{if(e.options.every(n=>n._zod.pattern)){let n=e.options.map(o=>o._zod.pattern);return new RegExp(`^(${n.map(o=>Gr(o.source)).join("|")})$`)}});let r=e.options.length===1?e.options[0]._zod.run:null;t._zod.parse=(n,o)=>{if(r)return r(n,o);let s=!1,i=[];for(let a of e.options){let c=a._zod.run({value:n.value,issues:[]},o);if(c instanceof Promise)i.push(c),s=!0;else{if(c.issues.length===0)return c;i.push(c)}}return s?Promise.all(i).then(a=>Ql(a,n,t,o)):Ql(i,n,t,o)}});var Ld=g("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Ei.init(t,e);let r=t._zod.parse;H(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=lr(()=>{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(!Ft(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||s.direction==="backward"?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,options:Array.from(n.value.keys()),input:i,path:[e.discriminator],inst:t}),o)}}),Ud=g("$ZodIntersection",(t,e)=>{Y.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])=>ed(r,c,u)):ed(r,s,i)}});function vi(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(xt(t)&&xt(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=vi(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=vi(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function ed(t,e,r){let n=new Map,o;for(let a of e.issues)if(a.code==="unrecognized_keys"){o??(o=a);for(let c of a.keys)n.has(c)||n.set(c,{}),n.get(c).l=!0}else t.issues.push(a);for(let a of r.issues)if(a.code==="unrecognized_keys")for(let c of a.keys)n.has(c)||n.set(c,{}),n.get(c).r=!0;else t.issues.push(a);let s=[...n].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(s.length&&o&&t.issues.push({...o,keys:s}),$t(t))return t;let i=vi(e.value,r.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return t.value=i.data,t}var qd=g("$ZodRecord",(t,e)=>{Y.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!xt(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[],i=e.keyType._zod.values;if(i){r.value={};let a=new Set;for(let u of i)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){a.add(typeof u=="number"?u.toString():u);let l=e.keyType._zod.run({value:u,issues:[]},n);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(l.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(f=>Ue(f,n,De())),input:u,path:[u],inst:t});continue}let d=l.value,p=e.valueType._zod.run({value:o[u],issues:[]},n);p instanceof Promise?s.push(p.then(f=>{f.issues.length&&r.issues.push(...ht(u,f.issues)),r.value[d]=f.value})):(p.issues.length&&r.issues.push(...ht(u,p.issues)),r.value[d]=p.value)}let c;for(let u in o)a.has(u)||(c=c??[],c.push(u));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:c})}else{r.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__"||!Object.prototype.propertyIsEnumerable.call(o,a))continue;let c=e.keyType._zod.run({value:a,issues:[]},n);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&_i.test(a)&&c.issues.length){let d=e.keyType._zod.run({value:Number(a),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(c=d)}if(c.issues.length){e.mode==="loose"?r.value[a]=o[a]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(d=>Ue(d,n,De())),input:a,path:[a],inst:t});continue}let l=e.valueType._zod.run({value:o[a],issues:[]},n);l instanceof Promise?s.push(l.then(d=>{d.issues.length&&r.issues.push(...ht(a,d.issues)),r.value[c.value]=d.value})):(l.issues.length&&r.issues.push(...ht(a,l.issues)),r.value[c.value]=l.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Zd=g("$ZodEnum",(t,e)=>{Y.init(t,e);let r=Wr(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(o=>ui.has(typeof o)).map(o=>typeof o=="string"?mt(o):o.toString()).join("|")})$`),t._zod.parse=(o,s)=>{let i=o.value;return n.has(i)||o.issues.push({code:"invalid_value",values:r,input:i,inst:t}),o}}),Fd=g("$ZodLiteral",(t,e)=>{if(Y.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?mt(n):n?mt(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return r.has(s)||n.issues.push({code:"invalid_value",values:e.values,input:s,inst:t}),n}});var Hd=g("$ZodTransform",(t,e)=>{Y.init(t,e),t._zod.optin="optional",t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new ar(t.constructor.name);let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r.fallback=!0,r));if(o instanceof Promise)throw new nt;return r.value=o,r.fallback=!0,r}});function td(t,e){return e===void 0&&(t.issues.length||t.fallback)?{issues:[],value:void 0}:t}var wi=g("$ZodOptional",(t,e)=>{Y.init(t,e),t._zod.optin="optional",t._zod.optout="optional",H(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),H(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Gr(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let o=r.value,s=e.innerType._zod.run(r,n);return s instanceof Promise?s.then(i=>td(i,o)):td(s,o)}return r.value===void 0?r:e.innerType._zod.run(r,n)}}),Wd=g("$ZodExactOptional",(t,e)=>{wi.init(t,e),H(t._zod,"values",()=>e.innerType._zod.values),H(t._zod,"pattern",()=>e.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),Vd=g("$ZodNullable",(t,e)=>{Y.init(t,e),H(t._zod,"optin",()=>e.innerType._zod.optin),H(t._zod,"optout",()=>e.innerType._zod.optout),H(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Gr(r.source)}|null)$`):void 0}),H(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)}),Gd=g("$ZodDefault",(t,e)=>{Y.init(t,e),t._zod.optin="optional",H(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(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=>rd(s,e)):rd(o,e)}});function rd(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Kd=g("$ZodPrefault",(t,e)=>{Y.init(t,e),t._zod.optin="optional",H(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Jd=g("$ZodNonOptional",(t,e)=>{Y.init(t,e),H(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=>nd(s,t)):nd(o,t)}});function nd(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 Bd=g("$ZodCatch",(t,e)=>{Y.init(t,e),t._zod.optin="optional",H(t._zod,"optout",()=>e.innerType._zod.optout),H(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(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=>Ue(i,n,De()))},input:r.value}),r.issues=[],r.fallback=!0),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>Ue(s,n,De()))},input:r.value}),r.issues=[],r.fallback=!0),r)}});var ki=g("$ZodPipe",(t,e)=>{Y.init(t,e),H(t._zod,"values",()=>e.in._zod.values),H(t._zod,"optin",()=>e.in._zod.optin),H(t._zod,"optout",()=>e.out._zod.optout),H(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let s=e.out._zod.run(r,n);return s instanceof Promise?s.then(i=>vo(i,e.in,n)):vo(s,e.in,n)}let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>vo(s,e.out,n)):vo(o,e.out,n)}});function vo(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues,fallback:t.fallback},r)}var Yd=g("$ZodPreprocess",(t,e)=>{ki.init(t,e)}),Xd=g("$ZodReadonly",(t,e)=>{Y.init(t,e),H(t._zod,"propValues",()=>e.innerType._zod.propValues),H(t._zod,"values",()=>e.innerType._zod.values),H(t._zod,"optin",()=>e.innerType?._zod?.optin),H(t._zod,"optout",()=>e.innerType?._zod?.optout),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(od):od(o)}});function od(t){return t.value=Object.freeze(t.value),t}var Qd=g("$ZodCustom",(t,e)=>{fe.init(t,e),Y.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=>sd(s,r,n,t));sd(o,r,n,t)}});function sd(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(dr(o))}}var iS=()=>{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"},map:{unit:"entries",verb:"to have"}};function e(o){return t[o]??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",mac:"MAC 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"},n={nan:"NaN"};return o=>{switch(o.code){case"invalid_type":{let s=n[o.expected]??o.expected,i=fi(o.input),a=n[i]??i;return`Invalid input: expected ${s}, received ${a}`}case"invalid_value":return o.values.length===1?`Invalid input: expected ${fo(o.values[0])}`:`Invalid option: expected one of ${uo(o.values,"|")}`;case"too_big":{let s=o.inclusive?"<=":"<",i=e(o.origin);return i?`Too big: expected ${o.origin??"value"} to have ${s}${o.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${o.origin??"value"} to be ${s}${o.maximum.toString()}`}case"too_small":{let s=o.inclusive?">=":">",i=e(o.origin);return i?`Too small: expected ${o.origin} to have ${s}${o.minimum.toString()} ${i.unit}`:`Too small: expected ${o.origin} to be ${s}${o.minimum.toString()}`}case"invalid_format":{let s=o;return s.format==="starts_with"?`Invalid string: must start with "${s.prefix}"`:s.format==="ends_with"?`Invalid string: must end with "${s.suffix}"`:s.format==="includes"?`Invalid string: must include "${s.includes}"`:s.format==="regex"?`Invalid string: must match pattern ${s.pattern}`:`Invalid ${r[s.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${uo(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return o.options&&Array.isArray(o.options)&&o.options.length>0?`Invalid discriminator value. Expected ${o.options.map(i=>`'${i}'`).join(" | ")}`:"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function ep(){return{localeError:iS()}}var tp;var xi=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,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)??{}};delete n.id;let o={...n,...this._map.get(e)};return Object.keys(o).length?o:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function aS(){return new xi}(tp=globalThis).__zod_globalRegistry??(tp.__zod_globalRegistry=aS());var Ht=globalThis.__zod_globalRegistry;function rp(t,e){return new t({type:"string",...z(e)})}function np(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...z(e)})}function $i(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...z(e)})}function op(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...z(e)})}function sp(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...z(e)})}function ip(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...z(e)})}function ap(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...z(e)})}function cp(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...z(e)})}function up(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...z(e)})}function lp(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...z(e)})}function dp(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...z(e)})}function pp(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...z(e)})}function fp(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...z(e)})}function mp(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...z(e)})}function hp(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...z(e)})}function gp(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...z(e)})}function _p(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...z(e)})}function yp(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...z(e)})}function Sp(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...z(e)})}function vp(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...z(e)})}function bp(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...z(e)})}function Ep(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...z(e)})}function wp(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...z(e)})}function kp(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...z(e)})}function xp(t,e){return new t({type:"string",format:"date",check:"string_format",...z(e)})}function $p(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...z(e)})}function Pp(t,e){return new t({type:"string",format:"duration",check:"string_format",...z(e)})}function Tp(t,e){return new t({type:"number",checks:[],...z(e)})}function zp(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...z(e)})}function Rp(t,e){return new t({type:"boolean",...z(e)})}function Ip(t,e){return new t({type:"null",...z(e)})}function Op(t){return new t({type:"unknown"})}function Ap(t,e){return new t({type:"never",...z(e)})}function wo(t,e){return new yi({check:"less_than",...z(e),value:t,inclusive:!1})}function Qr(t,e){return new yi({check:"less_than",...z(e),value:t,inclusive:!0})}function ko(t,e){return new Si({check:"greater_than",...z(e),value:t,inclusive:!1})}function en(t,e){return new Si({check:"greater_than",...z(e),value:t,inclusive:!0})}function xo(t,e){return new jl({check:"multiple_of",...z(e),value:t})}function $o(t,e){return new Ul({check:"max_length",...z(e),maximum:t})}function pr(t,e){return new ql({check:"min_length",...z(e),minimum:t})}function Po(t,e){return new Zl({check:"length_equals",...z(e),length:t})}function Pi(t,e){return new Fl({check:"string_format",format:"regex",...z(e),pattern:t})}function Ti(t){return new Hl({check:"string_format",format:"lowercase",...z(t)})}function zi(t){return new Wl({check:"string_format",format:"uppercase",...z(t)})}function Ri(t,e){return new Vl({check:"string_format",format:"includes",...z(e),includes:t})}function Ii(t,e){return new Gl({check:"string_format",format:"starts_with",...z(e),prefix:t})}function Oi(t,e){return new Kl({check:"string_format",format:"ends_with",...z(e),suffix:t})}function Pt(t){return new Jl({check:"overwrite",tx:t})}function Ai(t){return Pt(e=>e.normalize(t))}function Mi(){return Pt(t=>t.trim())}function Ci(){return Pt(t=>t.toLowerCase())}function Ni(){return Pt(t=>t.toUpperCase())}function Di(){return Pt(t=>ai(t))}function Mp(t,e,r){return new t({type:"array",element:e,...z(r)})}function Cp(t,e,r){let n=z(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Np(t,e,r){return new t({type:"custom",check:"custom",fn:e,...z(r)})}function Dp(t,e){let r=cS(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(dr(o,n.value,r._zod.def));else{let s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),n.issues.push(dr(s))}},t(n.value,n)),e);return r}function cS(t,e){let r=new fe({check:"custom",...z(e)});return r._zod.check=t,r}function ji(t){let e=t?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:t?.metadata??Ht,target:e,unrepresentable:t?.unrepresentable??"throw",override:t?.override??(()=>{}),io:t?.io??"output",counter:0,seen:new Map,cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0}}function ie(t,e,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,s=e.seen.get(t);if(s)return s.count++,r.schemaPath.includes(t)&&(s.cycle=r.path),s.schema;let i={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,i);let a=t._zod.toJSONSchema?.();if(a)i.schema=a;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,i.schema,l);else{let p=i.schema,f=e.processors[o.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);f(t,e,p,l)}let d=t._zod.parent;d&&(i.ref||(i.ref=d),ie(d,e,l),e.seen.get(d).isParent=!0)}let c=e.metadataRegistry.get(t);return c&&Object.assign(i.schema,c),e.io==="input"&&$e(t)&&(delete i.schema.examples,delete i.schema.default),e.io==="input"&&"_prefault"in i.schema&&((n=i.schema).default??(n.default=i.schema._prefault)),delete i.schema._prefault,e.seen.get(t).schema}function Li(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let i of t.seen.entries()){let a=t.metadataRegistry.get(i[0])?.id;if(a){let c=n.get(a);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(a,i[0])}}let o=i=>{let a=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){let d=t.external.registry.get(i[0])?.id,p=t.external.uri??(m=>m);if(d)return{ref:p(d)};let f=i[1].defId??i[1].schema.id??`schema${t.counter++}`;return i[1].defId=f,{defId:f,ref:`${p("__shared")}#/${a}/${f}`}}if(i[1]===r)return{ref:"#"};let u=`#/${a}/`,l=i[1].schema.id??`__schema${t.counter++}`;return{defId:l,ref:u+l}},s=i=>{if(i[1].schema.$ref)return;let a=i[1],{ref:c,defId:u}=o(i);a.def={...a.schema},u&&(a.defId=u);let l=a.schema;for(let d in l)delete l[d];l.$ref=c};if(t.cycles==="throw")for(let i of t.seen.entries()){let a=i[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
|
|
79
|
+
|
|
80
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of t.seen.entries()){let a=i[1];if(e===i[0]){s(i);continue}if(t.external){let u=t.external.registry.get(i[0])?.id;if(e!==i[0]&&u){s(i);continue}}if(t.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}if(a.count>1&&t.reused==="ref"){s(i);continue}}}function Ui(t,e){let r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=a=>{let c=t.seen.get(a);if(c.ref===null)return;let u=c.def??c.schema,l={...u},d=c.ref;if(c.ref=null,d){n(d);let f=t.seen.get(d),m=f.schema;if(m.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(m)):Object.assign(u,m),Object.assign(u,l),a._zod.parent===d)for(let S in u)S==="$ref"||S==="allOf"||S in l||delete u[S];if(m.$ref&&f.def)for(let S in u)S==="$ref"||S==="allOf"||S in f.def&&JSON.stringify(u[S])===JSON.stringify(f.def[S])&&delete u[S]}let p=a._zod.parent;if(p&&p!==d){n(p);let f=t.seen.get(p);if(f?.schema.$ref&&(u.$ref=f.schema.$ref,f.def))for(let m in u)m==="$ref"||m==="allOf"||m in f.def&&JSON.stringify(u[m])===JSON.stringify(f.def[m])&&delete u[m]}t.override({zodSchema:a,jsonSchema:u,path:c.path??[]})};for(let a of[...t.seen.entries()].reverse())n(a[0]);let o={};if(t.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":t.target,t.external?.uri){let a=t.external.registry.get(e)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=t.external.uri(a)}Object.assign(o,r.def??r.schema);let s=t.metadataRegistry.get(e)?.id;s!==void 0&&o.id===s&&delete o.id;let i=t.external?.defs??{};for(let a of t.seen.entries()){let c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,i[c.defId]=c.def)}t.external||Object.keys(i).length>0&&(t.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...e["~standard"],jsonSchema:{input:tn(e,"input",t.processors),output:tn(e,"output",t.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function $e(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return $e(n.element,r);if(n.type==="set")return $e(n.valueType,r);if(n.type==="lazy")return $e(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return $e(n.innerType,r);if(n.type==="intersection")return $e(n.left,r)||$e(n.right,r);if(n.type==="record"||n.type==="map")return $e(n.keyType,r)||$e(n.valueType,r);if(n.type==="pipe")return t._zod.traits.has("$ZodCodec")?!0:$e(n.in,r)||$e(n.out,r);if(n.type==="object"){for(let o in n.shape)if($e(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if($e(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if($e(o,r))return!0;return!!(n.rest&&$e(n.rest,r))}return!1}var jp=(t,e={})=>r=>{let n=ji({...r,processors:e});return ie(t,n),Li(n,t),Ui(n,t)},tn=(t,e,r={})=>n=>{let{libraryOptions:o,target:s}=n??{},i=ji({...o??{},target:s,io:e,processors:r});return ie(t,i),Li(i,t),Ui(i,t)};var uS={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Lp=(t,e,r,n)=>{let o=r;o.type="string";let{minimum:s,maximum:i,format:a,patterns:c,contentEncoding:u}=t._zod.bag;if(typeof s=="number"&&(o.minLength=s),typeof i=="number"&&(o.maxLength=i),a&&(o.format=uS[a]??a,o.format===""&&delete o.format,a==="time"&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?o.pattern=l[0].source:l.length>1&&(o.allOf=[...l.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Up=(t,e,r,n)=>{let o=r,{minimum:s,maximum:i,format:a,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=t._zod.bag;typeof a=="string"&&a.includes("int")?o.type="integer":o.type="number";let d=typeof l=="number"&&l>=(s??Number.NEGATIVE_INFINITY),p=typeof u=="number"&&u<=(i??Number.POSITIVE_INFINITY),f=e.target==="draft-04"||e.target==="openapi-3.0";d?f?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l:typeof s=="number"&&(o.minimum=s),p?f?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u:typeof i=="number"&&(o.maximum=i),typeof c=="number"&&(o.multipleOf=c)},qp=(t,e,r,n)=>{r.type="boolean"};var Zp=(t,e,r,n)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"};var Fp=(t,e,r,n)=>{r.not={}};var Hp=(t,e,r,n)=>{};var Wp=(t,e,r,n)=>{let o=t._zod.def,s=Wr(o.entries);s.every(i=>typeof i=="number")&&(r.type="number"),s.every(i=>typeof i=="string")&&(r.type="string"),r.enum=s},Vp=(t,e,r,n)=>{let o=t._zod.def,s=[];for(let i of o.values)if(i===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){let i=s[0];r.type=i===null?"null":typeof i,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[i]:r.const=i}else s.every(i=>typeof i=="number")&&(r.type="number"),s.every(i=>typeof i=="string")&&(r.type="string"),s.every(i=>typeof i=="boolean")&&(r.type="boolean"),s.every(i=>i===null)&&(r.type="null"),r.enum=s};var Gp=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")};var Kp=(t,e,r,n)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")};var Jp=(t,e,r,n)=>{let o=r,s=t._zod.def,{minimum:i,maximum:a}=t._zod.bag;typeof i=="number"&&(o.minItems=i),typeof a=="number"&&(o.maxItems=a),o.type="array",o.items=ie(s.element,e,{...n,path:[...n.path,"items"]})},Bp=(t,e,r,n)=>{let o=r,s=t._zod.def;o.type="object",o.properties={};let i=s.shape;for(let u in i)o.properties[u]=ie(i[u],e,{...n,path:[...n.path,"properties",u]});let a=new Set(Object.keys(i)),c=new Set([...a].filter(u=>{let l=s.shape[u]._zod;return e.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(o.required=Array.from(c)),s.catchall?._zod.def.type==="never"?o.additionalProperties=!1:s.catchall?s.catchall&&(o.additionalProperties=ie(s.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(o.additionalProperties=!1)},Yp=(t,e,r,n)=>{let o=t._zod.def,s=o.inclusive===!1,i=o.options.map((a,c)=>ie(a,e,{...n,path:[...n.path,s?"oneOf":"anyOf",c]}));s?r.oneOf=i:r.anyOf=i},Xp=(t,e,r,n)=>{let o=t._zod.def,s=ie(o.left,e,{...n,path:[...n.path,"allOf",0]}),i=ie(o.right,e,{...n,path:[...n.path,"allOf",1]}),a=u=>"allOf"in u&&Object.keys(u).length===1,c=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];r.allOf=c};var Qp=(t,e,r,n)=>{let o=r,s=t._zod.def;o.type="object";let i=s.keyType,c=i._zod.bag?.patterns;if(s.mode==="loose"&&c&&c.size>0){let l=ie(s.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of c)o.patternProperties[d.source]=l}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(o.propertyNames=ie(s.keyType,e,{...n,path:[...n.path,"propertyNames"]})),o.additionalProperties=ie(s.valueType,e,{...n,path:[...n.path,"additionalProperties"]});let u=i._zod.values;if(u){let l=[...u].filter(d=>typeof d=="string"||typeof d=="number");l.length>0&&(o.required=l)}},ef=(t,e,r,n)=>{let o=t._zod.def,s=ie(o.innerType,e,n),i=e.seen.get(t);e.target==="openapi-3.0"?(i.ref=o.innerType,r.nullable=!0):r.anyOf=[s,{type:"null"}]},tf=(t,e,r,n)=>{let o=t._zod.def;ie(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType},rf=(t,e,r,n)=>{let o=t._zod.def;ie(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},nf=(t,e,r,n)=>{let o=t._zod.def;ie(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},of=(t,e,r,n)=>{let o=t._zod.def;ie(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=i},sf=(t,e,r,n)=>{let o=t._zod.def,s=o.in._zod.traits.has("$ZodTransform"),i=e.io==="input"?s?o.out:o.in:o.out;ie(i,e,n);let a=e.seen.get(t);a.ref=i},af=(t,e,r,n)=>{let o=t._zod.def;ie(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType,r.readOnly=!0};var qi=(t,e,r,n)=>{let o=t._zod.def;ie(o.innerType,e,n);let s=e.seen.get(t);s.ref=o.innerType};function fr(t){return!!t._zod}function Tt(t,e){return fr(t)?Br(t,e):t.safeParse(e)}function To(t){if(!t)return;let e;if(fr(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function cf(t){if(fr(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 nn={};Lu(nn,{ZodISODate:()=>lf,ZodISODateTime:()=>uf,ZodISODuration:()=>pf,ZodISOTime:()=>df,date:()=>Fi,datetime:()=>Zi,duration:()=>Wi,time:()=>Hi});var uf=g("ZodISODateTime",(t,e)=>{_d.init(t,e),re.init(t,e)});function Zi(t){return kp(uf,t)}var lf=g("ZodISODate",(t,e)=>{yd.init(t,e),re.init(t,e)});function Fi(t){return xp(lf,t)}var df=g("ZodISOTime",(t,e)=>{Sd.init(t,e),re.init(t,e)});function Hi(t){return $p(df,t)}var pf=g("ZodISODuration",(t,e)=>{vd.init(t,e),re.init(t,e)});function Wi(t){return Pp(pf,t)}var yS=(t,e)=>{mo.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>el(t,r)},flatten:{value:r=>Qu(t,r)},addIssue:{value:r=>{t.issues.push(r),t.message=JSON.stringify(t.issues,ur,2)}},addIssues:{value:r=>{t.issues.push(...r),t.message=JSON.stringify(t.issues,ur,2)}},isEmpty:{get(){return t.issues.length===0}}})};var je=g("ZodError",yS,{Parent:Error});var ff=ho(je),mf=go(je),hf=Jr(je),gf=Yr(je),_f=tl(je),yf=rl(je),Sf=nl(je),vf=ol(je),bf=sl(je),Ef=il(je),wf=al(je),kf=cl(je);var xf=new WeakMap;function on(t,e,r){let n=Object.getPrototypeOf(t),o=xf.get(n);if(o||(o=new Set,xf.set(n,o)),!o.has(e)){o.add(e);for(let s in r){let i=r[s];Object.defineProperty(n,s,{configurable:!0,enumerable:!1,get(){let a=i.bind(this);return Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a}),a},set(a){Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a})}})}}}var se=g("ZodType",(t,e)=>(Y.init(t,e),Object.assign(t["~standard"],{jsonSchema:{input:tn(t,"input"),output:tn(t,"output")}}),t.toJSONSchema=jp(t,{}),t.def=e,t.type=e.type,Object.defineProperty(t,"_def",{value:e}),t.parse=(r,n)=>ff(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>hf(t,r,n),t.parseAsync=async(r,n)=>mf(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>gf(t,r,n),t.spa=t.safeParseAsync,t.encode=(r,n)=>_f(t,r,n),t.decode=(r,n)=>yf(t,r,n),t.encodeAsync=async(r,n)=>Sf(t,r,n),t.decodeAsync=async(r,n)=>vf(t,r,n),t.safeEncode=(r,n)=>bf(t,r,n),t.safeDecode=(r,n)=>Ef(t,r,n),t.safeEncodeAsync=async(r,n)=>wf(t,r,n),t.safeDecodeAsync=async(r,n)=>kf(t,r,n),on(t,"ZodType",{check(...r){let n=this.def;return this.clone(U.mergeDefs(n,{checks:[...n.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0})},with(...r){return this.check(...r)},clone(r,n){return Be(this,r,n)},brand(){return this},register(r,n){return r.add(this,n),this},refine(r,n){return this.check(cv(r,n))},superRefine(r,n){return this.check(uv(r,n))},overwrite(r){return this.check(Pt(r))},optional(){return oe(this)},exactOptional(){return BS(this)},nullable(){return zf(this)},nullish(){return oe(zf(this))},nonoptional(r){return rv(this,r)},array(){return j(this)},or(r){return Q([this,r])},and(r){return Ro(this,r)},transform(r){return Rf(this,Nf(r))},default(r){return QS(this,r)},prefault(r){return tv(this,r)},catch(r){return ov(this,r)},pipe(r){return Rf(this,r)},readonly(){return av(this)},describe(r){let n=this.clone();return Ht.add(n,{description:r}),n},meta(...r){if(r.length===0)return Ht.get(this);let n=this.clone();return Ht.add(n,r[0]),n},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(t,"description",{get(){return Ht.get(t)?.description},configurable:!0}),t)),If=g("_ZodString",(t,e)=>{Eo.init(t,e),se.init(t,e),t._zod.processJSONSchema=(n,o,s)=>Lp(t,n,o,s);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,on(t,"_ZodString",{regex(...n){return this.check(Pi(...n))},includes(...n){return this.check(Ri(...n))},startsWith(...n){return this.check(Ii(...n))},endsWith(...n){return this.check(Oi(...n))},min(...n){return this.check(pr(...n))},max(...n){return this.check($o(...n))},length(...n){return this.check(Po(...n))},nonempty(...n){return this.check(pr(1,...n))},lowercase(n){return this.check(Ti(n))},uppercase(n){return this.check(zi(n))},trim(){return this.check(Mi())},normalize(...n){return this.check(Ai(...n))},toLowerCase(){return this.check(Ci())},toUpperCase(){return this.check(Ni())},slugify(){return this.check(Di())}})}),vS=g("ZodString",(t,e)=>{Eo.init(t,e),If.init(t,e),t.email=r=>t.check(np(bS,r)),t.url=r=>t.check(cp(ES,r)),t.jwt=r=>t.check(wp(DS,r)),t.emoji=r=>t.check(up(wS,r)),t.guid=r=>t.check($i($f,r)),t.uuid=r=>t.check(op(zo,r)),t.uuidv4=r=>t.check(sp(zo,r)),t.uuidv6=r=>t.check(ip(zo,r)),t.uuidv7=r=>t.check(ap(zo,r)),t.nanoid=r=>t.check(lp(kS,r)),t.guid=r=>t.check($i($f,r)),t.cuid=r=>t.check(dp(xS,r)),t.cuid2=r=>t.check(pp($S,r)),t.ulid=r=>t.check(fp(PS,r)),t.base64=r=>t.check(vp(MS,r)),t.base64url=r=>t.check(bp(CS,r)),t.xid=r=>t.check(mp(TS,r)),t.ksuid=r=>t.check(hp(zS,r)),t.ipv4=r=>t.check(gp(RS,r)),t.ipv6=r=>t.check(_p(IS,r)),t.cidrv4=r=>t.check(yp(OS,r)),t.cidrv6=r=>t.check(Sp(AS,r)),t.e164=r=>t.check(Ep(NS,r)),t.datetime=r=>t.check(Zi(r)),t.date=r=>t.check(Fi(r)),t.time=r=>t.check(Hi(r)),t.duration=r=>t.check(Wi(r))});function h(t){return rp(vS,t)}var re=g("ZodStringFormat",(t,e)=>{X.init(t,e),If.init(t,e)}),bS=g("ZodEmail",(t,e)=>{cd.init(t,e),re.init(t,e)});var $f=g("ZodGUID",(t,e)=>{id.init(t,e),re.init(t,e)});var zo=g("ZodUUID",(t,e)=>{ad.init(t,e),re.init(t,e)});var ES=g("ZodURL",(t,e)=>{ud.init(t,e),re.init(t,e)});var wS=g("ZodEmoji",(t,e)=>{ld.init(t,e),re.init(t,e)});var kS=g("ZodNanoID",(t,e)=>{dd.init(t,e),re.init(t,e)});var xS=g("ZodCUID",(t,e)=>{pd.init(t,e),re.init(t,e)});var $S=g("ZodCUID2",(t,e)=>{fd.init(t,e),re.init(t,e)});var PS=g("ZodULID",(t,e)=>{md.init(t,e),re.init(t,e)});var TS=g("ZodXID",(t,e)=>{hd.init(t,e),re.init(t,e)});var zS=g("ZodKSUID",(t,e)=>{gd.init(t,e),re.init(t,e)});var RS=g("ZodIPv4",(t,e)=>{bd.init(t,e),re.init(t,e)});var IS=g("ZodIPv6",(t,e)=>{Ed.init(t,e),re.init(t,e)});var OS=g("ZodCIDRv4",(t,e)=>{wd.init(t,e),re.init(t,e)});var AS=g("ZodCIDRv6",(t,e)=>{kd.init(t,e),re.init(t,e)});var MS=g("ZodBase64",(t,e)=>{$d.init(t,e),re.init(t,e)});var CS=g("ZodBase64URL",(t,e)=>{Pd.init(t,e),re.init(t,e)});var NS=g("ZodE164",(t,e)=>{Td.init(t,e),re.init(t,e)});var DS=g("ZodJWT",(t,e)=>{zd.init(t,e),re.init(t,e)});var Of=g("ZodNumber",(t,e)=>{bi.init(t,e),se.init(t,e),t._zod.processJSONSchema=(n,o,s)=>Up(t,n,o,s),on(t,"ZodNumber",{gt(n,o){return this.check(ko(n,o))},gte(n,o){return this.check(en(n,o))},min(n,o){return this.check(en(n,o))},lt(n,o){return this.check(wo(n,o))},lte(n,o){return this.check(Qr(n,o))},max(n,o){return this.check(Qr(n,o))},int(n){return this.check(Pf(n))},safe(n){return this.check(Pf(n))},positive(n){return this.check(ko(0,n))},nonnegative(n){return this.check(en(0,n))},negative(n){return this.check(wo(0,n))},nonpositive(n){return this.check(Qr(0,n))},multipleOf(n,o){return this.check(xo(n,o))},step(n,o){return this.check(xo(n,o))},finite(){return this}});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 W(t){return Tp(Of,t)}var jS=g("ZodNumberFormat",(t,e)=>{Rd.init(t,e),Of.init(t,e)});function Pf(t){return zp(jS,t)}var LS=g("ZodBoolean",(t,e)=>{Id.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>qp(t,r,n,o)});function pe(t){return Rp(LS,t)}var US=g("ZodNull",(t,e)=>{Od.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Zp(t,r,n,o)});function Af(t){return Ip(US,t)}var qS=g("ZodUnknown",(t,e)=>{Ad.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Hp(t,r,n,o)});function ne(){return Op(qS)}var ZS=g("ZodNever",(t,e)=>{Md.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Fp(t,r,n,o)});function FS(t){return Ap(ZS,t)}var HS=g("ZodArray",(t,e)=>{Cd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Jp(t,r,n,o),t.element=e.element,on(t,"ZodArray",{min(r,n){return this.check(pr(r,n))},nonempty(r){return this.check(pr(1,r))},max(r,n){return this.check($o(r,n))},length(r,n){return this.check(Po(r,n))},unwrap(){return this.element}})});function j(t,e){return Mp(HS,t,e)}var Mf=g("ZodObject",(t,e)=>{jd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Bp(t,r,n,o),U.defineLazy(t,"shape",()=>e.shape),on(t,"ZodObject",{keyof(){return Oe(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:ne()})},loose(){return this.clone({...this._zod.def,catchall:ne()})},strict(){return this.clone({...this._zod.def,catchall:FS()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return U.extend(this,r)},safeExtend(r){return U.safeExtend(this,r)},merge(r){return U.merge(this,r)},pick(r){return U.pick(this,r)},omit(r){return U.omit(this,r)},partial(...r){return U.partial(Df,this,r[0])},required(...r){return U.required(jf,this,r[0])}})});function k(t,e){let r={type:"object",shape:t??{},...U.normalizeParams(e)};return new Mf(r)}function Pe(t,e){return new Mf({type:"object",shape:t,catchall:ne(),...U.normalizeParams(e)})}var Cf=g("ZodUnion",(t,e)=>{Ei.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Yp(t,r,n,o),t.options=e.options});function Q(t,e){return new Cf({type:"union",options:t,...U.normalizeParams(e)})}var WS=g("ZodDiscriminatedUnion",(t,e)=>{Cf.init(t,e),Ld.init(t,e)});function Gi(t,e,r){return new WS({type:"union",options:e,discriminator:t,...U.normalizeParams(r)})}var VS=g("ZodIntersection",(t,e)=>{Ud.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Xp(t,r,n,o)});function Ro(t,e){return new VS({type:"intersection",left:t,right:e})}var Tf=g("ZodRecord",(t,e)=>{qd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Qp(t,r,n,o),t.keyType=e.keyType,t.valueType=e.valueType});function J(t,e,r){return!e||!e._zod?new Tf({type:"record",keyType:h(),valueType:t,...U.normalizeParams(e)}):new Tf({type:"record",keyType:t,valueType:e,...U.normalizeParams(r)})}var Vi=g("ZodEnum",(t,e)=>{Zd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(n,o,s)=>Wp(t,n,o,s),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 Vi({...e,checks:[],...U.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 Vi({...e,checks:[],...U.normalizeParams(o),entries:s})}});function Oe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Vi({type:"enum",entries:r,...U.normalizeParams(e)})}var GS=g("ZodLiteral",(t,e)=>{Fd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Vp(t,r,n,o),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 P(t,e){return new GS({type:"literal",values:Array.isArray(t)?t:[t],...U.normalizeParams(e)})}var KS=g("ZodTransform",(t,e)=>{Hd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Kp(t,r,n,o),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new ar(t.constructor.name);r.addIssue=s=>{if(typeof s=="string")r.issues.push(U.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),r.issues.push(U.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r.fallback=!0,r)):(r.value=o,r.fallback=!0,r)}});function Nf(t){return new KS({type:"transform",transform:t})}var Df=g("ZodOptional",(t,e)=>{wi.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>qi(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function oe(t){return new Df({type:"optional",innerType:t})}var JS=g("ZodExactOptional",(t,e)=>{Wd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>qi(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function BS(t){return new JS({type:"optional",innerType:t})}var YS=g("ZodNullable",(t,e)=>{Vd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>ef(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function zf(t){return new YS({type:"nullable",innerType:t})}var XS=g("ZodDefault",(t,e)=>{Gd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>rf(t,r,n,o),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function QS(t,e){return new XS({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():U.shallowClone(e)}})}var ev=g("ZodPrefault",(t,e)=>{Kd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>nf(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function tv(t,e){return new ev({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():U.shallowClone(e)}})}var jf=g("ZodNonOptional",(t,e)=>{Jd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>tf(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function rv(t,e){return new jf({type:"nonoptional",innerType:t,...U.normalizeParams(e)})}var nv=g("ZodCatch",(t,e)=>{Bd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>of(t,r,n,o),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function ov(t,e){return new nv({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Lf=g("ZodPipe",(t,e)=>{ki.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>sf(t,r,n,o),t.in=e.in,t.out=e.out});function Rf(t,e){return new Lf({type:"pipe",in:t,out:e})}var sv=g("ZodPreprocess",(t,e)=>{Lf.init(t,e),Yd.init(t,e)}),iv=g("ZodReadonly",(t,e)=>{Xd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>af(t,r,n,o),t.unwrap=()=>t._zod.def.innerType});function av(t){return new iv({type:"readonly",innerType:t})}var Uf=g("ZodCustom",(t,e)=>{Qd.init(t,e),se.init(t,e),t._zod.processJSONSchema=(r,n,o)=>Gp(t,r,n,o)});function qf(t,e){return Cp(Uf,t??(()=>!0),e)}function cv(t,e={}){return Np(Uf,t,e)}function uv(t,e){return Dp(t,e)}function Ki(t,e){return new sv({type:"pipe",in:Nf(t),out:e})}De(ep());var Bi="2025-11-25";var Zf=[Bi,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],zt="io.modelcontextprotocol/related-task",Oo="2.0",de=qf(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Ff=Q([h(),W().int()]),Hf=h(),YR=Pe({ttl:W().optional(),pollInterval:W().optional()}),lv=k({ttl:W().optional()}),dv=k({taskId:h()}),Yi=Pe({progressToken:Ff.optional(),[zt]:dv.optional()}),Le=k({_meta:Yi.optional()}),sn=Le.extend({task:lv.optional()}),Wf=t=>sn.safeParse(t).success,me=k({method:h(),params:Le.loose().optional()}),qe=k({_meta:Yi.optional()}),Ze=k({method:h(),params:qe.loose().optional()}),he=Pe({_meta:Yi.optional()}),Ao=Q([h(),W().int()]),Vf=k({jsonrpc:P(Oo),id:Ao,...me.shape}).strict(),Xi=t=>Vf.safeParse(t).success,Gf=k({jsonrpc:P(Oo),...Ze.shape}).strict(),Kf=t=>Gf.safeParse(t).success,Qi=k({jsonrpc:P(Oo),id:Ao,result:he}).strict(),an=t=>Qi.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 ea=k({jsonrpc:P(Oo),id:Ao.optional(),error:k({code:W().int(),message:h(),data:ne().optional()})}).strict();var Jf=t=>ea.safeParse(t).success;var Bf=Q([Vf,Gf,Qi,ea]),XR=Q([Qi,ea]),Mo=he.strict(),pv=qe.extend({requestId:Ao.optional(),reason:h().optional()}),Co=Ze.extend({method:P("notifications/cancelled"),params:pv}),fv=k({src:h(),mimeType:h().optional(),sizes:j(h()).optional(),theme:Oe(["light","dark"]).optional()}),cn=k({icons:j(fv).optional()}),mr=k({name:h(),title:h().optional()}),Yf=mr.extend({...mr.shape,...cn.shape,version:h(),websiteUrl:h().optional(),description:h().optional()}),mv=Ro(k({applyDefaults:pe().optional()}),J(h(),ne())),hv=Ki(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Ro(k({form:mv.optional(),url:de.optional()}),J(h(),ne()).optional())),gv=Pe({list:de.optional(),cancel:de.optional(),requests:Pe({sampling:Pe({createMessage:de.optional()}).optional(),elicitation:Pe({create:de.optional()}).optional()}).optional()}),_v=Pe({list:de.optional(),cancel:de.optional(),requests:Pe({tools:Pe({call:de.optional()}).optional()}).optional()}),yv=k({experimental:J(h(),de).optional(),sampling:k({context:de.optional(),tools:de.optional()}).optional(),elicitation:hv.optional(),roots:k({listChanged:pe().optional()}).optional(),tasks:gv.optional(),extensions:J(h(),de).optional()}),Sv=Le.extend({protocolVersion:h(),capabilities:yv,clientInfo:Yf}),ta=me.extend({method:P("initialize"),params:Sv});var vv=k({experimental:J(h(),de).optional(),logging:de.optional(),completions:de.optional(),prompts:k({listChanged:pe().optional()}).optional(),resources:k({subscribe:pe().optional(),listChanged:pe().optional()}).optional(),tools:k({listChanged:pe().optional()}).optional(),tasks:_v.optional(),extensions:J(h(),de).optional()}),bv=he.extend({protocolVersion:h(),capabilities:vv,serverInfo:Yf,instructions:h().optional()}),ra=Ze.extend({method:P("notifications/initialized"),params:qe.optional()});var No=me.extend({method:P("ping"),params:Le.optional()}),Ev=k({progress:W(),total:oe(W()),message:oe(h())}),wv=k({...qe.shape,...Ev.shape,progressToken:Ff}),Do=Ze.extend({method:P("notifications/progress"),params:wv}),kv=Le.extend({cursor:Hf.optional()}),un=me.extend({params:kv.optional()}),ln=he.extend({nextCursor:Hf.optional()}),xv=Oe(["working","input_required","completed","failed","cancelled"]),dn=k({taskId:h(),status:xv,ttl:Q([W(),Af()]),createdAt:h(),lastUpdatedAt:h(),pollInterval:oe(W()),statusMessage:oe(h())}),hr=he.extend({task:dn}),$v=qe.merge(dn),pn=Ze.extend({method:P("notifications/tasks/status"),params:$v}),jo=me.extend({method:P("tasks/get"),params:Le.extend({taskId:h()})}),Lo=he.merge(dn),Uo=me.extend({method:P("tasks/result"),params:Le.extend({taskId:h()})}),QR=he.loose(),qo=un.extend({method:P("tasks/list")}),Zo=ln.extend({tasks:j(dn)}),Fo=me.extend({method:P("tasks/cancel"),params:Le.extend({taskId:h()})}),Xf=he.merge(dn),Qf=k({uri:h(),mimeType:oe(h()),_meta:J(h(),ne()).optional()}),em=Qf.extend({text:h()}),na=h().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),tm=Qf.extend({blob:na}),fn=Oe(["user","assistant"]),gr=k({audience:j(fn).optional(),priority:W().min(0).max(1).optional(),lastModified:nn.datetime({offset:!0}).optional()}),rm=k({...mr.shape,...cn.shape,uri:h(),description:oe(h()),mimeType:oe(h()),size:oe(W()),annotations:gr.optional(),_meta:oe(Pe({}))}),Pv=k({...mr.shape,...cn.shape,uriTemplate:h(),description:oe(h()),mimeType:oe(h()),annotations:gr.optional(),_meta:oe(Pe({}))}),Tv=un.extend({method:P("resources/list")}),zv=ln.extend({resources:j(rm)}),Rv=un.extend({method:P("resources/templates/list")}),Iv=ln.extend({resourceTemplates:j(Pv)}),oa=Le.extend({uri:h()}),Ov=oa,Av=me.extend({method:P("resources/read"),params:Ov}),Mv=he.extend({contents:j(Q([em,tm]))}),Cv=Ze.extend({method:P("notifications/resources/list_changed"),params:qe.optional()}),Nv=oa,Dv=me.extend({method:P("resources/subscribe"),params:Nv}),jv=oa,Lv=me.extend({method:P("resources/unsubscribe"),params:jv}),Uv=qe.extend({uri:h()}),qv=Ze.extend({method:P("notifications/resources/updated"),params:Uv}),Zv=k({name:h(),description:oe(h()),required:oe(pe())}),Fv=k({...mr.shape,...cn.shape,description:oe(h()),arguments:oe(j(Zv)),_meta:oe(Pe({}))}),Hv=un.extend({method:P("prompts/list")}),Wv=ln.extend({prompts:j(Fv)}),Vv=Le.extend({name:h(),arguments:J(h(),h()).optional()}),Gv=me.extend({method:P("prompts/get"),params:Vv}),sa=k({type:P("text"),text:h(),annotations:gr.optional(),_meta:J(h(),ne()).optional()}),ia=k({type:P("image"),data:na,mimeType:h(),annotations:gr.optional(),_meta:J(h(),ne()).optional()}),aa=k({type:P("audio"),data:na,mimeType:h(),annotations:gr.optional(),_meta:J(h(),ne()).optional()}),Kv=k({type:P("tool_use"),name:h(),id:h(),input:J(h(),ne()),_meta:J(h(),ne()).optional()}),Jv=k({type:P("resource"),resource:Q([em,tm]),annotations:gr.optional(),_meta:J(h(),ne()).optional()}),Bv=rm.extend({type:P("resource_link")}),ca=Q([sa,ia,aa,Bv,Jv]),Yv=k({role:fn,content:ca}),Xv=he.extend({description:h().optional(),messages:j(Yv)}),Qv=Ze.extend({method:P("notifications/prompts/list_changed"),params:qe.optional()}),eb=k({title:h().optional(),readOnlyHint:pe().optional(),destructiveHint:pe().optional(),idempotentHint:pe().optional(),openWorldHint:pe().optional()}),tb=k({taskSupport:Oe(["required","optional","forbidden"]).optional()}),nm=k({...mr.shape,...cn.shape,description:h().optional(),inputSchema:k({type:P("object"),properties:J(h(),de).optional(),required:j(h()).optional()}).catchall(ne()),outputSchema:k({type:P("object"),properties:J(h(),de).optional(),required:j(h()).optional()}).catchall(ne()).optional(),annotations:eb.optional(),execution:tb.optional(),_meta:J(h(),ne()).optional()}),ua=un.extend({method:P("tools/list")}),rb=ln.extend({tools:j(nm)}),Ho=he.extend({content:j(ca).default([]),structuredContent:J(h(),ne()).optional(),isError:pe().optional()}),eI=Ho.or(he.extend({toolResult:ne()})),nb=sn.extend({name:h(),arguments:J(h(),ne()).optional()}),mn=me.extend({method:P("tools/call"),params:nb}),ob=Ze.extend({method:P("notifications/tools/list_changed"),params:qe.optional()}),tI=k({autoRefresh:pe().default(!0),debounceMs:W().int().nonnegative().default(300)}),hn=Oe(["debug","info","notice","warning","error","critical","alert","emergency"]),sb=Le.extend({level:hn}),la=me.extend({method:P("logging/setLevel"),params:sb}),ib=qe.extend({level:hn,logger:h().optional(),data:ne()}),ab=Ze.extend({method:P("notifications/message"),params:ib}),cb=k({name:h().optional()}),ub=k({hints:j(cb).optional(),costPriority:W().min(0).max(1).optional(),speedPriority:W().min(0).max(1).optional(),intelligencePriority:W().min(0).max(1).optional()}),lb=k({mode:Oe(["auto","required","none"]).optional()}),db=k({type:P("tool_result"),toolUseId:h().describe("The unique identifier for the corresponding tool call."),content:j(ca).default([]),structuredContent:k({}).loose().optional(),isError:pe().optional(),_meta:J(h(),ne()).optional()}),pb=Gi("type",[sa,ia,aa]),Io=Gi("type",[sa,ia,aa,Kv,db]),fb=k({role:fn,content:Q([Io,j(Io)]),_meta:J(h(),ne()).optional()}),mb=sn.extend({messages:j(fb),modelPreferences:ub.optional(),systemPrompt:h().optional(),includeContext:Oe(["none","thisServer","allServers"]).optional(),temperature:W().optional(),maxTokens:W().int(),stopSequences:j(h()).optional(),metadata:de.optional(),tools:j(nm).optional(),toolChoice:lb.optional()}),hb=me.extend({method:P("sampling/createMessage"),params:mb}),gn=he.extend({model:h(),stopReason:oe(Oe(["endTurn","stopSequence","maxTokens"]).or(h())),role:fn,content:pb}),da=he.extend({model:h(),stopReason:oe(Oe(["endTurn","stopSequence","maxTokens","toolUse"]).or(h())),role:fn,content:Q([Io,j(Io)])}),gb=k({type:P("boolean"),title:h().optional(),description:h().optional(),default:pe().optional()}),_b=k({type:P("string"),title:h().optional(),description:h().optional(),minLength:W().optional(),maxLength:W().optional(),format:Oe(["email","uri","date","date-time"]).optional(),default:h().optional()}),yb=k({type:Oe(["number","integer"]),title:h().optional(),description:h().optional(),minimum:W().optional(),maximum:W().optional(),default:W().optional()}),Sb=k({type:P("string"),title:h().optional(),description:h().optional(),enum:j(h()),default:h().optional()}),vb=k({type:P("string"),title:h().optional(),description:h().optional(),oneOf:j(k({const:h(),title:h()})),default:h().optional()}),bb=k({type:P("string"),title:h().optional(),description:h().optional(),enum:j(h()),enumNames:j(h()).optional(),default:h().optional()}),Eb=Q([Sb,vb]),wb=k({type:P("array"),title:h().optional(),description:h().optional(),minItems:W().optional(),maxItems:W().optional(),items:k({type:P("string"),enum:j(h())}),default:j(h()).optional()}),kb=k({type:P("array"),title:h().optional(),description:h().optional(),minItems:W().optional(),maxItems:W().optional(),items:k({anyOf:j(k({const:h(),title:h()}))}),default:j(h()).optional()}),xb=Q([wb,kb]),$b=Q([bb,Eb,xb]),Pb=Q([$b,gb,_b,yb]),Tb=sn.extend({mode:P("form").optional(),message:h(),requestedSchema:k({type:P("object"),properties:J(h(),Pb),required:j(h()).optional()})}),zb=sn.extend({mode:P("url"),message:h(),elicitationId:h(),url:h().url()}),Rb=Q([Tb,zb]),Ib=me.extend({method:P("elicitation/create"),params:Rb}),Ob=qe.extend({elicitationId:h()}),Ab=Ze.extend({method:P("notifications/elicitation/complete"),params:Ob}),_r=he.extend({action:Oe(["accept","decline","cancel"]),content:Ki(t=>t===null?void 0:t,J(h(),Q([h(),W(),pe(),j(h())])).optional())}),Mb=k({type:P("ref/resource"),uri:h()});var Cb=k({type:P("ref/prompt"),name:h()}),Nb=Le.extend({ref:Q([Cb,Mb]),argument:k({name:h(),value:h()}),context:k({arguments:J(h(),h()).optional()}).optional()}),Db=me.extend({method:P("completion/complete"),params:Nb});var jb=he.extend({completion:Pe({values:j(h()).max(100),total:oe(W().int()),hasMore:oe(pe())})}),Lb=k({uri:h().startsWith("file://"),name:h().optional(),_meta:J(h(),ne()).optional()}),Ub=me.extend({method:P("roots/list"),params:Le.optional()}),pa=he.extend({roots:j(Lb)}),qb=Ze.extend({method:P("notifications/roots/list_changed"),params:qe.optional()}),rI=Q([No,ta,Db,la,Gv,Hv,Tv,Rv,Av,Dv,Lv,mn,ua,jo,Uo,qo,Fo]),nI=Q([Co,Do,ra,qb,pn]),oI=Q([Mo,gn,da,_r,pa,Lo,Zo,hr]),sI=Q([No,hb,Ib,Ub,jo,Uo,qo,Fo]),iI=Q([Co,Do,ab,qv,Cv,ob,Qv,pn,Ab]),aI=Q([Mo,bv,jb,Xv,Wv,zv,Iv,Mv,Ho,rb,Lo,Zo,hr]),I=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 Ji(o.elicitations,r)}return new t(e,r,n)}},Ji=class extends I{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Rt(t){return t==="completed"||t==="failed"||t==="cancelled"}var UI=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function fa(t){let r=To(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=cf(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function ma(t,e){let r=Tt(t,e);if(!r.success)throw r.error;return r.data}var Gb=6e4,Wo=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(Co,r=>{this._oncancel(r)}),this.setNotificationHandler(Do,r=>{this._onprogress(r)}),this.setRequestHandler(No,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(jo,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new I(N.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Uo,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,p=new I(d.error.code,d.error.message,d.error.data);l(p)}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 I(N.InvalidParams,`Task not found: ${s}`);if(!Rt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Rt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[zt]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(qo,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 I(N.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Fo,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new I(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(Rt(o.status))throw new I(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 I(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof I?o:new I(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),I.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),an(s)||Jf(s)?this._onresponse(s):Xi(s)?this._onrequest(s,i):Kf(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=I.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?.[zt]?.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=Wf(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,p)=>{if(i.signal.aborted)throw new I(N.ConnectionClosed,"Request was cancelled");let f={...p,relatedRequestId:e.id};s&&!f.relatedTask&&(f.relatedTask={taskId:s});let m=f.relatedTask?.taskId??s;return m&&c&&await c.updateTaskStatus(m,"input_required"),await this.request(l,d,f)},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),an(e))n(e);else{let i=new I(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(an(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),an(e))o(e);else{let i=I.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 I?i:new I(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,hr,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new I(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Rt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new I(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new I(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 I?i:new I(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=E=>{l(E)};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(E){d(E);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[zt]:c}});let m=E=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(E)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch($=>this._onerror(new Error(`Failed to send cancellation: ${$}`)));let v=E instanceof I?E:new I(N.RequestTimeout,String(E));l(v)};this._responseHandlers.set(p,E=>{if(!n?.signal?.aborted){if(E instanceof Error)return l(E);try{let v=Tt(r,E.result);v.success?u(v.data):l(v.error)}catch(v){l(v)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let _=n?.timeout??Gb,S=()=>m(I.fromError(N.RequestTimeout,"Request timed out",{timeout:_}));this._setupTimeout(p,_,n?.maxTotalTimeout,S,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let E=v=>{let $=this._responseHandlers.get(p);$?$(v):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,E),this._enqueueTaskMessage(b,{type:"request",message:f,timestamp:Date.now()}).catch(v=>{this._cleanupTimeout(p),l(v)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(E=>{this._cleanupTimeout(p),l(E)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Lo,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},Zo,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Xf,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||{},[zt]: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||{},[zt]: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||{},[zt]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=fa(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=ma(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=fa(e);this._notificationHandlers.set(n,o=>{let s=ma(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"&&Xi(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new I(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 I(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new I(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 I(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=pn.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Rt(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 I(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Rt(a.status))throw new I(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=pn.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Rt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function om(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function sm(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];om(i)&&om(s)?r[o]={...i,...s}:r[o]=s}return r}var Bg=Zt(eu(),1),Yg=Zt(Jg(),1);function B$(){let t=new Bg.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Yg.default)(t),t}var $s=class{constructor(e){this._ajv=e??B$()}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 Ps=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(p=>p.type==="tool_use").map(p=>p.id)),d=new Set(s.filter(p=>p.type==="tool_result").map(p=>p.toolUseId));if(l.size!==d.size||![...l].every(p=>d.has(p)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},gn,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},_r,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 Xg(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 Qg(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 Ts=class extends Wo{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(hn.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new $s,this.setRequestHandler(ta,n=>this._oninitialize(n)),this.setNotificationHandler(ra,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(la,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=hn.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Ps(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=sm(this._capabilities,e)}setRequestHandler(e,r){let o=To(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(fr(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=Tt(mn,c);if(!l.success){let m=l.error instanceof Error?l.error.message:String(l.error);throw new I(N.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let m=Tt(hr,p);if(!m.success){let _=m.error instanceof Error?m.error.message:String(m.error);throw new I(N.InvalidParams,`Invalid task creation result: ${_}`)}return m.data}let f=Tt(Ho,p);if(!f.success){let m=f.error instanceof Error?f.error.message:String(f.error);throw new I(N.InvalidParams,`Invalid tools/call result: ${m}`)}return f.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){Qg(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&Xg(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:Zf.includes(r)?r:Bi,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"},Mo)}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},da,r):this.request({method:"sampling/createMessage",params:e},gn,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},_r,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},_r,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new I(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof I?i:new I(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},pa,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 cu=Zt(require("node:process"),1);var zs=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
81
|
+
`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),Y$(r)}clear(){this._buffer=void 0}};function Y$(t){return Bf.parse(JSON.parse(t))}function e_(t){return JSON.stringify(t)+`
|
|
82
|
+
`}var Rs=class{constructor(e=cu.default.stdin,r=cu.default.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new zs,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=e_(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};var Zs=Zt(require("path"),1),Ut=require("fs");var t_=require("node:child_process");function Gn(t,e,r){return(0,t_.spawn)(t,e??[],{windowsHide:!0,...r})}var ue={DEFAULT:3e5,HEALTH_CHECK:3e3,API_REQUEST:3e4,HOOK_READINESS_WAIT:1e4,POST_SPAWN_WAIT:15e3,READINESS_WAIT:3e4,PORT_IN_USE_WAIT:3e3,WORKER_STARTUP_WAIT:1e3,PRE_RESTART_SETTLE_DELAY:2e3,POWERSHELL_COMMAND:1e4,WINDOWS_MULTIPLIER:1.5};function bt(t){return process.platform==="win32"?Math.round(t*ue.WINDOWS_MULTIPLIER):t}var lt=require("fs"),Kn=require("path"),uu=require("os");var V=require("fs");var ut=require("path");var r_=require("crypto");var X$=process.platform==="win32";function Q$(t){(0,V.existsSync)(t)||(0,V.mkdirSync)(t,{recursive:!0})}function Is(t,e){let r=t;try{if((0,V.lstatSync)(t).isSymbolicLink())try{r=(0,V.realpathSync)(t)}catch{let u=(0,V.readlinkSync)(t);r=(0,ut.resolve)((0,ut.dirname)(t),u)}}catch(u){let l=u.code;if(l!=="ENOENT"&&l!=="ENOTDIR")throw u}Q$((0,ut.dirname)(r));let n=(0,ut.dirname)(r),o=(0,ut.basename)(r),s=(0,ut.join)(n,`.${o}.${process.pid}.${(0,r_.randomBytes)(6).toString("hex")}.tmp`),i=Buffer.from(JSON.stringify(e,null,2)+`
|
|
83
|
+
`,"utf-8"),a;try{a=(0,V.statSync)(r).mode&511}catch{}let c;try{c=a!==void 0?(0,V.openSync)(s,"w",a):(0,V.openSync)(s,"w");let u=0;for(;u<i.length;){let l=(0,V.writeSync)(c,i,u,i.length-u);if(l===0)throw new Error(`writeSync stalled at ${u}/${i.length} bytes`);u+=l}if((0,V.fsyncSync)(c),(0,V.closeSync)(c),c=void 0,(0,V.renameSync)(s,r),!X$){let l;try{l=(0,V.openSync)(n,"r"),(0,V.fsyncSync)(l)}catch{}finally{if(l!==void 0)try{(0,V.closeSync)(l)}catch{}}}}catch(u){if(c!==void 0)try{(0,V.closeSync)(c)}catch{}try{(0,V.unlinkSync)(s)}catch{}throw u}}var rr=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-haiku-4-5-20251001",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:String(37700+(process.getuid?.()??77)%100),CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_API_TIMEOUT_MS:String(bt(ue.API_REQUEST)),CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_CLAUDE_AUTH_METHOD:"subscription",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_GEMINI_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_GEMINI_MAX_TOKENS:"100000",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_BASE_URL:"",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,Kn.join)((0,uu.homedir)(),".keepmind"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"false",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"false",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"false",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_FULL_COUNT:"0",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false",CLAUDE_MEM_CONTEXT_SHOW_TERMINAL_OUTPUT:"true",CLAUDE_MEM_WELCOME_HINT_ENABLED:"true",CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED:"false",CLAUDE_MEM_FOLDER_USE_LOCAL_MD:"false",CLAUDE_MEM_TRANSCRIPTS_ENABLED:"true",CLAUDE_MEM_TRANSCRIPTS_CONFIG_PATH:(0,Kn.join)((0,uu.homedir)(),".keepmind","transcript-watch.json"),CLAUDE_MEM_CODEX_TRANSCRIPT_INGESTION:"false",CLAUDE_MEM_MAX_CONCURRENT_AGENTS:"2",CLAUDE_MEM_HOOK_FAIL_LOUD_THRESHOLD:"3",CLAUDE_MEM_EXCLUDED_PROJECTS:"",CLAUDE_MEM_FOLDER_MD_EXCLUDE:"[]",CLAUDE_MEM_FOLDER_MD_SKELETON_DENYLIST:"[]",CLAUDE_MEM_SEMANTIC_INJECT:"false",CLAUDE_MEM_SEMANTIC_INJECT_LIMIT:"5",CLAUDE_MEM_TIER_ROUTING_ENABLED:"true",CLAUDE_MEM_TIER_SIMPLE_MODEL:"haiku",CLAUDE_MEM_TIER_SUMMARY_MODEL:"",CLAUDE_MEM_TIER_FAST_MODEL:"haiku",CLAUDE_MEM_TIER_SMART_MODEL:"sonnet",CLAUDE_MEM_CHROMA_ENABLED:"true",CLAUDE_MEM_TELEGRAM_ENABLED:"true",CLAUDE_MEM_TELEGRAM_BOT_TOKEN:"",CLAUDE_MEM_TELEGRAM_CHAT_ID:"",CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES:"security_alert",CLAUDE_MEM_TELEGRAM_TRIGGER_CONCEPTS:"",CLAUDE_MEM_QUEUE_ENGINE:"sqlite",CLAUDE_MEM_REDIS_URL:"",CLAUDE_MEM_REDIS_HOST:"127.0.0.1",CLAUDE_MEM_REDIS_PORT:"6379",CLAUDE_MEM_REDIS_MODE:"external",CLAUDE_MEM_QUEUE_REDIS_PREFIX:`claude_mem_${process.env.CLAUDE_MEM_WORKER_PORT??String(37700+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_AUTH_MODE:"api-key",CLAUDE_MEM_RUNTIME:"worker",CLAUDE_MEM_SERVER_URL:`http://127.0.0.1:${process.env.CLAUDE_MEM_SERVER_PORT??String(37877+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_SERVER_API_KEY:"",CLAUDE_MEM_SERVER_PROJECT_ID:"",CLAUDE_MEM_SERVER_BETA_URL:`http://127.0.0.1:${process.env.CLAUDE_MEM_SERVER_PORT??String(37877+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_SERVER_BETA_API_KEY:"",CLAUDE_MEM_SERVER_BETA_PROJECT_ID:""};static getAllDefaults(){return{...this.DEFAULTS}}static envOverride(e){let r=e.replace(/^CLAUDE_MEM_/,"KEEPMIND_");return process.env[r]??process.env[e]}static get(e){return this.envOverride(e)??this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){let r=this.get(e);return r==="true"||r===!0}static applyEnvOverrides(e){let r={...e};for(let n of Object.keys(this.DEFAULTS)){let o=this.envOverride(n);o!==void 0&&(r[n]=o)}return r}static loadFromFile(e,r=!0){try{if(!(0,lt.existsSync)(e)){let a=this.getAllDefaults();try{let c=(0,Kn.dirname)(e);(0,lt.existsSync)(c)||(0,lt.mkdirSync)(c,{recursive:!0}),Is(e,a),console.warn("[SETTINGS] Created settings file with defaults:",e)}catch(c){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",e,c instanceof Error?c.message:String(c))}return r?this.applyEnvOverrides(a):a}let n=(0,lt.readFileSync)(e,"utf-8"),o=JSON.parse(n.replace(/^\uFEFF/,"")),s=o;if(o.env&&typeof o.env=="object"){s=o.env;try{Is(e,s),console.warn("[SETTINGS] Migrated settings file from nested to flat schema:",e)}catch(a){console.warn("[SETTINGS] Failed to auto-migrate settings file:",e,a instanceof Error?a.message:String(a))}}let i={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))s[a]!==void 0&&(i[a]=s[a]);return r?this.applyEnvOverrides(i):i}catch(n){console.warn("[SETTINGS] Failed to load settings, using defaults:",e,n instanceof Error?n.message:String(n));let o=this.getAllDefaults();try{if((0,lt.existsSync)(e)){let s=`${e}.corrupt-${Date.now()}`;(0,lt.renameSync)(e,s),console.warn("[SETTINGS] Backed up corrupt settings file to:",s)}Is(e,o),console.warn("[SETTINGS] Recovered settings file with defaults:",e)}catch(s){console.warn("[SETTINGS] Failed to recover corrupt settings file:",e,s instanceof Error?s.message:String(s))}return r?this.applyEnvOverrides(o):o}}};var Os=null;function As(){return Os!==null||(Os=rr.loadFromFile(qu)),Os}var nr=require("fs");var mu=require("child_process");var dt=require("fs"),pu=Zt(require("path"),1);var eP=["CLAUDECODE_","CLAUDE_CODE_"],tP=new Set(["CLAUDECODE","CLAUDE_CODE_SESSION","CLAUDE_CODE_ENTRYPOINT","MCP_SESSION_ID","HTTP_PROXY","HTTPS_PROXY","ALL_PROXY","NO_PROXY","http_proxy","https_proxy","all_proxy","no_proxy","npm_config_proxy","npm_config_https_proxy"]),rP=new Set(["CLAUDE_CODE_OAUTH_TOKEN","CLAUDE_CODE_GIT_BASH_PATH","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX","ANTHROPIC_BEDROCK_BASE_URL","AWS_REGION","AWS_PROFILE","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","ANTHROPIC_VERTEX_PROJECT_ID","CLOUD_ML_REGION","GOOGLE_APPLICATION_CREDENTIALS"]);function Jn(t=process.env){let e={};for(let[r,n]of Object.entries(t))if(n!==void 0){if(rP.has(r)){e[r]=n;continue}tP.has(r)||eP.some(o=>r.startsWith(o))||(e[r]=n)}return e}var nP=5e3,oP=1e3,sP=xe.supervisorRegistry();function Et(t){if(!Number.isInteger(t)||t<0||t===0)return!1;try{return process.kill(t,0),!0}catch(e){if(e instanceof Error){let r=e.code;return r==="EPERM"?!0:(y.debug("SYSTEM","PID check failed",{pid:t,code:r}),!1)}return y.warn("SYSTEM","PID check threw non-Error",{pid:t,error:String(e)}),!1}}async function Ms(t,e){let r=Date.now()+e;for(;Date.now()<r;){if(t.every(n=>!Et(n.pid)))return;await new Promise(n=>setTimeout(n,100))}}var iP=5e3,n_=new Map;function aP(t){let e=n_.get(t);if(e&&Date.now()-e.capturedAtMs<iP)return e.token;let r=null;try{let n=(0,mu.spawnSync)("powershell.exe",["-NoProfile","-NonInteractive","-Command",`(Get-CimInstance Win32_Process -Filter "ProcessId=${t}").CreationDate.ToString('yyyyMMddHHmmss.ffffff')`],{encoding:"utf-8",timeout:5e3,windowsHide:!0,env:{...Jn(process.env),LC_ALL:"C",LANG:"C"}});if(n.status===0){let o=n.stdout.trim();r=o.length>0?o:null}}catch(n){y.debug("SYSTEM","captureProcessStartToken: powershell CIM lookup failed",{pid:t,error:n instanceof Error?n.message:String(n)}),r=null}return n_.set(t,{token:r,capturedAtMs:Date.now()}),r}function o_(t){if(!Number.isInteger(t)||t<=0)return null;if(process.platform==="linux")try{let e=(0,dt.readFileSync)(`/proc/${t}/stat`,"utf-8"),r=e.lastIndexOf(") ");if(r<0)return null;let o=e.slice(r+2).split(" ")[19];return o&&/^\d+$/.test(o)?o:null}catch(e){return y.debug("SYSTEM","captureProcessStartToken: /proc read failed",{pid:t,error:e instanceof Error?e.message:String(e)}),null}if(process.platform==="win32")return aP(t);try{let e=(0,mu.spawnSync)("ps",["-p",String(t),"-o","lstart="],{encoding:"utf-8",timeout:2e3,env:{...Jn(process.env),LC_ALL:"C",LANG:"C"}});if(e.status!==0)return null;let r=e.stdout.trim();return r.length>0?r:null}catch(e){return y.debug("SYSTEM","captureProcessStartToken: ps exec failed",{pid:t,error:e instanceof Error?e.message:String(e)}),null}}function hu(t){if(!t||!Et(t.pid))return!1;if(!t.startToken)return!0;let e=o_(t.pid);if(e===null)return!0;let r=e===t.startToken;return r||y.debug("SYSTEM","verifyPidFileOwnership: start-token mismatch (PID reused)",{pid:t.pid,stored:t.startToken,current:e}),r}var fu=class{registryPath;entries=new Map;runtimeProcesses=new Map;initialized=!1;constructor(e=sP){this.registryPath=e}initialize(){if(this.initialized)return;if(this.initialized=!0,(0,dt.mkdirSync)(pu.default.dirname(this.registryPath),{recursive:!0}),!(0,dt.existsSync)(this.registryPath)){this.persist();return}try{let n=JSON.parse((0,dt.readFileSync)(this.registryPath,"utf-8")).processes??{};for(let[o,s]of Object.entries(n))this.entries.set(o,s)}catch(r){r instanceof Error?y.warn("SYSTEM","Failed to parse supervisor registry, rebuilding",{path:this.registryPath},r):y.warn("SYSTEM","Failed to parse supervisor registry, rebuilding",{path:this.registryPath,error:String(r)}),this.entries.clear()}let e=this.pruneDeadEntries();e>0&&y.info("SYSTEM","Removed dead processes from supervisor registry",{removed:e}),this.persist()}register(e,r,n){this.initialize(),this.entries.set(e,r),n&&this.runtimeProcesses.set(e,n),this.persist()}unregister(e){this.initialize();let r=this.entries.get(e);this.entries.delete(e),this.runtimeProcesses.delete(e),this.persist(),r?.type==="sdk"&&du()}clear(){this.entries.clear(),this.runtimeProcesses.clear(),this.persist()}getAll(){return this.initialize(),Array.from(this.entries.entries()).map(([e,r])=>({id:e,...r})).sort((e,r)=>{let n=Date.parse(e.startedAt),o=Date.parse(r.startedAt);return(Number.isNaN(n)?0:n)-(Number.isNaN(o)?0:o)})}getBySession(e){let r=String(e);return this.getAll().filter(n=>n.sessionId!==void 0&&String(n.sessionId)===r)}getRuntimeProcess(e){return this.runtimeProcesses.get(e)}getByPid(e){return this.getAll().filter(r=>r.pid===e)}pruneDeadEntries(){this.initialize();let e=0,r=0;for(let[n,o]of this.entries)Et(o.pid)||(this.entries.delete(n),this.runtimeProcesses.delete(n),e+=1,o.type==="sdk"&&(r+=1));e>0&&this.persist();for(let n=0;n<r;n+=1)du();return e}async reapSession(e){this.initialize();let r=this.getBySession(e);if(r.length===0)return 0;let n=typeof e=="number"?e:Number(e)||void 0;y.info("SYSTEM",`Reaping ${r.length} process(es) for session ${e}`,{sessionId:n,pids:r.map(i=>i.pid)});let o=r.filter(i=>Et(i.pid));for(let i of o)try{typeof i.pgid=="number"&&process.platform!=="win32"?process.kill(-i.pgid,"SIGTERM"):process.kill(i.pid,"SIGTERM")}catch(a){a instanceof Error?a.code!=="ESRCH"&&y.debug("SYSTEM",`Failed to SIGTERM session process PID ${i.pid}`,{pid:i.pid,pgid:i.pgid},a):y.warn("SYSTEM",`Failed to SIGTERM session process PID ${i.pid} (non-Error)`,{pid:i.pid,pgid:i.pgid,error:String(a)})}await Ms(o,nP);let s=o.filter(i=>Et(i.pid));for(let i of s){y.warn("SYSTEM",`Session process PID ${i.pid} did not exit after SIGTERM, sending SIGKILL`,{pid:i.pid,pgid:i.pgid,sessionId:n});try{typeof i.pgid=="number"&&process.platform!=="win32"?process.kill(-i.pgid,"SIGKILL"):process.kill(i.pid,"SIGKILL")}catch(a){a instanceof Error?a.code!=="ESRCH"&&y.debug("SYSTEM",`Failed to SIGKILL session process PID ${i.pid}`,{pid:i.pid,pgid:i.pgid},a):y.warn("SYSTEM",`Failed to SIGKILL session process PID ${i.pid} (non-Error)`,{pid:i.pid,pgid:i.pgid,error:String(a)})}}if(s.length>0){let i=Date.now()+oP;for(;Date.now()<i&&s.filter(c=>Et(c.pid)).length!==0;)await new Promise(c=>setTimeout(c,100))}for(let i of r)this.entries.delete(i.id),this.runtimeProcesses.delete(i.id);this.persist();for(let i of r)i.type==="sdk"&&du();return y.info("SYSTEM",`Reaped ${r.length} process(es) for session ${e}`,{sessionId:n,reaped:r.length}),r.length}persist(){let e={processes:Object.fromEntries(this.entries.entries())};(0,dt.mkdirSync)(pu.default.dirname(this.registryPath),{recursive:!0}),(0,dt.writeFileSync)(this.registryPath,JSON.stringify(e,null,2))}},lu=null;function Cs(){return lu||(lu=new fu),lu}var cP=[];function du(){let t=cP.shift();t&&t()}var i_=require("child_process"),Nr=require("fs"),a_=require("util");var uP=(0,a_.promisify)(i_.execFile),lP=xe.workerPid();async function c_(t){let e=t.currentPid??process.pid,r=t.pidFilePath??lP,n=t.registry.getAll(),o=[...n].filter(i=>i.pid!==e).sort((i,a)=>Date.parse(a.startedAt)-Date.parse(i.startedAt));for(let i of o){if(!Et(i.pid)){t.registry.unregister(i.id);continue}try{await s_(i,"SIGTERM")}catch(a){a instanceof Error?y.debug("SYSTEM","Failed to send SIGTERM to child process",{pid:i.pid,pgid:i.pgid,type:i.type},a):y.warn("SYSTEM","Failed to send SIGTERM to child process (non-Error)",{pid:i.pid,pgid:i.pgid,type:i.type,error:String(a)})}}await Ms(o,5e3);let s=o.filter(i=>Et(i.pid));for(let i of s)try{await s_(i,"SIGKILL")}catch(a){a instanceof Error?y.debug("SYSTEM","Failed to force kill child process",{pid:i.pid,pgid:i.pgid,type:i.type},a):y.warn("SYSTEM","Failed to force kill child process (non-Error)",{pid:i.pid,pgid:i.pgid,type:i.type,error:String(a)})}await Ms(s,1e3);for(let i of o)t.registry.unregister(i.id);for(let i of n.filter(a=>a.pid===e))t.registry.unregister(i.id);dP(r,e),t.registry.pruneDeadEntries()}function dP(t,e){if(!(0,Nr.existsSync)(t))return;let r=null;try{let n=JSON.parse((0,Nr.readFileSync)(t,"utf-8"));r=typeof n.pid=="number"?n.pid:null}catch(n){y.debug("SYSTEM","PID file unreadable during shutdown \u2014 leaving it (cannot prove ownership)",{pidFilePath:t,error:n instanceof Error?n.message:String(n)});return}if(r!==e){y.debug("SYSTEM","PID file not owned by this process \u2014 leaving it for its owner (restart successor?)",{pidFilePath:t,recordedPid:r,currentPid:e});return}try{(0,Nr.rmSync)(t,{force:!0})}catch(n){n instanceof Error?y.debug("SYSTEM","Failed to remove PID file during shutdown",{pidFilePath:t},n):y.warn("SYSTEM","Failed to remove PID file during shutdown (non-Error)",{pidFilePath:t,error:String(n)})}}async function s_(t,e){let{pid:r,pgid:n}=t;if(process.platform!=="win32"){if(typeof n=="number")try{process.kill(-n,e);return}catch(i){if((i instanceof Error?i.code:void 0)!=="ESRCH")throw i}try{process.kill(r,e)}catch(i){if((i instanceof Error?i.code:void 0)!=="ESRCH")throw i}return}if(e==="SIGTERM"){try{process.kill(r,e)}catch(i){if(i instanceof Error&&i.code==="ESRCH")return;throw i}return}let o=await pP();if(o){await new Promise((i,a)=>{o(r,e,c=>{if(!c){i();return}if(c.code==="ESRCH"){i();return}a(c)})});return}let s=["/PID",String(r),"/T"];e==="SIGKILL"&&s.push("/F"),await uP("taskkill",s,{timeout:ue.POWERSHELL_COMMAND,windowsHide:!0})}async function pP(){let t="tree-kill";try{let e=await import(t);return e.default??e}catch(e){return y.debug("SYSTEM","tree-kill module not available, using fallback",{},e instanceof Error?e:void 0),null}}var u_=3e4,Dr=null;function fP(){let e=Cs().pruneDeadEntries();e>0&&y.info("SYSTEM",`Health check: pruned ${e} dead process(es) from registry`)}function l_(){Dr===null&&(Dr=setInterval(fP,u_),Dr.unref(),y.debug("SYSTEM","Health checker started",{intervalMs:u_}))}function d_(){Dr!==null&&(clearInterval(Dr),Dr=null,y.debug("SYSTEM","Health checker stopped"))}var mP=xe.workerPid(),gu=class{registry;started=!1;stopPromise=null;signalHandlersRegistered=!1;shutdownInitiated=!1;shutdownHandler=null;constructor(e){this.registry=e}async start(){if(this.started)return;if(this.registry.initialize(),Ns({logAlive:!1})==="alive")throw new Error("Worker already running");this.started=!0,l_()}configureSignalHandlers(e){if(this.shutdownHandler=e,this.signalHandlersRegistered)return;this.signalHandlersRegistered=!0;let r=async n=>{if(this.shutdownInitiated){y.warn("SYSTEM",`Received ${n} but shutdown already in progress`);return}this.shutdownInitiated=!0,y.info("SYSTEM",`Received ${n}, shutting down...`);try{this.shutdownHandler?await this.shutdownHandler():await this.stop()}catch(o){o instanceof Error?y.error("SYSTEM","Error during shutdown",{},o):y.error("SYSTEM","Error during shutdown (non-Error)",{error:String(o)});try{await this.stop()}catch(s){s instanceof Error?y.debug("SYSTEM","Supervisor shutdown fallback failed",{},s):y.debug("SYSTEM","Supervisor shutdown fallback failed",{error:String(s)})}}process.exit(0)};process.on("SIGTERM",()=>{r("SIGTERM")}),process.on("SIGINT",()=>{r("SIGINT")}),process.platform!=="win32"&&(process.argv.includes("--daemon")?process.on("SIGHUP",()=>{y.debug("SYSTEM","Ignoring SIGHUP in daemon mode")}):process.on("SIGHUP",()=>{r("SIGHUP")}))}async stop(){if(this.stopPromise){await this.stopPromise;return}d_(),this.stopPromise=c_({registry:this.registry,currentPid:process.pid}).finally(()=>{this.started=!1,this.stopPromise=null}),await this.stopPromise}assertCanSpawn(e){if(this.stopPromise!==null)throw new Error(`Supervisor is shutting down, refusing to spawn ${e}`)}registerProcess(e,r,n){this.registry.register(e,r,n)}unregisterProcess(e){this.registry.unregister(e)}getRegistry(){return this.registry}},hP=new gu(Cs());function _u(){return hP}function Ns(t={}){let e=t.pidFilePath??mP;if(!(0,nr.existsSync)(e))return"missing";let r=null;try{r=JSON.parse((0,nr.readFileSync)(e,"utf-8"))}catch(o){return o instanceof Error?y.warn("SYSTEM","Failed to parse worker PID file, removing it",{path:e},o):y.warn("SYSTEM","Failed to parse worker PID file, removing it",{path:e,error:String(o)}),(0,nr.rmSync)(e,{force:!0}),"invalid"}return hu(r)&&r?((t.logAlive??!0)&&y.info("SYSTEM","Worker already running (PID alive)",{existingPid:r.pid,existingPort:r.port,startedAt:r.startedAt}),"alive"):(y.info("SYSTEM","Removing stale PID file (worker process is dead or PID has been reused)",{pid:r?.pid,port:r?.port,startedAt:r?.startedAt}),(0,nr.rmSync)(e,{force:!0}),"stale")}var m_=Zt(require("path"),1),h_=require("os"),Re=require("fs"),Su=require("child_process");var gP=require("node:sqlite");function p_(t){return t instanceof Error?t:new Error(String(t))}var sD=xe.dataDir(),jr=xe.workerPid(),iD=xe.workerPort();function f_(t){return t?/(^|[\\/])node(\.exe)?$/i.test(t.trim()):!1}function _P(t,e){let r=e==="win32"?`where ${t}`:`which ${t}`,n;try{n=(0,Su.execSync)(r,{stdio:["ignore","pipe","ignore"],encoding:"utf-8",windowsHide:!0})}catch(s){return s instanceof Error?y.debug("SYSTEM",`Binary lookup failed for ${t}`,{command:r},s):y.debug("SYSTEM",`Binary lookup failed for ${t}`,{command:r},new Error(String(s))),null}return n.split(/\r?\n/).map(s=>s.trim()).find(s=>s.length>0)||null}var yu;function g_(t={}){let e=Object.keys(t).length===0;if(e&&yu!==void 0)return yu;let r=yP(t);return e&&r!==null&&(yu=r),r}function yP(t){let e=t.platform??process.platform,r=t.execPath??process.execPath;if(f_(r))return r;let n=t.env??process.env,o=t.homeDirectory??(0,h_.homedir)(),s=t.pathExists??Re.existsSync,i=t.lookupInPath??_P,a=e==="win32"?[n.NODE,m_.default.join(o,".nvm","current","bin","node.exe"),"node"]:[n.NODE,"/usr/local/bin/node","/opt/homebrew/bin/node","/usr/bin/node","node"];for(let c of a){let u=c?.trim();if(u&&(f_(u)&&s(u)||u.toLowerCase()==="node"))return u}return i("node",e)}function __(){if(!(0,Re.existsSync)(jr))return null;try{return JSON.parse((0,Re.readFileSync)(jr,"utf-8"))}catch(t){return t instanceof Error?y.warn("SYSTEM","Failed to parse PID file",{path:jr},t):y.warn("SYSTEM","Failed to parse PID file",{path:jr},new Error(String(t))),null}}function Lt(t){return process.platform==="win32"?Math.round(t*2):t}function y_(t,e,r={}){_u().assertCanSpawn("worker daemon");let n=Jn({...process.env,CLAUDE_MEM_WORKER_PORT:String(e),...r}),o=g_();if(!o){y.error("SYSTEM","Node runtime not found \u2014 ensure node is on PATH or set the NODE env var. The worker daemon runs under Node (node:sqlite).");return}if(process.platform==="win32")try{let l=Gn(o,[t,"--daemon"],{detached:!0,stdio:"ignore",windowsHide:!0,env:n});if(l.pid===void 0){y.error("SYSTEM","Worker daemon spawn produced no PID on Windows",{runtimePath:o});return}return l.unref(),l.pid}catch(l){y.error("SYSTEM","Failed to spawn worker daemon on Windows",{runtimePath:o},p_(l));return}let s="/usr/bin/setsid",i=(0,Re.existsSync)(s),u=Gn(i?s:o,i?[o,t,"--daemon"]:[t,"--daemon"],{detached:!0,stdio:"ignore",env:n});if(u.pid!==void 0)return u.unref(),u.pid}function S_(t){if(t===0)return!0;if(!Number.isInteger(t)||t<0)return!1;try{return process.kill(t,0),!0}catch(e){if(e instanceof Error){let r=e.code;if(r==="EPERM")return!0;y.debug("SYSTEM","Process not alive",{pid:t,code:r})}else y.debug("SYSTEM","Process not alive (non-Error thrown)",{pid:t},new Error(String(e)));return!1}}function v_(){try{if(!(0,Re.existsSync)(jr))return;let t=new Date;(0,Re.utimesSync)(jr,t,t)}catch{}}function b_(){return Ns({logAlive:!1})}var E_=Zt(require("net"),1);var SP=2500;async function vP(t,e,r="GET"){let n=await fetch(`http://127.0.0.1:${t}${e}`,{method:r,signal:AbortSignal.timeout(SP)}),o="";try{o=await n.text()}catch{}return{ok:n.ok,statusCode:n.status,body:o}}async function w_(t){return new Promise(e=>{let r=E_.default.createServer();r.once("error",n=>{n.code==="EADDRINUSE"||n.code==="EACCES"?e(!0):e(!1)}),r.once("listening",()=>{r.close(()=>e(!1))}),r.listen(t,"127.0.0.1")})}async function k_(t,e,r,n){let o=Date.now();for(;Date.now()-o<r;){try{if((await vP(t,e)).ok)return!0}catch(s){s instanceof Error?y.debug("SYSTEM",n,{},s):y.debug("SYSTEM",n,{error:String(s)})}await new Promise(s=>setTimeout(s,500))}return!1}function Bn(t,e=3e4){return k_(t,"/api/health",e,"Service not ready yet, will retry")}function Yn(t,e=3e4){return k_(t,"/api/readiness",e,"Worker not ready yet, will retry")}var Ds=require("path"),Ge=require("fs");var bP=6e4;function x_(){return(0,Ds.join)(Xs(),"spawn.lock")}function vu(){let t=x_(),e=JSON.stringify({pid:process.pid,startedAt:new Date().toISOString()});for(let r=0;r<2;r++)try{return(0,Ge.mkdirSync)((0,Ds.dirname)(t),{recursive:!0}),(0,Ge.writeFileSync)(t,e,{flag:"wx"}),!0}catch(n){if(n?.code!=="EEXIST")return!0;if(r>0)return!1;let s;try{s=(0,Ge.statSync)(t).mtimeMs}catch{continue}if(Date.now()-s<=bP)return!1;let i;try{i=(0,Ge.statSync)(t).mtimeMs}catch{continue}if(i!==s)return!1;try{(0,Ge.unlinkSync)(t)}catch{return!1}}return!1}function bu(){let t=x_();try{if(JSON.parse((0,Ge.readFileSync)(t,"utf-8")).pid!==process.pid)return;(0,Ge.unlinkSync)(t)}catch{}}function Eu(t,e,r){let n=process.env[t];if(n){let o=parseInt(n,10);if(Number.isFinite(o)&&o>=r.min&&o<=r.max)return o;y.warn("SYSTEM",`Invalid ${t}, using default`,{value:n,min:r.min,max:r.max})}return e}var MD=Eu("CLAUDE_MEM_HEALTH_TIMEOUT_MS",bt(ue.HEALTH_CHECK),{min:500,max:3e5}),CD=Eu("CLAUDE_MEM_API_TIMEOUT_MS",bt(ue.API_REQUEST),{min:500,max:3e5}),ND=Eu("CLAUDE_MEM_HOOK_READINESS_TIMEOUT_MS",bt(ue.HOOK_READINESS_WAIT),{min:0,max:3e5}),EP={min:500,max:3e5};async function wu(t,e={},r){try{return await fetch(t,{...e,signal:AbortSignal.timeout(r)})}catch(n){throw n instanceof DOMException&&n.name==="TimeoutError"?new Error(`Request timed out after ${r}ms`):n}}var js=null,Ls=null,Us=null,qs=null;function wP(){return Zs.default.join(rr.get("CLAUDE_MEM_DATA_DIR"),"settings.json")}function kP(t){if(!Number.isInteger(t)||t<=0)return!1;try{return process.kill(t,0),!0}catch(e){return e?.code==="EPERM"}}function xP(){try{let t=xe.workerPid();if(!(0,Ut.existsSync)(t))return null;let e=JSON.parse((0,Ut.readFileSync)(t,"utf-8"));return typeof e.pid!="number"||typeof e.port!="number"||!kP(e.pid)?null:e.port}catch{return null}}function ku(){return Us!==null||(Us=rr.loadFromFile(wP())),Us}function $_(t,e){if(!t)return null;let r=parseInt(t,10);return Number.isFinite(r)&&r>=e.min&&r<=e.max?r:null}function $P(t,e,r){let n=process.env[t];if(n!==void 0){let i=$_(n,r);return i!==null?i:(y.warn("SYSTEM",`Invalid ${t}, using default`,{value:n,min:r.min,max:r.max}),e)}let o=ku()[t],s=$_(o,r);return s!==null?s:(y.warn("SYSTEM",`Invalid ${t} in settings.json, using default`,{value:o,min:r.min,max:r.max}),e)}function PP(){if(js!==null)return js;let t=ku();return js=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),js}function xu(){let t=xP();return t!==null?t:PP()}function TP(){return Ls!==null||(Ls=ku().CLAUDE_MEM_WORKER_HOST),Ls}function zP(){return qs!==null||(qs=$P("CLAUDE_MEM_API_TIMEOUT_MS",bt(ue.API_REQUEST),EP)),qs}function RP(t){return`http://${TP()}:${xu()}${t}`}function Xn(t,e={}){let r=e.method??"GET",n=e.timeoutMs??zP(),o=RP(t),s={method:r};return e.headers&&(s.headers=e.headers),e.body&&(s.body=e.body),n>0?wu(o,s,n):fetch(o,s)}function P_(){let t=[Zs.default.join(Qs,"plugin","scripts","worker-service.cjs"),Zs.default.join(process.cwd(),"plugin","scripts","worker-service.cjs")];for(let e of t)if((0,Ut.existsSync)(e))return e;return null}var T_=require("fs");function IP(t){let e=__();return e&&typeof e.port=="number"&&S_(e.pid)?e.port:t}async function OP(t,e){let r=Date.now()+e;for(;Date.now()<r;){let n=IP(t);if(await Bn(n,800))return n;await new Promise(o=>setTimeout(o,300))}return null}async function z_(t,e){if(!e)return y.error("SYSTEM","ensureWorkerStarted called with empty workerScriptPath \u2014 caller bug"),"dead";if(!(0,T_.existsSync)(e))return y.error("SYSTEM","ensureWorkerStarted: worker script not found at expected path \u2014 likely a partial install or build artifact missing",{workerScriptPath:e}),"dead";if(b_()==="alive"){if(y.info("SYSTEM","Worker PID file points to a live process, skipping duplicate spawn"),await Bn(t,Lt(ue.PORT_IN_USE_WAIT))){let c=await Yn(t,Lt(ue.READINESS_WAIT));return y.info("SYSTEM","Worker became healthy while waiting on live PID"),c?"ready":"warming"}return y.warn("SYSTEM","Live PID detected but worker did not become healthy before timeout \u2014 likely still starting"),"warming"}if(await Bn(t,1e3)){let a=await Yn(t,Lt(ue.READINESS_WAIT));return a||y.warn("SYSTEM","Worker is alive but readiness timed out \u2014 proceeding anyway"),y.info("SYSTEM","Worker already running and healthy"),a?"ready":"warming"}if(await w_(t)){if(y.info("SYSTEM","Port in use, waiting for worker to become healthy"),await Bn(t,Lt(ue.PORT_IN_USE_WAIT))){let c=await Yn(t,Lt(ue.READINESS_WAIT));return y.info("SYSTEM","Worker is now healthy"),c?"ready":"warming"}y.warn("SYSTEM","Configured port in use but no healthy worker \u2014 spawning anyway (worker will pick a free ephemeral port)")}let o=vu(),s=t;try{if(o){if(y.info("SYSTEM","Starting worker daemon",{workerScriptPath:e}),y_(e,t)===void 0)return y.error("SYSTEM","Failed to spawn worker daemon"),"dead"}else y.info("SYSTEM","Another launcher holds the spawn lock \u2014 skipping duplicate spawn and waiting for its worker");let a=await OP(t,Lt(ue.POST_SPAWN_WAIT));if(a===null)return y.warn("SYSTEM",o?"Worker spawned but health endpoint not responding within window \u2014 likely still starting in background":"Spawn-lock holder's worker not healthy within window \u2014 likely still starting in background"),"warming";s=a}finally{o&&bu()}let i=await Yn(s,Lt(ue.READINESS_WAIT));return i||y.warn("SYSTEM","Worker is alive but readiness timed out \u2014 proceeding anyway"),v_(),y.info("SYSTEM",o?"Worker started successfully":"Worker is up (started by another launcher)"),i?"ready":"warming"}var qr=require("node:fs/promises"),ro=require("node:path");var O_=require("node:child_process"),Se=require("node:fs"),le=require("node:path"),Iu=require("node:os"),Tu=require("node:module");var VP={},zu=typeof __filename<"u"?(0,Tu.createRequire)(__filename):(0,Tu.createRequire)(VP.url),Ru={".js":"javascript",".mjs":"javascript",".cjs":"javascript",".jsx":"tsx",".ts":"typescript",".tsx":"tsx",".py":"python",".pyw":"python",".go":"go",".rs":"rust",".rb":"ruby",".java":"java",".c":"c",".h":"c",".cpp":"cpp",".cc":"cpp",".cxx":"cpp",".hpp":"cpp",".hh":"cpp",".kt":"kotlin",".kts":"kotlin",".swift":"swift",".php":"php",".ex":"elixir",".exs":"elixir",".lua":"lua",".scala":"scala",".sc":"scala",".sh":"bash",".bash":"bash",".zsh":"bash",".hs":"haskell",".zig":"zig",".css":"css",".scss":"scss",".toml":"toml",".yml":"yaml",".yaml":"yaml",".sql":"sql",".md":"markdown",".mdx":"markdown"};function A_(t,e){let r=t.slice(t.lastIndexOf("."));return Ru[r]?Ru[r]:e.extensionToLanguage[r]?e.extensionToLanguage[r]:"unknown"}function M_(t,e){return e.languageToQueryKey[t]?e.languageToQueryKey[t]:CP(t)}var Qn=new Map,Lr={grammars:{},extensionToLanguage:{},languageToQueryKey:{}},C_=[".keepmind.json",".claude-mem.json"];function to(t){if(Qn.has(t))return Qn.get(t);let e;for(let s of C_)try{e=(0,Se.readFileSync)((0,le.join)(t,s),"utf-8");break}catch{}let r;try{if(e===void 0)throw new Error("no project config");r=JSON.parse(e)}catch{return Qn.set(t,Lr),Lr}let n=r.grammars;if(!n||typeof n!="object"||Array.isArray(n))return Qn.set(t,Lr),Lr;let o={grammars:{},extensionToLanguage:{},languageToQueryKey:{}};for(let[s,i]of Object.entries(n)){if(N_[s]||!i||typeof i!="object"||Array.isArray(i))continue;let a=i,c=a.package,u=a.extensions,l=a.query;if(!(typeof c!="string"||!Array.isArray(u))&&u.every(d=>typeof d=="string")){o.grammars[s]={package:c,extensions:u,query:typeof l=="string"?l:void 0};for(let d of u)Ru[d]||(o.extensionToLanguage[d]=s);if(typeof l=="string"){let d=(0,le.join)(t,l);try{let p=(0,Se.readFileSync)(d,"utf-8"),f=`user_${s}`;j_[f]=p,o.languageToQueryKey[s]=f}catch{y.warn("PARSER","Custom query file not found, falling back to generic",{fullQueryPath:d}),o.languageToQueryKey[s]="generic"}}else o.languageToQueryKey[s]="generic"}}return Qn.set(t,o),o}var N_={javascript:"tree-sitter-javascript",typescript:"tree-sitter-typescript/typescript",tsx:"tree-sitter-typescript/tsx",python:"tree-sitter-python",go:"tree-sitter-go",rust:"tree-sitter-rust",ruby:"tree-sitter-ruby",java:"tree-sitter-java",c:"tree-sitter-c",cpp:"tree-sitter-cpp",kotlin:"tree-sitter-kotlin",swift:"tree-sitter-swift",php:"tree-sitter-php/php",elixir:"tree-sitter-elixir",lua:"@tree-sitter-grammars/tree-sitter-lua",scala:"tree-sitter-scala",bash:"tree-sitter-bash",haskell:"tree-sitter-haskell",zig:"@tree-sitter-grammars/tree-sitter-zig",css:"tree-sitter-css",scss:"tree-sitter-scss",toml:"@tree-sitter-grammars/tree-sitter-toml",yaml:"@tree-sitter-grammars/tree-sitter-yaml",sql:"@derekstride/tree-sitter-sql",markdown:"@tree-sitter-grammars/tree-sitter-markdown"},AP={markdown:"tree-sitter-markdown"};function MP(t){let e=N_[t];if(!e)return null;let r=AP[t];if(r){try{let n=zu.resolve(e+"/package.json"),o=(0,le.join)((0,le.dirname)(n),r);if((0,Se.existsSync)((0,le.join)(o,"src")))return o}catch{}return null}try{let n=zu.resolve(e+"/package.json");return(0,le.dirname)(n)}catch{return null}}function D_(t,e){let r=MP(t);if(r)return r;if(!e)return null;let o=to(e).grammars[t];if(!o)return null;try{let s=(0,le.join)(e,"node_modules",o.package,"package.json");if((0,Se.existsSync)(s)){let i=(0,le.dirname)(s);if((0,Se.existsSync)((0,le.join)(i,"src")))return i}}catch{}return y.warn("PARSER","Grammar package not found",{language:t,package:o.package}),null}var j_={jsts:`
|
|
84
|
+
(function_declaration name: (identifier) @name) @func
|
|
85
|
+
(lexical_declaration (variable_declarator name: (identifier) @name value: [(arrow_function) (function_expression)])) @const_func
|
|
86
|
+
(class_declaration name: (type_identifier) @name) @cls
|
|
87
|
+
(method_definition name: (property_identifier) @name) @method
|
|
88
|
+
(interface_declaration name: (type_identifier) @name) @iface
|
|
89
|
+
(type_alias_declaration name: (type_identifier) @name) @tdef
|
|
90
|
+
(enum_declaration name: (identifier) @name) @enm
|
|
91
|
+
(import_statement) @imp
|
|
92
|
+
(export_statement) @exp
|
|
93
|
+
`,js:`
|
|
94
|
+
(function_declaration name: (identifier) @name) @func
|
|
95
|
+
(lexical_declaration (variable_declarator name: (identifier) @name value: [(arrow_function) (function_expression)])) @const_func
|
|
96
|
+
(class_declaration name: (identifier) @name) @cls
|
|
97
|
+
(method_definition name: (property_identifier) @name) @method
|
|
98
|
+
(import_statement) @imp
|
|
99
|
+
(export_statement) @exp
|
|
100
|
+
`,python:`
|
|
101
|
+
(function_definition name: (identifier) @name) @func
|
|
102
|
+
(class_definition name: (identifier) @name) @cls
|
|
103
|
+
(import_statement) @imp
|
|
104
|
+
(import_from_statement) @imp
|
|
105
|
+
`,go:`
|
|
106
|
+
(function_declaration name: (identifier) @name) @func
|
|
107
|
+
(method_declaration name: (field_identifier) @name) @method
|
|
108
|
+
(type_declaration (type_spec name: (type_identifier) @name)) @tdef
|
|
109
|
+
(import_declaration) @imp
|
|
110
|
+
`,rust:`
|
|
111
|
+
(function_item name: (identifier) @name) @func
|
|
112
|
+
(struct_item name: (type_identifier) @name) @struct_def
|
|
113
|
+
(enum_item name: (type_identifier) @name) @enm
|
|
114
|
+
(trait_item name: (type_identifier) @name) @trait_def
|
|
115
|
+
(impl_item type: (type_identifier) @name) @impl_def
|
|
116
|
+
(use_declaration) @imp
|
|
117
|
+
`,ruby:`
|
|
118
|
+
(method name: (identifier) @name) @func
|
|
119
|
+
(class name: (constant) @name) @cls
|
|
120
|
+
(module name: (constant) @name) @cls
|
|
121
|
+
(call method: (identifier) @name) @imp
|
|
122
|
+
`,java:`
|
|
123
|
+
(method_declaration name: (identifier) @name) @method
|
|
124
|
+
(class_declaration name: (identifier) @name) @cls
|
|
125
|
+
(interface_declaration name: (identifier) @name) @iface
|
|
126
|
+
(enum_declaration name: (identifier) @name) @enm
|
|
127
|
+
(import_declaration) @imp
|
|
128
|
+
`,kotlin:`
|
|
129
|
+
(function_declaration (simple_identifier) @name) @func
|
|
130
|
+
(class_declaration (type_identifier) @name) @cls
|
|
131
|
+
(object_declaration (type_identifier) @name) @cls
|
|
132
|
+
(import_header) @imp
|
|
133
|
+
`,swift:`
|
|
134
|
+
(function_declaration name: (simple_identifier) @name) @func
|
|
135
|
+
(class_declaration name: (type_identifier) @name) @cls
|
|
136
|
+
(protocol_declaration name: (type_identifier) @name) @iface
|
|
137
|
+
(import_declaration) @imp
|
|
138
|
+
`,php:`
|
|
139
|
+
(function_definition name: (name) @name) @func
|
|
140
|
+
(class_declaration name: (name) @name) @cls
|
|
141
|
+
(interface_declaration name: (name) @name) @iface
|
|
142
|
+
(trait_declaration name: (name) @name) @trait_def
|
|
143
|
+
(method_declaration name: (name) @name) @method
|
|
144
|
+
(namespace_use_declaration) @imp
|
|
145
|
+
`,lua:`
|
|
146
|
+
(function_declaration name: (identifier) @name) @func
|
|
147
|
+
(function_declaration name: (dot_index_expression) @name) @func
|
|
148
|
+
(function_declaration name: (method_index_expression) @name) @func
|
|
149
|
+
`,scala:`
|
|
150
|
+
(function_definition name: (identifier) @name) @func
|
|
151
|
+
(class_definition name: (identifier) @name) @cls
|
|
152
|
+
(object_definition name: (identifier) @name) @cls
|
|
153
|
+
(trait_definition name: (identifier) @name) @trait_def
|
|
154
|
+
(import_declaration) @imp
|
|
155
|
+
`,bash:`
|
|
156
|
+
(function_definition name: (word) @name) @func
|
|
157
|
+
`,haskell:`
|
|
158
|
+
(function name: (variable) @name) @func
|
|
159
|
+
(type_synomym name: (name) @name) @tdef
|
|
160
|
+
(newtype name: (name) @name) @tdef
|
|
161
|
+
(data_type name: (name) @name) @tdef
|
|
162
|
+
(class name: (name) @name) @cls
|
|
163
|
+
(import) @imp
|
|
164
|
+
`,zig:`
|
|
165
|
+
(function_declaration name: (identifier) @name) @func
|
|
166
|
+
(test_declaration) @func
|
|
167
|
+
`,css:`
|
|
168
|
+
(rule_set (selectors) @name) @func
|
|
169
|
+
(media_statement) @cls
|
|
170
|
+
(keyframes_statement (keyframes_name) @name) @cls
|
|
171
|
+
(import_statement) @imp
|
|
172
|
+
`,scss:`
|
|
173
|
+
(rule_set (selectors) @name) @func
|
|
174
|
+
(media_statement) @cls
|
|
175
|
+
(keyframes_statement (keyframes_name) @name) @cls
|
|
176
|
+
(import_statement) @imp
|
|
177
|
+
(mixin_statement name: (identifier) @name) @mixin_def
|
|
178
|
+
(function_statement name: (identifier) @name) @func
|
|
179
|
+
(include_statement) @imp
|
|
180
|
+
`,toml:`
|
|
181
|
+
(table (bare_key) @name) @cls
|
|
182
|
+
(table (dotted_key) @name) @cls
|
|
183
|
+
(table_array_element (bare_key) @name) @cls
|
|
184
|
+
(table_array_element (dotted_key) @name) @cls
|
|
185
|
+
`,yaml:`
|
|
186
|
+
(block_mapping_pair key: (flow_node) @name) @func
|
|
187
|
+
`,sql:`
|
|
188
|
+
(create_table (object_reference) @name) @cls
|
|
189
|
+
(create_function (object_reference) @name) @func
|
|
190
|
+
(create_view (object_reference) @name) @cls
|
|
191
|
+
`,markdown:`
|
|
192
|
+
(atx_heading heading_content: (inline) @name) @heading
|
|
193
|
+
(setext_heading heading_content: (paragraph) @name) @heading
|
|
194
|
+
(fenced_code_block (info_string (language) @name)) @code_block
|
|
195
|
+
(fenced_code_block) @code_block
|
|
196
|
+
(minus_metadata) @frontmatter
|
|
197
|
+
(link_reference_definition (link_label) @name) @ref
|
|
198
|
+
`,generic:`
|
|
199
|
+
(function_declaration name: (identifier) @name) @func
|
|
200
|
+
(function_definition name: (identifier) @name) @func
|
|
201
|
+
(class_declaration name: (identifier) @name) @cls
|
|
202
|
+
(class_definition name: (identifier) @name) @cls
|
|
203
|
+
(import_statement) @imp
|
|
204
|
+
(import_declaration) @imp
|
|
205
|
+
`};function CP(t){switch(t){case"javascript":return"js";case"typescript":case"tsx":return"jsts";case"python":return"python";case"go":return"go";case"rust":return"rust";case"ruby":return"ruby";case"java":return"java";case"kotlin":return"kotlin";case"swift":return"swift";case"php":return"php";case"elixir":return"generic";case"lua":return"lua";case"scala":return"scala";case"bash":return"bash";case"haskell":return"haskell";case"zig":return"zig";case"css":return"css";case"scss":return"scss";case"toml":return"toml";case"yaml":return"yaml";case"sql":return"sql";case"markdown":return"markdown";default:return"generic"}}var $u=null,Pu=new Map;function L_(t){if(Pu.has(t))return Pu.get(t);$u||($u=(0,Se.mkdtempSync)((0,le.join)((0,Iu.tmpdir)(),"smart-read-queries-")));let e=(0,le.join)($u,`${t}.scm`);return(0,Se.writeFileSync)(e,j_[t]),Pu.set(t,e),e}var eo=null;function NP(){if(eo)return eo;try{let t=zu.resolve("tree-sitter-cli/package.json"),e=(0,le.join)((0,le.dirname)(t),"tree-sitter");if((0,Se.existsSync)(e))return eo=e,e}catch{}return eo="tree-sitter",eo}function DP(t,e,r){return U_(t,[e],r).get(e)||[]}function U_(t,e,r){if(e.length===0)return new Map;let n=NP(),o=["query","-p",r,t,...e],s;try{s=(0,O_.execFileSync)(n,o,{encoding:"utf-8",timeout:3e4,stdio:["pipe","pipe","pipe"]})}catch(i){return y.debug("WORKER",`tree-sitter query failed for ${e.length} file(s)`,void 0,i instanceof Error?i:void 0),new Map}return jP(s)}function jP(t){let e=new Map,r=null,n=null;for(let o of t.split(`
|
|
206
|
+
`)){if(o.length>0&&!o.startsWith(" ")&&!o.startsWith(" ")){r=o.trim(),e.has(r)||e.set(r,[]),n=null;continue}if(!r)continue;let s=o.match(/^\s+pattern:\s+(\d+)/);if(s){n={pattern:parseInt(s[1]),captures:[]},e.get(r).push(n);continue}let i=o.match(/^\s+capture:\s+(?:\d+\s*-\s*)?(\w+),\s*start:\s*\((\d+),\s*(\d+)\),\s*end:\s*\((\d+),\s*(\d+)\)(?:,\s*text:\s*`([^`]*)`)?/);i&&n&&n.captures.push({tag:i[1],startRow:parseInt(i[2]),startCol:parseInt(i[3]),endRow:parseInt(i[4]),endCol:parseInt(i[5]),text:i[6]})}return e}var R_={func:"function",const_func:"function",cls:"class",method:"method",iface:"interface",tdef:"type",enm:"enum",struct_def:"struct",trait_def:"trait",impl_def:"impl",mixin_def:"mixin",heading:"section",code_block:"code",frontmatter:"metadata",ref:"reference"},LP=new Set(["class","struct","impl","trait"]);function UP(t,e,r,n=200){let s=t[e]||"";if(!s.trimEnd().endsWith("{")&&!s.trimEnd().endsWith(":")){let i=t.slice(e,Math.min(e+10,r+1)).join(`
|
|
207
|
+
`),a=i.indexOf("{");a!==-1&&a<500&&(s=i.slice(0,a).replace(/\n/g," ").replace(/\s+/g," ").trim())}return s=s.replace(/\s*[{:]\s*$/,"").trim(),s.length>n&&(s=s.slice(0,n-3)+"..."),s}function qP(t,e){let r=[],n=!1;for(let o=e-1;o>=0;o--){let s=t[o].trim();if(s===""){if(n)break;continue}if(s.startsWith("/**")||s.startsWith("*")||s.startsWith("*/")||s.startsWith("//")||s.startsWith("///")||s.startsWith("//!")||s.startsWith("#")||s.startsWith("@"))r.unshift(t[o]),n=!0;else break}return r.length>0?r.join(`
|
|
208
|
+
`).trim():void 0}function ZP(t,e,r){for(let n=e+1;n<=Math.min(e+3,r);n++){let o=t[n]?.trim();if(o){if(o.startsWith('"""')||o.startsWith("'''"))return o;break}}}function FP(t,e,r,n,o,s){switch(s){case"javascript":case"typescript":case"tsx":return n.some(i=>e>=i.startRow&&r<=i.endRow);case"python":return!t.startsWith("_");case"go":return t.length>0&&t[0]===t[0].toUpperCase()&&t[0]!==t[0].toLowerCase();case"rust":return o[e]?.trimStart().startsWith("pub")??!1;default:return!0}}function q_(t,e,r){let n=[],o=[],s=[],i=[];for(let c of t)for(let u of c.captures)u.tag==="exp"&&s.push({startRow:u.startRow,endRow:u.endRow}),u.tag==="imp"&&o.push(u.text||e[u.startRow]?.trim()||"");for(let c of t){let u=c.captures.find(v=>R_[v.tag]),l=c.captures.find(v=>v.tag==="name");if(!u)continue;let d=u.startRow,p=u.endRow,f=R_[u.tag],m=l?.text||"anonymous",_;if(r==="markdown"&&f==="section"){let $=(e[d]||"").match(/^(#{1,6})\s/),x=$?$[1].length:1;_=`${"#".repeat(x)} ${m}`}else if(r==="markdown"&&f==="code"){let v=m!=="anonymous"?m:"";_=v?"```"+v:"```"}else r==="markdown"&&f==="metadata"?_="---frontmatter---":r==="markdown"&&f==="reference"?_=e[d]?.trim()||m:_=UP(e,d,p);let S=r==="markdown"?void 0:qP(e,d),b=r==="python"?ZP(e,d,p):void 0,E={name:m,kind:f,signature:_,jsdoc:S||b,lineStart:d,lineEnd:p,exported:FP(m,d,p,s,e,r)};LP.has(f)&&(E.children=[],i.push({sym:E,startRow:d,endRow:p})),n.push(E)}if(r==="markdown"){let c=new Map,u=new Set;for(let l of n){if(l.kind!=="code")continue;let d=`${l.lineStart}:${l.lineEnd}`,p=c.get(d);p?l.name!=="anonymous"?(u.add(p),c.set(d,l)):u.add(l):c.set(d,l)}if(u.size>0){let l=n.filter(d=>!u.has(d));n.length=0,n.push(...l)}}let a=new Set;for(let c of i)for(let u of n)u!==c.sym&&u.lineStart>c.startRow&&u.lineEnd<=c.endRow&&(u.kind==="function"&&(u.kind="method"),c.sym.children.push(u),a.add(u));return{symbols:n.filter(c=>!a.has(c)),imports:o}}function Ou(t){let e=(0,le.dirname)(t);for(;;){if(C_.some(n=>(0,Se.existsSync)((0,le.join)(e,n))))return e;let r=(0,le.dirname)(e);if(r===e)return;e=r}}function Fs(t,e,r){let n=r?to(r):Lr,o=A_(e,n),s=t.split(`
|
|
209
|
+
`),i=D_(o,r);if(!i)return{filePath:e,language:o,symbols:[],imports:[],totalLines:s.length,foldedTokenEstimate:50};let a=M_(o,n),c=L_(a),u=e.slice(e.lastIndexOf("."))||".txt",l=(0,Se.mkdtempSync)((0,le.join)((0,Iu.tmpdir)(),"smart-src-")),d=(0,le.join)(l,`source${u}`);(0,Se.writeFileSync)(d,t);try{let p=DP(c,d,i),f=q_(p,s,o),m=Ur({filePath:e,language:o,symbols:f.symbols,imports:f.imports,totalLines:s.length,foldedTokenEstimate:0});return{filePath:e,language:o,symbols:f.symbols,imports:f.imports,totalLines:s.length,foldedTokenEstimate:Math.ceil(m.length/4)}}finally{(0,Se.rmSync)(l,{recursive:!0,force:!0})}}function Z_(t,e){let r=new Map,n=e?to(e):Lr,o=new Map;for(let s of t){let i=A_(s.relativePath,n);o.has(i)||o.set(i,[]),o.get(i).push(s)}for(let[s,i]of o){let a=D_(s,e);if(!a){for(let p of i){let f=p.content.split(`
|
|
210
|
+
`);r.set(p.relativePath,{filePath:p.relativePath,language:s,symbols:[],imports:[],totalLines:f.length,foldedTokenEstimate:50})}continue}let c=M_(s,n),u=L_(c),l=i.map(p=>p.absolutePath),d=U_(u,l,a);for(let p of i){let f=p.content.split(`
|
|
211
|
+
`),m=d.get(p.absolutePath)||[],_=q_(m,f,s),S=Ur({filePath:p.relativePath,language:s,symbols:_.symbols,imports:_.imports,totalLines:f.length,foldedTokenEstimate:0});r.set(p.relativePath,{filePath:p.relativePath,language:s,symbols:_.symbols,imports:_.imports,totalLines:f.length,foldedTokenEstimate:Math.ceil(S.length/4)})}}return r}function Ur(t){if(t.language==="markdown")return HP(t);let e=[];if(e.push(`\u{1F4C1} ${t.filePath} (${t.language}, ${t.totalLines} lines)`),e.push(""),t.imports.length>0){e.push(` \u{1F4E6} Imports: ${t.imports.length} statements`);for(let r of t.imports.slice(0,10))e.push(` ${r}`);t.imports.length>10&&e.push(` ... +${t.imports.length-10} more`),e.push("")}for(let r of t.symbols)e.push(F_(r," "));return e.join(`
|
|
212
|
+
`)}function HP(t){let e=[];e.push(`\u{1F4C4} ${t.filePath} (${t.language}, ${t.totalLines} lines)`);for(let n of t.symbols)if(n.kind==="section"){let o=n.signature.match(/^(#{1,6})\s/),s=o?o[1].length:1,i=" ".repeat(s),a=`L${n.lineStart+1}`,c=`${i}${n.signature}`;e.push(`${c.padEnd(56)}${a}`)}else if(n.kind==="code"){let o=I_(t.symbols,n.lineStart),s=" ".repeat(o+1),i=n.lineStart===n.lineEnd?`L${n.lineStart+1}`:`L${n.lineStart+1}-${n.lineEnd+1}`,a=`${s}${n.signature}`;e.push(`${a.padEnd(56)}${i}`)}else if(n.kind==="metadata"){let o=n.lineStart===n.lineEnd?`L${n.lineStart+1}`:`L${n.lineStart+1}-${n.lineEnd+1}`,s=` ${n.signature}`;e.push(`${s.padEnd(56)}${o}`)}else if(n.kind==="reference"){let o=I_(t.symbols,n.lineStart),s=" ".repeat(o+1),i=`L${n.lineStart+1}`,a=`${s}\u2197 ${n.name}`;e.push(`${a.padEnd(56)}${i}`)}return e.join(`
|
|
213
|
+
`)}function I_(t,e){let r=0;for(let n of t)if(n.kind==="section"&&n.lineStart<e){let o=n.signature.match(/^(#{1,6})\s/);r=o?o[1].length:1}return r}function F_(t,e){let r=[],n=WP(t.kind),o=t.exported?" [exported]":"",s=t.lineStart===t.lineEnd?`L${t.lineStart+1}`:`L${t.lineStart+1}-${t.lineEnd+1}`;if(r.push(`${e}${n} ${t.name}${o} (${s})`),r.push(`${e} ${t.signature}`),t.jsdoc){let a=t.jsdoc.split(`
|
|
214
|
+
`).find(c=>{let u=c.replace(/^[\s*/]+/,"").replace(/^['"`]{3}/,"").trim();return u.length>0&&!u.startsWith("/**")});if(a){let c=a.replace(/^[\s*/]+/,"").replace(/^['"`]{3}/,"").replace(/['"`]{3}$/,"").trim();c&&r.push(`${e} \u{1F4AC} ${c}`)}}if(t.children&&t.children.length>0)for(let i of t.children)r.push(F_(i,e+" "));return r.join(`
|
|
215
|
+
`)}function WP(t){return{function:"\u0192",method:"\u0192",class:"\u25C6",interface:"\u25C7",type:"\u25C7",const:"\u25CF",variable:"\u25CB",export:"\u2192",struct:"\u25C6",enum:"\u25A3",trait:"\u25C7",impl:"\u25C8",property:"\u25CB",getter:"\u21E2",setter:"\u21E0",mixin:"\u25C8",section:"\xA7",code:"\u2318",metadata:"\u25CA",reference:"\u2197"}[t]||"\xB7"}function H_(t,e,r,n){let o=Fs(t,e,n),s=l=>{for(let d of l){if(d.name===r)return d;if(d.children){let p=s(d.children);if(p)return p}}return null},i=s(o.symbols);if(!i)return null;let a=t.split(`
|
|
216
|
+
`);if(o.language==="markdown"&&i.kind==="section"){let l=i.signature.match(/^(#{1,6})\s/),d=l?l[1].length:1,p=i.lineStart,f=a.length-1;for(let _ of o.symbols)if(_.kind==="section"&&_.lineStart>p){let S=_.signature.match(/^(#{1,6})\s/);if((S?S[1].length:1)<=d){for(f=_.lineStart-1;f>p&&a[f].trim()==="";)f--;break}}let m=a.slice(p,f+1).join(`
|
|
217
|
+
`);return`<!-- \u{1F4CD} ${e} L${p+1}-${f+1} -->
|
|
218
|
+
${m}`}let c=i.lineStart;for(let l=i.lineStart-1;l>=0;l--){let d=a[l].trim();if(d===""||d.startsWith("*")||d.startsWith("/**")||d.startsWith("///")||d.startsWith("//")||d.startsWith("#")||d.startsWith("@")||d==="*/")c=l;else break}let u=a.slice(c,i.lineEnd+1).join(`
|
|
219
|
+
`);return`// \u{1F4CD} ${e} L${c+1}-${i.lineEnd+1}
|
|
220
|
+
${u}`}var W_=new Set([".js",".jsx",".ts",".tsx",".mjs",".cjs",".py",".pyw",".go",".rs",".rb",".java",".cs",".cpp",".cc",".cxx",".c",".h",".hpp",".hh",".swift",".kt",".kts",".php",".vue",".svelte",".ex",".exs",".lua",".scala",".sc",".sh",".bash",".zsh",".hs",".zig",".css",".scss",".toml",".yml",".yaml",".sql",".md",".mdx"]),GP=new Set(["node_modules",".git","dist","build",".next","__pycache__",".venv","venv","env",".env","target","vendor",".cache",".turbo","coverage",".nyc_output",".claude",".smart-file-read"]),KP=512*1024;async function*V_(t,e,r=20,n){if(r<=0)return;let o;try{o=await(0,qr.readdir)(t,{withFileTypes:!0})}catch(s){y.debug("WORKER",`walkDir: failed to read directory ${t}`,void 0,s instanceof Error?s:void 0);return}for(let s of o){if(s.name.startsWith(".")&&s.name!=="."||GP.has(s.name))continue;let i=(0,ro.join)(t,s.name);if(s.isDirectory())yield*V_(i,e,r-1,n);else if(s.isFile()){let a=s.name.slice(s.name.lastIndexOf("."));(W_.has(a)||n&&n.has(a))&&(yield i)}}}async function JP(t){try{let e=await(0,qr.stat)(t);if(e.size>KP||e.size===0)return null;let r=await(0,qr.readFile)(t,"utf-8");return r.slice(0,1e3).includes("\0")?null:r}catch(e){return y.debug("WORKER",`safeReadFile: failed to read ${t}`,void 0,e instanceof Error?e:void 0),null}}async function G_(t,e,r={}){let n=r.maxResults||20,o=e.toLowerCase(),s=o.split(/[\s_\-./]+/).filter(E=>E.length>0),i=r.projectRoot||t,a=to(i),c=new Set;for(let E of Object.values(a.grammars))for(let v of E.extensions)W_.has(v)||c.add(v);let u=[];for await(let E of V_(t,t,20,c.size>0?c:void 0)){if(r.filePattern&&!(0,ro.relative)(t,E).toLowerCase().includes(r.filePattern.toLowerCase()))continue;let v=await JP(E);v&&u.push({absolutePath:E,relativePath:(0,ro.relative)(t,E),content:v})}let l=Z_(u,i),d=[],p=[],f=0;for(let[E,v]of l){f+=BP(v);let x=Hs(E.toLowerCase(),s)>0,ve=[],ke=(qt,sr)=>{for(let ce of qt){let wt=0,Je="",Zr=Hs(ce.name.toLowerCase(),s);Zr>0&&(wt+=Zr*3,Je="name match"),ce.signature.toLowerCase().includes(o)&&(wt+=2,Je=Je?`${Je} + signature`:"signature match"),ce.jsdoc&&ce.jsdoc.toLowerCase().includes(o)&&(wt+=1,Je=Je?`${Je} + jsdoc`:"jsdoc match"),wt>0&&(x=!0,ve.push({filePath:E,symbolName:sr?`${sr}.${ce.name}`:ce.name,kind:ce.kind,signature:ce.signature,jsdoc:ce.jsdoc,lineStart:ce.lineStart,lineEnd:ce.lineEnd,matchReason:Je})),ce.children&&ke(ce.children,ce.name)}};ke(v.symbols),x&&(d.push(v),p.push(...ve))}p.sort((E,v)=>{let $=Hs(E.symbolName.toLowerCase(),s);return Hs(v.symbolName.toLowerCase(),s)-$});let m=p.slice(0,n),_=new Set(m.map(E=>E.filePath)),S=d.filter(E=>_.has(E.filePath)).slice(0,n),b=S.reduce((E,v)=>E+v.foldedTokenEstimate,0);return{foldedFiles:S,matchingSymbols:m,totalFilesScanned:u.length,totalSymbolsFound:f,tokenEstimate:b}}function Hs(t,e){let r=0;for(let n of e)if(t===n)r+=10;else if(t.includes(n))r+=5;else{let o=0,s=0;for(let i of n){let a=t.indexOf(i,o);a!==-1&&(s++,o=a+1)}s===n.length&&(r+=1)}return r}function BP(t){let e=t.symbols.length;for(let r of t.symbols)r.children&&(e+=r.children.length);return e}function K_(t,e){let r=[];if(r.push(`\u{1F50D} Smart Search: "${e}"`),r.push(` Scanned ${t.totalFilesScanned} files, found ${t.totalSymbolsFound} symbols`),r.push(` ${t.matchingSymbols.length} matches across ${t.foldedFiles.length} files (~${t.tokenEstimate} tokens for folded view)`),r.push(""),t.matchingSymbols.length===0)return r.push(" No matching symbols found."),r.join(`
|
|
221
|
+
`);r.push("\u2500\u2500 Matching Symbols \u2500\u2500"),r.push("");for(let n of t.matchingSymbols){if(r.push(` ${n.kind} ${n.symbolName} (${n.filePath}:${n.lineStart+1})`),r.push(` ${n.signature}`),n.jsdoc){let o=n.jsdoc.split(`
|
|
222
|
+
`).find(s=>s.replace(/^[\s*/]+/,"").trim().length>0);o&&r.push(` \u{1F4AC} ${o.replace(/^[\s*/]+/,"").trim()}`)}r.push("")}r.push("\u2500\u2500 Folded File Views \u2500\u2500"),r.push("");for(let n of t.foldedFiles)r.push(Ur(n)),r.push("");return r.push("\u2500\u2500 Actions \u2500\u2500"),r.push(" To see full implementation: use smart_unfold with file path and symbol name"),r.join(`
|
|
223
|
+
`)}var Nu=require("node:fs/promises"),Gs=require("node:fs"),rt=require("node:path"),ny=require("node:os"),oy=require("node:url");var J_="claude";function YP(t){return t.trim().toLowerCase().replace(/\s+/g,"-")}function Ws(t){if(!t)return J_;let e=YP(t);return e?e==="transcript"||e.includes("codex")?"codex":e.includes("cursor")?"cursor":e.includes("claude")?"claude":e:J_}var XP=bt(ue.API_REQUEST),Ke=class extends Error{kind;status;cause;constructor(e,r,n={}){super(r),this.name="ServerClientError",this.kind=e,this.status=n.status??null,this.cause=n.cause}isFallbackEligible(){return this.kind==="transport"||this.kind==="timeout"||this.kind==="missing_api_key"||this.kind==="http_error"&&(this.status!==null&&this.status>=500||this.status===429)}},Vs=class{baseUrl;apiKey;timeoutMs;constructor(e){this.baseUrl=QP(e.serverBaseUrl),this.apiKey=e.apiKey,this.timeoutMs=e.timeoutMs??XP}async startSession(e){let r=this.buildStartSessionPayload(e);return this.request("POST","/v1/sessions/start",r)}async recordEvent(e){let r=this.buildEventPayload(e),n=e.generate===!1?"/v1/events?generate=false":"/v1/events";return this.request("POST",n,r)}async endSession(e){if(!e.sessionId)throw new Ke("invalid_response","sessionId is required for endSession");return this.request("POST",`/v1/sessions/${encodeURIComponent(e.sessionId)}/end`,{})}async addObservation(e){return this.request("POST","/v1/memories",this.buildAddObservationPayload(e))}async searchObservations(e){return this.request("POST","/v1/search",this.buildSearchPayload(e))}async contextObservations(e){return this.request("POST","/v1/context",this.buildSearchPayload(e))}async getJobStatus(e){if(!e)throw new Ke("invalid_response","jobId is required for getJobStatus");return this.request("GET",`/v1/jobs/${encodeURIComponent(e)}`)}buildAddObservationPayload(e){let r=e.content,n=e.kind??"manual",o=typeof e.metadata?.title=="string"?e.metadata.title:void 0;return{projectId:e.projectId,kind:n,type:n,narrative:r,...o?{title:o}:{},...e.serverSessionId!==void 0?{serverSessionId:e.serverSessionId}:{},...e.metadata!==void 0?{metadata:e.metadata}:{}}}buildSearchPayload(e){return{projectId:e.projectId,query:e.query,...e.limit!==void 0?{limit:e.limit}:{},...e.platformSource!==void 0?{platformSource:Au(e.platformSource)}:{}}}buildStartSessionPayload(e){return{projectId:e.projectId,...e.externalSessionId!==void 0?{externalSessionId:e.externalSessionId}:{},...e.contentSessionId!==void 0?{contentSessionId:e.contentSessionId}:{},...e.agentId!==void 0?{agentId:e.agentId}:{},...e.agentType!==void 0?{agentType:e.agentType}:{},...e.platformSource!==void 0?{platformSource:Au(e.platformSource)}:{},...e.metadata!==void 0?{metadata:e.metadata}:{}}}buildEventPayload(e){return{projectId:e.projectId,sourceType:e.sourceType,eventType:e.eventType,occurredAtEpoch:e.occurredAtEpoch,...e.serverSessionId!==void 0?{serverSessionId:e.serverSessionId}:{},...e.contentSessionId!==void 0?{contentSessionId:e.contentSessionId}:{},...e.memorySessionId!==void 0?{memorySessionId:e.memorySessionId}:{},...e.platformSource!==void 0?{platformSource:Au(e.platformSource)}:{},...e.payload!==void 0?{payload:e.payload}:{}}}async request(e,r,n){if(!this.apiKey||!this.apiKey.trim())throw new Ke("missing_api_key","Server API key is not configured (CLAUDE_MEM_SERVER_API_KEY).");let o=`${this.baseUrl}${r}`,s={method:e,headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`}};n!==void 0&&(s.body=JSON.stringify(n));let i;try{i=await wu(o,s,this.timeoutMs)}catch(c){let u=c instanceof Error?c.message:String(c),l=/timed out|timeout/i.test(u);throw new Ke(l?"timeout":"transport",`Server ${e} ${r} failed: ${u}`,{cause:c})}if(!i.ok){let c=await i.text().catch(()=>"");throw new Ke("http_error",`Server ${e} ${r} returned ${i.status}: ${eT(c,200)}`,{status:i.status})}let a=await i.text();if(!a||a.length===0)return{};try{return JSON.parse(a)}catch(c){throw new Ke("invalid_response",`Server ${e} ${r} returned non-JSON response`,{cause:c})}}};function B_(t){return t instanceof Ke}function QP(t){return t.replace(/\/+$/,"")}function Au(t){return typeof t=="string"?Ws(t):null}function eT(t,e){return t.length<=e?t:`${t.slice(0,e)}\u2026`}function Mu(){let e=(As().CLAUDE_MEM_RUNTIME??"worker").trim().toLowerCase();return e==="server"||e==="server-beta"?"server":"worker"}function Y_(){let t=As(),e=(...i)=>{for(let a of i){let c=(a??"").trim();if(c.length>0)return c}return""},r=e(t.CLAUDE_MEM_SERVER_URL,t.CLAUDE_MEM_SERVER_BETA_URL),n=e(t.CLAUDE_MEM_SERVER_API_KEY,t.CLAUDE_MEM_SERVER_BETA_API_KEY),o=e(t.CLAUDE_MEM_SERVER_PROJECT_ID,t.CLAUDE_MEM_SERVER_BETA_PROJECT_ID);if(!r)return y.warn("HOOK","[server-fallback] reason=missing_base_url"),null;if(!n)return y.warn("HOOK","[server-fallback] reason=missing_api_key"),null;if(!o)return y.warn("HOOK","[server-fallback] reason=missing_project_id"),null;let s={serverBaseUrl:r,apiKey:n};return{runtime:"server",client:new Vs(s),projectId:o,serverBaseUrl:r}}var yT={},tT="1.0.0";console.log=(...t)=>{y.error("CONSOLE","Intercepted console output (MCP protocol protection)",void 0,{args:t})};var sy=!1,iy=(()=>{if(typeof __dirname<"u")return __dirname;try{return(0,rt.dirname)((0,oy.fileURLToPath)(yT.url))}catch{return sy=!0,process.cwd()}})(),Du=P_()??(0,rt.resolve)(iy,"worker-service.cjs");function rT(){sy&&((0,Gs.existsSync)(Du)||y.error("SYSTEM","mcp-server: dirname resolution failed (both __dirname and import.meta.url are unavailable). Fell back to process.cwd() and the resolved WORKER_SCRIPT_PATH does not exist. This is the actual problem \u2014 the worker bundle is fine, but mcp-server cannot locate it. Worker auto-start will fail until the dirname-resolution path is fixed.",{workerScriptPath:Du,mcpServerDir:iy}))}var X_={search:"/api/search",timeline:"/api/timeline"};async function Cu(t,e){y.debug("SYSTEM","\u2192 Worker API",void 0,{endpoint:t,params:e});let r=new URLSearchParams;for(let[o,s]of Object.entries(e))s!=null&&r.append(o,String(s));let n=`${t}?${r}`;try{let o=await Xn(n);if(!o.ok){let i=await o.text();throw new Error(`Worker API error (${o.status}): ${i}`)}let s=await o.json();return y.debug("SYSTEM","\u2190 Worker API success",void 0,{endpoint:t}),s}catch(o){return y.error("SYSTEM","\u2190 Worker API error",{endpoint:t},o instanceof Error?o:new Error(String(o))),{content:[{type:"text",text:`Error calling Worker API: ${o instanceof Error?o.message:String(o)}`}],isError:!0}}}async function nT(t,e){y.debug("SYSTEM","\u2192 Worker API text",void 0,{endpoint:t,params:e});let r=new URLSearchParams;for(let[o,s]of Object.entries(e))s!=null&&r.append(o,String(s));let n=`${t}?${r}`;try{let o=await Xn(n);if(!o.ok){let i=await o.text();throw new Error(`Worker API error (${o.status}): ${i}`)}let s=await o.text();return y.debug("SYSTEM","\u2190 Worker API text success",void 0,{endpoint:t}),{content:[{type:"text",text:s}]}}catch(o){return y.error("SYSTEM","\u2190 Worker API text error",{endpoint:t},o instanceof Error?o:new Error(String(o))),{content:[{type:"text",text:`Error calling Worker API: ${o instanceof Error?o.message:String(o)}`}],isError:!0}}}async function oT(t,e){let r=await Xn(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!r.ok){let o=await r.text();throw new Error(`Worker API error (${r.status}): ${o}`)}let n=await r.json();return y.debug("HTTP","Worker API success (POST)",void 0,{endpoint:t}),{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}async function or(t,e){y.debug("HTTP","Worker API request (POST)",void 0,{endpoint:t});try{return await oT(t,e)}catch(r){return y.error("HTTP","Worker API error (POST)",{endpoint:t},r instanceof Error?r:new Error(String(r))),{content:[{type:"text",text:`Error calling Worker API: ${r instanceof Error?r.message:String(r)}`}],isError:!0}}}async function sT(){try{return(await Xn("/api/health")).ok}catch(t){return y.debug("SYSTEM","Worker health check failed",{},t instanceof Error?t:new Error(String(t))),!1}}function iT(){if(Mu()!=="server")return null;let e=Y_();return e?{...e,available:!0}:{runtime:"server",available:!1,reason:"server runtime is selected but configuration is incomplete (missing url, api key, or project id)"}}function oo(t){return B_(t)?{content:[{type:"text",text:`Server error (${t.kind}${t.status?` ${t.status}`:""}): ${t.message}`}],isError:!0}:{content:[{type:"text",text:`Tool error: ${t instanceof Error?t.message:String(t)}`}],isError:!0}}function so(t){return{content:[{type:"text",text:JSON.stringify(t,null,2)}]}}function io(t){let e=iT();if(!e)throw new Ke("transport",`${t} requires CLAUDE_MEM_RUNTIME=server. Current runtime is "worker"; use the existing search/timeline/get_observations tools for worker-mode memory access.`);if(!e.available)throw new Ke("missing_api_key",`${t}: ${e.reason}`);return e}async function Q_(t){try{let e=io("observation_add");if(typeof t?.content!="string"||t.content.trim().length===0)throw new Error('observation_add: "content" is required');let n={projectId:t.projectId&&t.projectId.trim().length>0?t.projectId:e.projectId,content:t.content,...t.serverSessionId!==void 0?{serverSessionId:t.serverSessionId}:{},...t.kind!==void 0?{kind:t.kind}:{},...t.metadata!==void 0?{metadata:t.metadata}:{}},o=await e.client.addObservation(n);return so(o)}catch(e){return oo(e)}}function Js(t){return typeof t=="string"?Ws(t):null}async function aT(t){try{let e=io("observation_record_event");if(typeof t?.eventType!="string"||t.eventType.trim().length===0)throw new Error('observation_record_event: "eventType" is required');let n={projectId:t.projectId&&t.projectId.trim().length>0?t.projectId:e.projectId,sourceType:t.sourceType??"api",eventType:t.eventType,occurredAtEpoch:typeof t.occurredAtEpoch=="number"?t.occurredAtEpoch:Date.now(),...t.serverSessionId!==void 0?{serverSessionId:t.serverSessionId}:{},...t.contentSessionId!==void 0?{contentSessionId:t.contentSessionId}:{},...t.memorySessionId!==void 0?{memorySessionId:t.memorySessionId}:{},...t.platformSource!==void 0?{platformSource:Js(t.platformSource)}:{},...t.payload!==void 0?{payload:t.payload}:{},...t.generate!==void 0?{generate:t.generate}:{}},o=await e.client.recordEvent(n);return so(o)}catch(e){return oo(e)}}async function ey(t){try{let e=io("observation_search");if(typeof t?.query!="string"||t.query.trim().length===0)throw new Error('observation_search: "query" is required');let n={projectId:t.projectId&&t.projectId.trim().length>0?t.projectId:e.projectId,query:t.query,...t.limit!==void 0?{limit:t.limit}:{},...t.platformSource!==void 0?{platformSource:Js(t.platformSource)}:{}},o=await e.client.searchObservations(n);return so(o)}catch(e){return oo(e)}}async function ty(t){try{let e=io("observation_context");if(typeof t?.query!="string"||t.query.trim().length===0)throw new Error('observation_context: "query" is required');let n={projectId:t.projectId&&t.projectId.trim().length>0?t.projectId:e.projectId,query:t.query,...t.limit!==void 0?{limit:t.limit}:{},...t.platformSource!==void 0?{platformSource:Js(t.platformSource)}:{}},o=await e.client.contextObservations(n);return so(o)}catch(e){return oo(e)}}function cT(t){return Array.isArray(t.projects)?t.projects.map(e=>typeof e=="string"?e.trim():"").filter(Boolean):typeof t.projects=="string"?t.projects.split(",").map(e=>e.trim()).filter(Boolean):typeof t.project=="string"&&t.project.trim().length>0?[t.project.trim()]:[]}async function uT(t){let e=cT(t);return e.length===0?{content:[{type:"text",text:'session_start_context: "project" or "projects" is required'}],isError:!0}:nT("/api/context/inject",{projects:e.join(","),...t.platformSource!==void 0?{platformSource:Js(t.platformSource)}:{},...t.full!==void 0?{full:t.full}:{},...t.colors!==void 0?{colors:t.colors}:{}})}async function lT(t){try{let e=io("observation_generation_status"),r=(t?.jobId??t?.job_id??"").trim();if(!r)throw new Error('observation_generation_status: "jobId" is required');let n=await e.client.getJobStatus(r);return so(n)}catch(e){return oo(e)}}async function dT(){if(await sT())return!0;y.warn("SYSTEM","Worker not available, attempting auto-start for MCP client"),rT();try{let t=xu(),e=await z_(t,Du);return e==="dead"&&y.error("SYSTEM","Worker auto-start failed \u2014 MCP tools that require the worker (search, timeline, get_observations) will fail until the worker is running. Check earlier log lines for the specific failure reason (Bun not found, missing worker bundle, port conflict, etc.)."),e!=="dead"}catch(t){return y.error("SYSTEM","Worker auto-start threw \u2014 MCP tools that require the worker (search, timeline, get_observations) will fail until the worker is running.",void 0,t instanceof Error?t:new Error(String(t))),!1}}var ay=[{name:"__IMPORTANT",description:`3-LAYER WORKFLOW (ALWAYS FOLLOW):
|
|
224
|
+
1. search(query) \u2192 Get index with IDs (~50-100 tokens/result)
|
|
225
|
+
2. timeline(anchor=ID) \u2192 Get context around interesting results
|
|
226
|
+
3. get_observations([IDs]) \u2192 Fetch full details ONLY for filtered IDs
|
|
227
|
+
NEVER fetch full details without filtering first. 10x token savings.`,inputSchema:{type:"object",properties:{}},handler:async()=>({content:[{type:"text",text:`# Memory Search Workflow
|
|
228
|
+
|
|
229
|
+
**3-Layer Pattern (ALWAYS follow this):**
|
|
230
|
+
|
|
231
|
+
1. **Search** - Get index of results with IDs
|
|
232
|
+
\`search(query="...", limit=20, project="...")\`
|
|
233
|
+
Returns: Table with IDs, titles, dates (~50-100 tokens/result)
|
|
234
|
+
|
|
235
|
+
2. **Timeline** - Get context around interesting results
|
|
236
|
+
\`timeline(anchor=<ID>, depth_before=3, depth_after=3)\`
|
|
237
|
+
Returns: Chronological context showing what was happening
|
|
238
|
+
|
|
239
|
+
3. **Fetch** - Get full details ONLY for relevant IDs
|
|
240
|
+
\`get_observations(ids=[...])\` # ALWAYS batch for 2+ items
|
|
241
|
+
Returns: Complete details (~500-1000 tokens/result)
|
|
242
|
+
|
|
243
|
+
**Why:** 10x token savings. Never fetch full details without filtering first.`}]})},{name:"search",description:"Step 1: Search memory. Returns index with IDs. Params: query, limit, project, platformSource, type, obs_type, dateStart, dateEnd, offset, orderBy",inputSchema:{type:"object",properties:{query:{type:"string",description:"Search query"},limit:{type:"number",description:"Max results (default 20)"},project:{type:"string",description:"Filter by project name"},platformSource:{type:"string",description:"Filter by platform source (e.g. claude, codex, cursor) \u2014 restricts results to that agent's own memory"},type:{type:"string",description:"Filter by observation type"},obs_type:{type:"string",description:"Filter by obs_type field"},dateStart:{type:"string",description:"Start date filter (ISO)"},dateEnd:{type:"string",description:"End date filter (ISO)"},offset:{type:"number",description:"Pagination offset"},orderBy:{type:"string",description:"Sort order: date_desc or date_asc"}},additionalProperties:!0},handler:async t=>{let e=X_.search;return await Cu(e,t)}},{name:"timeline",description:"Step 2: Get context around results. Params: anchor (observation ID) OR query (finds anchor automatically), depth_before, depth_after, project",inputSchema:{type:"object",properties:{anchor:{type:"number",description:"Observation ID to center the timeline around"},query:{type:"string",description:"Query to find anchor automatically"},depth_before:{type:"number",description:"Items before anchor (default 3)"},depth_after:{type:"number",description:"Items after anchor (default 3)"},project:{type:"string",description:"Filter by project name"}},additionalProperties:!0},handler:async t=>{let e=X_.timeline;return await Cu(e,t)}},{name:"get_observations",description:"Step 3: Fetch full details for filtered IDs. Params: ids (array of observation IDs, required), orderBy, limit, project",inputSchema:{type:"object",properties:{ids:{type:"array",items:{type:"number"},description:"Array of observation IDs to fetch (required)"}},required:["ids"],additionalProperties:!0},handler:async t=>await or("/api/observations/batch",t)},{name:"session_start_context",description:"Render the exact worker-mode SessionStart context for a project. Calls /api/context/inject and returns the same text hooks inject at startup. Params: project OR projects, platformSource, full, colors.",inputSchema:{type:"object",properties:{project:{type:"string",description:"Project name, e.g. claude-mem/night-parsnip"},projects:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"}],description:"Project chain for context injection. Array or comma-separated string; last project is treated as primary."},platformSource:{type:"string",description:"Optional platform source filter, e.g. claude, codex, cursor"},full:{type:"boolean",description:"When true, request full context instead of configured limits"},colors:{type:"boolean",description:"When true, request human terminal-color formatting"}},additionalProperties:!1},handler:async t=>uT(t??{})},{name:"delete_observations_by_project",description:"Delete ALL observations and summaries for a project. Irreversible. Requires confirm:true to execute; pass dryRun:true to preview the counts that would be deleted without touching data. Params: project (required), confirm, dryRun.",inputSchema:{type:"object",properties:{project:{type:"string",description:"Project name whose observations+summaries to delete"},confirm:{type:"boolean",description:"Must be true to actually delete (ignored when dryRun:true)"},dryRun:{type:"boolean",description:"When true, only returns the counts that would be deleted"}},required:["project"],additionalProperties:!1},handler:async t=>await or("/api/memory/delete-by-project",t??{})},{name:"observation_add",description:"Insert a manual observation directly into server storage. Calls /v1/memories \u2014 does NOT enqueue generation. Server runtime only. Params: content (required), projectId (optional, falls back to settings), serverSessionId, kind, metadata.",inputSchema:{type:"object",properties:{projectId:{type:"string",description:"Project id (falls back to CLAUDE_MEM_SERVER_PROJECT_ID)"},serverSessionId:{type:"string",description:"Optional server_session_id to attach the observation to"},kind:{type:"string",description:"Observation kind (default: manual)"},content:{type:"string",description:"Observation content (required)"},metadata:{type:"object",description:"Free-form metadata object",additionalProperties:!0}},required:["content"],additionalProperties:!1},handler:async t=>Q_(t??{})},{name:"observation_record_event",description:"Record an agent event into the server. Calls /v1/events \u2014 server inserts the event row, the outbox row, and enqueues a generation job atomically. Server runtime only.",inputSchema:{type:"object",properties:{projectId:{type:"string"},eventType:{type:"string",description:"Event type (required), e.g. PostToolUse, UserPromptSubmit"},sourceType:{type:"string",enum:["hook","worker","provider","server","api"]},serverSessionId:{type:"string"},contentSessionId:{type:"string"},memorySessionId:{type:"string"},platformSource:{type:"string",description:"Optional platform source for session linkage and event scoping"},payload:{description:"Event payload (any JSON value)"},occurredAtEpoch:{type:"number",description:"Unix epoch millis (defaults to now)"},generate:{type:"boolean",description:"If false, skip generation job (default: true)"}},required:["eventType"],additionalProperties:!1},handler:async t=>aT(t??{})},{name:"observation_search",description:"Full-text search across generated observations using the server's GIN tsvector index (Phase 1). Calls /v1/search. Server runtime only. Params: query (required), projectId (optional), platformSource, limit (default 20, max 100).",inputSchema:{type:"object",properties:{projectId:{type:"string"},query:{type:"string",description:"Search query (required)"},platformSource:{type:"string",description:"Optional platform source filter, e.g. claude, codex, cursor"},limit:{type:"number",description:"Max results (default 20, max 100)"}},required:["query"],additionalProperties:!1},handler:async t=>ey(t??{})},{name:"observation_context",description:"Get top-N relevant observations for context injection. Returns matched observations AND a pre-joined context string suitable for prompt injection. Calls /v1/context. Server runtime only.",inputSchema:{type:"object",properties:{projectId:{type:"string"},query:{type:"string",description:"Search query (required)"},platformSource:{type:"string",description:"Optional platform source filter, e.g. claude, codex, cursor"},limit:{type:"number",description:"Max observations (default 10, max 50)"}},required:["query"],additionalProperties:!1},handler:async t=>ty(t??{})},{name:"observation_generation_status",description:"Look up the status of an observation generation job by id. Calls /v1/jobs/:id. Server runtime only. Returns the same payload as REST.",inputSchema:{type:"object",properties:{jobId:{type:"string",description:"Generation job id (required)"}},required:["jobId"],additionalProperties:!1},handler:async t=>lT(t??{})},{name:"memory_add",description:"Compatibility alias for observation_add. Same behavior; same schema modulo the legacy field names.",inputSchema:{type:"object",properties:{projectId:{type:"string"},kind:{type:"string"},content:{type:"string"},narrative:{type:"string",description:"Legacy alias for content; mapped to content if content is missing"},title:{type:"string",description:"Legacy field; appended to metadata.title"},metadata:{type:"object",additionalProperties:!0}},required:["projectId"],additionalProperties:!0},handler:async t=>{let e={projectId:t?.projectId,content:t?.content??t?.narrative??"",kind:t?.kind,metadata:{...t?.metadata??{},...t?.title?{title:t.title}:{}}};return Q_(e)}},{name:"memory_search",description:"Compatibility alias for observation_search. Same FTS path; same /v1/search REST endpoint.",inputSchema:{type:"object",properties:{projectId:{type:"string"},query:{type:"string"},platformSource:{type:"string"},limit:{type:"number"}},required:["projectId","query"],additionalProperties:!0},handler:async t=>ey(t??{})},{name:"memory_context",description:"Compatibility alias for observation_context. Same /v1/context REST endpoint.",inputSchema:{type:"object",properties:{projectId:{type:"string"},query:{type:"string"},platformSource:{type:"string"},limit:{type:"number"}},required:["projectId","query"],additionalProperties:!0},handler:async t=>ty(t??{})},{name:"smart_search",description:"Search codebase for symbols, functions, classes using tree-sitter AST parsing. Returns folded structural views with token counts. Use path parameter to scope the search.",inputSchema:{type:"object",properties:{query:{type:"string",description:"Search term \u2014 matches against symbol names, file names, and file content"},path:{type:"string",description:"Root directory to search (default: current working directory)"},max_results:{type:"number",description:"Maximum results to return (default: 20)"},file_pattern:{type:"string",description:'Substring filter for file paths (e.g. ".ts", "src/services")'}},required:["query"]},handler:async t=>{let e=(0,rt.resolve)(t.path||process.cwd()),r=await G_(e,t.query,{maxResults:t.max_results||20,filePattern:t.file_pattern});return{content:[{type:"text",text:K_(r,t.query)}]}}},{name:"smart_unfold",description:"Expand a specific symbol (function, class, method) from a file. Returns the full source code of just that symbol. Use after smart_search or smart_outline to read specific code.",inputSchema:{type:"object",properties:{file_path:{type:"string",description:"Path to the source file"},symbol_name:{type:"string",description:"Name of the symbol to unfold (function, class, method, etc.)"}},required:["file_path","symbol_name"]},handler:async t=>{let e=(0,rt.resolve)(t.file_path),r=await(0,Nu.readFile)(e,"utf-8"),n=Ou(e)??process.cwd(),o=H_(r,e,t.symbol_name,n);if(o)return{content:[{type:"text",text:o}]};let s=Fs(r,e,n);if(s.symbols.length>0){let i=s.symbols.map(a=>` - ${a.name} (${a.kind})`).join(`
|
|
244
|
+
`);return{content:[{type:"text",text:`Symbol "${t.symbol_name}" not found in ${t.file_path}.
|
|
245
|
+
|
|
246
|
+
Available symbols:
|
|
247
|
+
${i}`}]}}return{content:[{type:"text",text:`Could not parse ${t.file_path}. File may be unsupported or empty.`}]}}},{name:"smart_outline",description:"Get structural outline of a file \u2014 shows all symbols (functions, classes, methods, types) with signatures but bodies folded. Much cheaper than reading the full file.",inputSchema:{type:"object",properties:{file_path:{type:"string",description:"Path to the source file"}},required:["file_path"]},handler:async t=>{let e=(0,rt.resolve)(t.file_path),r=await(0,Nu.readFile)(e,"utf-8"),n=Fs(r,e,Ou(e)??process.cwd());return n.symbols.length>0?{content:[{type:"text",text:Ur(n)}]}:{content:[{type:"text",text:`Could not parse ${t.file_path}. File may use an unsupported language or be empty.`}]}}},{name:"build_corpus",description:"Build a knowledge corpus from filtered observations. Creates a queryable knowledge agent. Params: name (required), description, project, types (comma-separated), concepts (comma-separated), files (comma-separated), query, dateStart, dateEnd, limit",inputSchema:{type:"object",properties:{name:{type:"string",description:"Corpus name (used as filename)"},description:{type:"string",description:"What this corpus is about"},project:{type:"string",description:"Filter by project"},types:{type:"string",description:"Comma-separated observation types: decision,bugfix,feature,refactor,discovery,change"},concepts:{type:"string",description:"Comma-separated concepts to filter by"},files:{type:"string",description:"Comma-separated file paths to filter by"},query:{type:"string",description:"Semantic search query"},dateStart:{type:"string",description:"Start date (ISO format)"},dateEnd:{type:"string",description:"End date (ISO format)"},limit:{type:"number",description:"Maximum observations (default 500)"}},required:["name"],additionalProperties:!0},handler:async t=>await or("/api/corpus",t)},{name:"list_corpora",description:"List all knowledge corpora with their stats and priming status",inputSchema:{type:"object",properties:{},additionalProperties:!0},handler:async t=>await Cu("/api/corpus",t)},{name:"prime_corpus",description:"Prime a knowledge corpus \u2014 creates an AI session loaded with the corpus knowledge. Must be called before query_corpus.",inputSchema:{type:"object",properties:{name:{type:"string",description:"Name of the corpus to prime"}},required:["name"],additionalProperties:!0},handler:async t=>{let{name:e,...r}=t;if(typeof e!="string"||e.trim()==="")throw new Error("Missing required argument: name");return await or(`/api/corpus/${encodeURIComponent(e)}/prime`,r)}},{name:"query_corpus",description:"Ask a question to a primed knowledge corpus. The corpus must be primed first with prime_corpus.",inputSchema:{type:"object",properties:{name:{type:"string",description:"Name of the corpus to query"},question:{type:"string",description:"The question to ask"}},required:["name","question"],additionalProperties:!0},handler:async t=>{let{name:e,...r}=t;if(typeof e!="string"||e.trim()==="")throw new Error("Missing required argument: name");return await or(`/api/corpus/${encodeURIComponent(e)}/query`,r)}},{name:"rebuild_corpus",description:"Rebuild a knowledge corpus from its stored filter \u2014 re-runs the search to refresh with new observations. Does not re-prime the session.",inputSchema:{type:"object",properties:{name:{type:"string",description:"Name of the corpus to rebuild"}},required:["name"],additionalProperties:!0},handler:async t=>{let{name:e,...r}=t;if(typeof e!="string"||e.trim()==="")throw new Error("Missing required argument: name");return await or(`/api/corpus/${encodeURIComponent(e)}/rebuild`,r)}},{name:"reprime_corpus",description:"Create a fresh knowledge agent session for a corpus, clearing prior Q&A context. Use when conversation has drifted or after rebuilding.",inputSchema:{type:"object",properties:{name:{type:"string",description:"Name of the corpus to reprime"}},required:["name"],additionalProperties:!0},handler:async t=>{let{name:e,...r}=t;if(typeof e!="string"||e.trim()==="")throw new Error("Missing required argument: name");return await or(`/api/corpus/${encodeURIComponent(e)}/reprime`,r)}}],ju=new Ts({name:"keepmind",version:tT},{capabilities:{tools:{}}});ju.setRequestHandler(ua,async()=>({tools:ay.map(t=>({name:t.name,description:t.description,inputSchema:t.inputSchema}))}));ju.setRequestHandler(mn,async t=>{let e=ay.find(r=>r.name===t.params.name);if(!e)throw new Error(`Unknown tool: ${t.params.name}`);try{return await e.handler(t.params.arguments||{})}catch(r){return y.error("SYSTEM","Tool execution failed",{tool:t.params.name},r instanceof Error?r:new Error(String(r))),{content:[{type:"text",text:`Tool execution failed: ${r instanceof Error?r.message:String(r)}`}],isError:!0}}});var pT=3e4,no=null,ry=!1;function Ks(){ao("stdio-closed")}function cy(t){y.warn("SYSTEM","MCP stdio stream errored, shutting down",{message:t.message}),ao("stdio-error")}function fT(){process.stdin.on("end",Ks),process.stdin.on("close",Ks),process.stdin.on("error",cy)}function mT(){process.stdin.off("end",Ks),process.stdin.off("close",Ks),process.stdin.off("error",cy)}function hT(){if(process.platform==="win32")return;let t=process.ppid;no=setInterval(()=>{(process.ppid===1||process.ppid!==t)&&(y.info("SYSTEM","Parent process died, self-exiting to prevent orphan",{initialPpid:t,currentPpid:process.ppid}),ao())},pT),no.unref&&no.unref()}function ao(t="shutdown"){ry||(ry=!0,no&&clearInterval(no),mT(),y.info("SYSTEM","MCP server shutting down",{reason:t}),process.exit(0))}process.on("SIGTERM",ao);process.on("SIGINT",ao);function gT(){try{let t=(0,ny.homedir)(),e=[(0,rt.resolve)(t,".claude","plugins","marketplaces","keepmind"),(0,rt.resolve)(t,".config","claude","plugins","marketplaces","keepmind")],r=e.some(i=>i&&(0,Gs.existsSync)(i)),n=[(0,rt.resolve)(t,".claude","plugins","cache","keepmind","keepmind"),(0,rt.resolve)(t,".config","claude","plugins","cache","keepmind","keepmind")],o=n.some(i=>i&&(0,Gs.existsSync)(i)),s=n[0];!r&&o&&y.error("SYSTEM","keepmind MCP started but no marketplace directory was found at ~/.claude/plugins/marketplaces/keepmind or the XDG equivalent. The IDE plugin loader needs that directory to fire keepmind hooks (SessionStart, PostToolUse, Stop, etc.). Without it, MCP search will work but no new memories will be captured. To self-heal, run: node ~/.claude/plugins/cache/keepmind/keepmind/*/scripts/smart-install.js (or reinstall the plugin from the marketplace).",{marketplaceCandidates:e,cacheRoot:s})}catch{}}async function _T(){let t=new Rs;fT(),await ju.connect(t),y.info("SYSTEM","Claude-mem search server started"),gT(),hT(),setTimeout(async()=>{if(Mu()==="server"){y.info("SYSTEM","MCP runtime=server \u2014 skipping worker auto-start",void 0,{});return}await dT()?y.info("SYSTEM","Worker available",void 0,{}):(y.error("SYSTEM","Worker not available",void 0,{}),y.error("SYSTEM","Tools will fail until Worker is started"),y.error("SYSTEM","Start Worker with: npm run worker:restart"))},0)}_T().catch(t=>{y.error("SYSTEM","Fatal error",void 0,t),process.exit(0)});
|