Files
claude-mem/plugin/scripts/mcp-server.cjs
Alex Newman 63b243dfdf refactor: land PATHFINDER Plan 02 — process lifecycle
OS process groups replace hand-rolled reapers. Worker runs until
killed; orphans are prevented by detached spawn + kill(-pgid).

- Phase 1: src/services/worker/ProcessRegistry.ts DELETED. The
  canonical registry at src/supervisor/process-registry.ts is the
  sole survivor; SDK spawn site consolidated into it via new
  createSdkSpawnFactory/spawnSdkProcess/getSdkProcessForSession/
  ensureSdkProcessExit/waitForSlot helpers.
- Phase 2: SDK children spawn with detached:true + stdio:
  ['ignore','pipe','pipe']; pgid recorded on ManagedProcessInfo.
- Phase 3: shutdown.ts signalProcess teardown uses
  process.kill(-pgid, signal) on Unix when pgid is recorded;
  Windows path unchanged (tree-kill/taskkill).
- Phase 4: all reaper intervals deleted — startOrphanReaper call,
  staleSessionReaperInterval setInterval (including the co-located
  WAL checkpoint — SQLite's built-in wal_autocheckpoint handles
  WAL growth without an app-level timer), killIdleDaemonChildren,
  killSystemOrphans, reapOrphanedProcesses, reapStaleSessions, and
  detectStaleGenerator. MAX_GENERATOR_IDLE_MS and MAX_SESSION_IDLE_MS
  constants deleted.
- Phase 5: abandonedTimer — already 0 matches; primary-path cleanup
  via generatorPromise.finally() already lives in worker-service
  startSessionProcessor and SessionRoutes ensureGeneratorRunning.
- Phase 6: evictIdlestSession and its evict callback deleted from
  SessionManager. Pool admission gates backpressure upstream.
- Phase 7: SDK-failure fallback — SessionManager has zero matches
  for fallbackAgent/Gemini/OpenRouter. Failures surface to hooks
  via exit code 2 through SessionRoutes error mapping.
- Phase 8: ensureWorkerRunning in worker-utils.ts rewritten to
  lazy-spawn — consults isWorkerPortAlive (which gates
  captureProcessStartToken for PID-reuse safety via commit
  99060bac), then spawns detached with unref(), then
  waitForWorkerPort({ attempts: 3, backoffMs: 250 }) hand-rolled
  exponential backoff 250→500→1000ms. No respawn npm dep.
- Phase 9: idle self-shutdown — zero matches for
  idleCheck/idleTimeout/IDLE_MAX_MS/idleShutdown. Worker exits
  only on external SIGTERM via supervisor signal handlers.

Three test files that exercised deleted code removed:
tests/worker/process-registry.test.ts,
tests/worker/session-lifecycle-guard.test.ts,
tests/services/worker/reap-stale-sessions.test.ts.
Pass count: 1451 → 1407 (-44), all attributable to deleted test
files. Zero new failures. 31 pre-existing failures remain
(schema-repair suite, logger-usage-standards, environmental
openclaw / plugin-distribution) — none introduced by Plan 02.

All 10 verification greps return 0. bun run build succeeds.

Plan: PATHFINDER-2026-04-22/02-process-lifecycle.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 01:19:21 -07:00

209 lines
283 KiB
JavaScript
Executable File

#!/usr/bin/env node
"use strict";var ig=Object.create;var ps=Object.defineProperty;var ag=Object.getOwnPropertyDescriptor;var cg=Object.getOwnPropertyNames;var ug=Object.getPrototypeOf,lg=Object.prototype.hasOwnProperty;var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Hc=(t,e)=>{for(var r in e)ps(t,r,{get:e[r],enumerable:!0})},dg=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of cg(e))!lg.call(t,o)&&o!==r&&ps(t,o,{get:()=>e[o],enumerable:!(n=ag(e,o))||n.enumerable});return t};var Ge=(t,e,r)=>(r=t!=null?ig(ug(t)):{},dg(e||!t||!t.__esModule?ps(r,"default",{value:t,enumerable:!0}):r,t));var en=E(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.regexpCode=Z.getEsmExportName=Z.getProperty=Z.safeStringify=Z.stringify=Z.strConcat=Z.addCodeArg=Z.str=Z._=Z.nil=Z._Code=Z.Name=Z.IDENTIFIER=Z._CodeOrName=void 0;var Xr=class{};Z._CodeOrName=Xr;Z.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ct=class extends Xr{constructor(e){if(super(),!Z.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}}};Z.Name=Ct;var Ce=class extends Xr{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 Ct&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Z._Code=Ce;Z.nil=new Ce("");function hp(t,...e){let r=[t[0]],n=0;for(;n<e.length;)$i(r,e[n]),r.push(t[++n]);return new Ce(r)}Z._=hp;var Ei=new Ce("+");function gp(t,...e){let r=[Qr(t[0])],n=0;for(;n<e.length;)r.push(Ei),$i(r,e[n]),r.push(Ei,Qr(t[++n]));return SS(r),new Ce(r)}Z.str=gp;function $i(t,e){e instanceof Ce?t.push(...e._items):e instanceof Ct?t.push(e):t.push(bS(e))}Z.addCodeArg=$i;function SS(t){let e=1;for(;e<t.length-1;){if(t[e]===Ei){let r=vS(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function vS(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Ct||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 Ct))return`"${t}${e.slice(1)}`}function wS(t,e){return e.emptyStr()?t:t.emptyStr()?e:gp`${t}${e}`}Z.strConcat=wS;function bS(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Qr(Array.isArray(t)?t.join(","):t)}function ES(t){return new Ce(Qr(t))}Z.stringify=ES;function Qr(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Z.safeStringify=Qr;function $S(t){return typeof t=="string"&&Z.IDENTIFIER.test(t)?new Ce(`.${t}`):hp`[${t}]`}Z.getProperty=$S;function kS(t){if(typeof t=="string"&&Z.IDENTIFIER.test(t))return new Ce(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}Z.getEsmExportName=kS;function xS(t){return new Ce(t.toString())}Z.regexpCode=xS});var Pi=E(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.ValueScope=Pe.ValueScopeName=Pe.Scope=Pe.varKinds=Pe.UsedValueState=void 0;var xe=en(),ki=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},go;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(go||(Pe.UsedValueState=go={}));Pe.varKinds={const:new xe.Name("const"),let:new xe.Name("let"),var:new xe.Name("var")};var _o=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof xe.Name?e:this.name(e)}name(e){return new xe.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}}};Pe.Scope=_o;var yo=class extends xe.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,xe._)`.${new xe.Name(r)}[${n}]`}};Pe.ValueScopeName=yo;var PS=(0,xe._)`\n`,xi=class extends _o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?PS:xe.nil}}get(){return this._scope}name(e){return new yo(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,xe._)`${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=xe.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,go.Started);let l=r(u);if(l){let d=this.opts.es5?Pe.varKinds.var:Pe.varKinds.const;s=(0,xe._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,xe._)`${s}${l}${this.opts._n}`;else throw new ki(u);c.set(u,go.Completed)})}return s}};Pe.ValueScope=xi});var A=E(C=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.or=C.and=C.not=C.CodeGen=C.operators=C.varKinds=C.ValueScopeName=C.ValueScope=C.Scope=C.Name=C.regexpCode=C.stringify=C.getProperty=C.nil=C.strConcat=C.str=C._=void 0;var j=en(),Ue=Pi(),Et=en();Object.defineProperty(C,"_",{enumerable:!0,get:function(){return Et._}});Object.defineProperty(C,"str",{enumerable:!0,get:function(){return Et.str}});Object.defineProperty(C,"strConcat",{enumerable:!0,get:function(){return Et.strConcat}});Object.defineProperty(C,"nil",{enumerable:!0,get:function(){return Et.nil}});Object.defineProperty(C,"getProperty",{enumerable:!0,get:function(){return Et.getProperty}});Object.defineProperty(C,"stringify",{enumerable:!0,get:function(){return Et.stringify}});Object.defineProperty(C,"regexpCode",{enumerable:!0,get:function(){return Et.regexpCode}});Object.defineProperty(C,"Name",{enumerable:!0,get:function(){return Et.Name}});var bo=Pi();Object.defineProperty(C,"Scope",{enumerable:!0,get:function(){return bo.Scope}});Object.defineProperty(C,"ValueScope",{enumerable:!0,get:function(){return bo.ValueScope}});Object.defineProperty(C,"ValueScopeName",{enumerable:!0,get:function(){return bo.ValueScopeName}});Object.defineProperty(C,"varKinds",{enumerable:!0,get:function(){return bo.varKinds}});C.operators={GT:new j._Code(">"),GTE:new j._Code(">="),LT:new j._Code("<"),LTE:new j._Code("<="),EQ:new j._Code("==="),NEQ:new j._Code("!=="),NOT:new j._Code("!"),OR:new j._Code("||"),AND:new j._Code("&&"),ADD:new j._Code("+")};var ct=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Ti=class extends ct{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Ue.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=rr(this.rhs,e,r)),this}get names(){return this.rhs instanceof j._CodeOrName?this.rhs.names:{}}},So=class extends ct{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 j.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=rr(this.rhs,e,r),this}get names(){let e=this.lhs instanceof j.Name?{}:{...this.lhs.names};return wo(e,this.rhs)}},zi=class extends So{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Ii=class extends ct{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Ri=class extends ct{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Mi=class extends ct{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Ai=class extends ct{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=rr(this.code,e,r),this}get names(){return this.code instanceof j._CodeOrName?this.code.names:{}}},tn=class extends ct{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)||(TS(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Dt(e,r.names),{})}},ut=class extends tn{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Ci=class extends tn{},tr=class extends ut{};tr.kind="else";var Ot=class t extends ut{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 tr(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(_p(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=rr(this.condition,e,r),this}get names(){let e=super.names;return wo(e,this.condition),this.else&&Dt(e,this.else.names),e}};Ot.kind="if";var Nt=class extends ut{};Nt.kind="for";var Oi=class extends Nt{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=rr(this.iteration,e,r),this}get names(){return Dt(super.names,this.iteration.names)}},Ni=class extends Nt{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?Ue.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=wo(super.names,this.from);return wo(e,this.to)}},vo=class extends Nt{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=rr(this.iterable,e,r),this}get names(){return Dt(super.names,this.iterable.names)}},rn=class extends ut{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)}};rn.kind="func";var nn=class extends tn{render(e){return"return "+super.render(e)}};nn.kind="return";var Di=class extends ut{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&&Dt(e,this.catch.names),this.finally&&Dt(e,this.finally.names),e}},on=class extends ut{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};on.kind="catch";var sn=class extends ut{render(e){return"finally"+super.render(e)}};sn.kind="finally";var ji=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
`:""},this._extScope=e,this._scope=new Ue.Scope({parent:e}),this._nodes=[new Ci]}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 Ti(e,s,n)),s}const(e,r,n){return this._def(Ue.varKinds.const,e,r,n)}let(e,r,n){return this._def(Ue.varKinds.let,e,r,n)}var(e,r,n){return this._def(Ue.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new So(e,r,n))}add(e,r){return this._leafNode(new zi(e,C.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==j.nil&&this._leafNode(new Ai(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,j.addCodeArg)(r,o));return r.push("}"),new j._Code(r)}if(e,r,n){if(this._blockNode(new Ot(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 Ot(e))}else(){return this._elseNode(new tr)}endIf(){return this._endBlockNode(Ot,tr)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Oi(e),r)}forRange(e,r,n,o,s=this.opts.es5?Ue.varKinds.var:Ue.varKinds.let){let i=this._scope.toName(e);return this._for(new Ni(s,i,r,n),()=>o(i))}forOf(e,r,n,o=Ue.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof j.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,j._)`${i}.length`,a=>{this.var(s,(0,j._)`${i}[${a}]`),n(s)})}return this._for(new vo("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?Ue.varKinds.var:Ue.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,j._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new vo("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Nt)}label(e){return this._leafNode(new Ii(e))}break(e){return this._leafNode(new Ri(e))}return(e){let r=new nn;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(nn)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Di;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new on(s),r(s)}return n&&(this._currNode=o.finally=new sn,this.code(n)),this._endBlockNode(on,sn)}throw(e){return this._leafNode(new Mi(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=j.nil,n,o){return this._blockNode(new rn(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(rn)}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 Ot))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}};C.CodeGen=ji;function Dt(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function wo(t,e){return e instanceof j._CodeOrName?Dt(t,e.names):t}function rr(t,e,r){if(t instanceof j.Name)return n(t);if(!o(t))return t;return new j._Code(t._items.reduce((s,i)=>(i instanceof j.Name&&(i=n(i)),i instanceof j._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 j._Code&&s._items.some(i=>i instanceof j.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function TS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function _p(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,j._)`!${Li(t)}`}C.not=_p;var zS=yp(C.operators.AND);function IS(...t){return t.reduce(zS)}C.and=IS;var RS=yp(C.operators.OR);function MS(...t){return t.reduce(RS)}C.or=MS;function yp(t){return(e,r)=>e===j.nil?r:r===j.nil?e:(0,j._)`${Li(e)} ${t} ${Li(r)}`}function Li(t){return t instanceof j.Name?t:(0,j._)`(${t})`}});var L=E(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.checkStrictMode=O.getErrorPath=O.Type=O.useFunc=O.setEvaluated=O.evaluatedPropsToName=O.mergeEvaluated=O.eachItem=O.unescapeJsonPointer=O.escapeJsonPointer=O.escapeFragment=O.unescapeFragment=O.schemaRefOrVal=O.schemaHasRulesButRef=O.schemaHasRules=O.checkUnknownRules=O.alwaysValidSchema=O.toHash=void 0;var V=A(),AS=en();function CS(t){let e={};for(let r of t)e[r]=!0;return e}O.toHash=CS;function OS(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(wp(t,e),!bp(e,t.self.RULES.all))}O.alwaysValidSchema=OS;function wp(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]||kp(t,`unknown keyword: "${s}"`)}O.checkUnknownRules=wp;function bp(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}O.schemaHasRules=bp;function NS(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}O.schemaHasRulesButRef=NS;function DS({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,V._)`${r}`}return(0,V._)`${t}${e}${(0,V.getProperty)(n)}`}O.schemaRefOrVal=DS;function jS(t){return Ep(decodeURIComponent(t))}O.unescapeFragment=jS;function LS(t){return encodeURIComponent(Zi(t))}O.escapeFragment=LS;function Zi(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}O.escapeJsonPointer=Zi;function Ep(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}O.unescapeJsonPointer=Ep;function qS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}O.eachItem=qS;function Sp({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof V.Name?(s instanceof V.Name?t(o,s,i):e(o,s,i),i):s instanceof V.Name?(e(o,i,s),s):r(s,i);return a===V.Name&&!(c instanceof V.Name)?n(o,c):c}}O.mergeEvaluated={props:Sp({mergeNames:(t,e,r)=>t.if((0,V._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,V._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,V._)`${r} || {}`).code((0,V._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,V._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,V._)`${r} || {}`),Ui(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:$p}),items:Sp({mergeNames:(t,e,r)=>t.if((0,V._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,V._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,V._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,V._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function $p(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,V._)`{}`);return e!==void 0&&Ui(t,r,e),r}O.evaluatedPropsToName=$p;function Ui(t,e,r){Object.keys(r).forEach(n=>t.assign((0,V._)`${e}${(0,V.getProperty)(n)}`,!0))}O.setEvaluated=Ui;var vp={};function ZS(t,e){return t.scopeValue("func",{ref:e,code:vp[e.code]||(vp[e.code]=new AS._Code(e.code))})}O.useFunc=ZS;var qi;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(qi||(O.Type=qi={}));function US(t,e,r){if(t instanceof V.Name){let n=e===qi.Num;return r?n?(0,V._)`"[" + ${t} + "]"`:(0,V._)`"['" + ${t} + "']"`:n?(0,V._)`"/" + ${t}`:(0,V._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,V.getProperty)(t).toString():"/"+Zi(t)}O.getErrorPath=US;function kp(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}O.checkStrictMode=kp});var lt=E(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});var ge=A(),FS={data:new ge.Name("data"),valCxt:new ge.Name("valCxt"),instancePath:new ge.Name("instancePath"),parentData:new ge.Name("parentData"),parentDataProperty:new ge.Name("parentDataProperty"),rootData:new ge.Name("rootData"),dynamicAnchors:new ge.Name("dynamicAnchors"),vErrors:new ge.Name("vErrors"),errors:new ge.Name("errors"),this:new ge.Name("this"),self:new ge.Name("self"),scope:new ge.Name("scope"),json:new ge.Name("json"),jsonPos:new ge.Name("jsonPos"),jsonLen:new ge.Name("jsonLen"),jsonPart:new ge.Name("jsonPart")};Fi.default=FS});var an=E(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.extendErrors=_e.resetErrorsCount=_e.reportExtraError=_e.reportError=_e.keyword$DataError=_e.keywordError=void 0;var q=A(),Eo=L(),be=lt();_e.keywordError={message:({keyword:t})=>(0,q.str)`must pass "${t}" keyword validation`};_e.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,q.str)`"${t}" keyword must be ${e} ($data)`:(0,q.str)`"${t}" keyword is invalid ($data)`};function HS(t,e=_e.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Tp(t,e,r);n??(i||a)?xp(s,c):Pp(o,(0,q._)`[${c}]`)}_e.reportError=HS;function VS(t,e=_e.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Tp(t,e,r);xp(o,a),s||i||Pp(n,be.default.vErrors)}_e.reportExtraError=VS;function WS(t,e){t.assign(be.default.errors,e),t.if((0,q._)`${be.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,q._)`${be.default.vErrors}.length`,e),()=>t.assign(be.default.vErrors,null)))}_e.resetErrorsCount=WS;function GS({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,be.default.errors,a=>{t.const(i,(0,q._)`${be.default.vErrors}[${a}]`),t.if((0,q._)`${i}.instancePath === undefined`,()=>t.assign((0,q._)`${i}.instancePath`,(0,q.strConcat)(be.default.instancePath,s.errorPath))),t.assign((0,q._)`${i}.schemaPath`,(0,q.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,q._)`${i}.schema`,r),t.assign((0,q._)`${i}.data`,n))})}_e.extendErrors=GS;function xp(t,e){let r=t.const("err",e);t.if((0,q._)`${be.default.vErrors} === null`,()=>t.assign(be.default.vErrors,(0,q._)`[${r}]`),(0,q._)`${be.default.vErrors}.push(${r})`),t.code((0,q._)`${be.default.errors}++`)}function Pp(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,q._)`new ${t.ValidationError}(${e})`):(r.assign((0,q._)`${n}.errors`,e),r.return(!1))}var jt={keyword:new q.Name("keyword"),schemaPath:new q.Name("schemaPath"),params:new q.Name("params"),propertyName:new q.Name("propertyName"),message:new q.Name("message"),schema:new q.Name("schema"),parentSchema:new q.Name("parentSchema")};function Tp(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,q._)`{}`:KS(t,e,r)}function KS(t,e,r={}){let{gen:n,it:o}=t,s=[YS(o,r),BS(t,r)];return JS(t,e,s),n.object(...s)}function YS({errorPath:t},{instancePath:e}){let r=e?(0,q.str)`${t}${(0,Eo.getErrorPath)(e,Eo.Type.Str)}`:t;return[be.default.instancePath,(0,q.strConcat)(be.default.instancePath,r)]}function BS({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,q.str)`${e}/${t}`;return r&&(o=(0,q.str)`${o}${(0,Eo.getErrorPath)(r,Eo.Type.Str)}`),[jt.schemaPath,o]}function JS(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,q._)`{}`]),c.messages&&n.push([jt.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([jt.schema,i],[jt.parentSchema,(0,q._)`${l}${d}`],[be.default.data,s]),u&&n.push([jt.propertyName,u])}});var Ip=E(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.boolOrEmptySchema=nr.topBoolOrEmptySchema=void 0;var XS=an(),QS=A(),ev=lt(),tv={message:"boolean schema is false"};function rv(t){let{gen:e,schema:r,validateName:n}=t;r===!1?zp(t,!1):typeof r=="object"&&r.$async===!0?e.return(ev.default.data):(e.assign((0,QS._)`${n}.errors`,null),e.return(!0))}nr.topBoolOrEmptySchema=rv;function nv(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),zp(t)):r.var(e,!0)}nr.boolOrEmptySchema=nv;function zp(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,XS.reportError)(o,tv,void 0,e)}});var Hi=E(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.getRules=or.isJSONType=void 0;var ov=["string","number","integer","boolean","null","object","array"],sv=new Set(ov);function iv(t){return typeof t=="string"&&sv.has(t)}or.isJSONType=iv;function av(){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:{}}}or.getRules=av});var Vi=E($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.shouldUseRule=$t.shouldUseGroup=$t.schemaHasRulesForType=void 0;function cv({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Rp(t,n)}$t.schemaHasRulesForType=cv;function Rp(t,e){return e.rules.some(r=>Mp(t,r))}$t.shouldUseGroup=Rp;function Mp(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))}$t.shouldUseRule=Mp});var cn=E(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.reportTypeError=ye.checkDataTypes=ye.checkDataType=ye.coerceAndCheckDataType=ye.getJSONTypes=ye.getSchemaTypes=ye.DataType=void 0;var uv=Hi(),lv=Vi(),dv=an(),M=A(),Ap=L(),sr;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(sr||(ye.DataType=sr={}));function pv(t){let e=Cp(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}ye.getSchemaTypes=pv;function Cp(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(uv.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}ye.getJSONTypes=Cp;function fv(t,e){let{gen:r,data:n,opts:o}=t,s=mv(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,lv.schemaHasRulesForType)(t,e[0]));if(i){let a=Gi(e,n,o.strictNumbers,sr.Wrong);r.if(a,()=>{s.length?hv(t,e,s):Ki(t)})}return i}ye.coerceAndCheckDataType=fv;var Op=new Set(["string","number","integer","boolean","null"]);function mv(t,e){return e?t.filter(r=>Op.has(r)||e==="array"&&r==="array"):[]}function hv(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,M._)`typeof ${o}`),a=n.let("coerced",(0,M._)`undefined`);s.coerceTypes==="array"&&n.if((0,M._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,M._)`${o}[0]`).assign(i,(0,M._)`typeof ${o}`).if(Gi(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,M._)`${a} !== undefined`);for(let u of r)(Op.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Ki(t),n.endIf(),n.if((0,M._)`${a} !== undefined`,()=>{n.assign(o,a),gv(t,a)});function c(u){switch(u){case"string":n.elseIf((0,M._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,M._)`"" + ${o}`).elseIf((0,M._)`${o} === null`).assign(a,(0,M._)`""`);return;case"number":n.elseIf((0,M._)`${i} == "boolean" || ${o} === null
|| (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,M._)`+${o}`);return;case"integer":n.elseIf((0,M._)`${i} === "boolean" || ${o} === null
|| (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,M._)`+${o}`);return;case"boolean":n.elseIf((0,M._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,M._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,M._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,M._)`${i} === "string" || ${i} === "number"
|| ${i} === "boolean" || ${o} === null`).assign(a,(0,M._)`[${o}]`)}}}function gv({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,M._)`${e} !== undefined`,()=>t.assign((0,M._)`${e}[${r}]`,n))}function Wi(t,e,r,n=sr.Correct){let o=n===sr.Correct?M.operators.EQ:M.operators.NEQ,s;switch(t){case"null":return(0,M._)`${e} ${o} null`;case"array":s=(0,M._)`Array.isArray(${e})`;break;case"object":s=(0,M._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,M._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,M._)`typeof ${e} ${o} ${t}`}return n===sr.Correct?s:(0,M.not)(s);function i(a=M.nil){return(0,M.and)((0,M._)`typeof ${e} == "number"`,a,r?(0,M._)`isFinite(${e})`:M.nil)}}ye.checkDataType=Wi;function Gi(t,e,r,n){if(t.length===1)return Wi(t[0],e,r,n);let o,s=(0,Ap.toHash)(t);if(s.array&&s.object){let i=(0,M._)`typeof ${e} != "object"`;o=s.null?i:(0,M._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=M.nil;s.number&&delete s.integer;for(let i in s)o=(0,M.and)(o,Wi(i,e,r,n));return o}ye.checkDataTypes=Gi;var _v={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,M._)`{type: ${t}}`:(0,M._)`{type: ${e}}`};function Ki(t){let e=yv(t);(0,dv.reportError)(e,_v)}ye.reportTypeError=Ki;function yv(t){let{gen:e,data:r,schema:n}=t,o=(0,Ap.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Dp=E($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.assignDefaults=void 0;var ir=A(),Sv=L();function vv(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Np(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Np(t,s,o.default))}$o.assignDefaults=vv;function Np(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,ir._)`${s}${(0,ir.getProperty)(e)}`;if(o){(0,Sv.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,ir._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,ir._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,ir._)`${a} = ${(0,ir.stringify)(r)}`)}});var Oe=E(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.validateUnion=H.validateArray=H.usePattern=H.callValidateCode=H.schemaProperties=H.allSchemaProperties=H.noPropertyInData=H.propertyInData=H.isOwnProperty=H.hasPropFunc=H.reportMissingProp=H.checkMissingProp=H.checkReportMissingProp=void 0;var J=A(),Yi=L(),kt=lt(),wv=L();function bv(t,e){let{gen:r,data:n,it:o}=t;r.if(Ji(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,J._)`${e}`},!0),t.error()})}H.checkReportMissingProp=bv;function Ev({gen:t,data:e,it:{opts:r}},n,o){return(0,J.or)(...n.map(s=>(0,J.and)(Ji(t,e,s,r.ownProperties),(0,J._)`${o} = ${s}`)))}H.checkMissingProp=Ev;function $v(t,e){t.setParams({missingProperty:e},!0),t.error()}H.reportMissingProp=$v;function jp(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,J._)`Object.prototype.hasOwnProperty`})}H.hasPropFunc=jp;function Bi(t,e,r){return(0,J._)`${jp(t)}.call(${e}, ${r})`}H.isOwnProperty=Bi;function kv(t,e,r,n){let o=(0,J._)`${e}${(0,J.getProperty)(r)} !== undefined`;return n?(0,J._)`${o} && ${Bi(t,e,r)}`:o}H.propertyInData=kv;function Ji(t,e,r,n){let o=(0,J._)`${e}${(0,J.getProperty)(r)} === undefined`;return n?(0,J.or)(o,(0,J.not)(Bi(t,e,r))):o}H.noPropertyInData=Ji;function Lp(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}H.allSchemaProperties=Lp;function xv(t,e){return Lp(e).filter(r=>!(0,Yi.alwaysValidSchema)(t,e[r]))}H.schemaProperties=xv;function Pv({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,J._)`${t}, ${e}, ${n}${o}`:e,d=[[kt.default.instancePath,(0,J.strConcat)(kt.default.instancePath,s)],[kt.default.parentData,i.parentData],[kt.default.parentDataProperty,i.parentDataProperty],[kt.default.rootData,kt.default.rootData]];i.opts.dynamicRef&&d.push([kt.default.dynamicAnchors,kt.default.dynamicAnchors]);let p=(0,J._)`${l}, ${r.object(...d)}`;return c!==J.nil?(0,J._)`${a}.call(${c}, ${p})`:(0,J._)`${a}(${p})`}H.callValidateCode=Pv;var Tv=(0,J._)`new RegExp`;function zv({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,J._)`${o.code==="new RegExp"?Tv:(0,wv.useFunc)(t,o)}(${r}, ${n})`})}H.usePattern=zv;function Iv(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,J._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Yi.Type.Num},s),e.if((0,J.not)(s),a)})}}H.validateArray=Iv;function Rv(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,Yi.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,J._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,J.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}H.validateUnion=Rv});var Up=E(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.validateKeywordUsage=Be.validSchemaType=Be.funcKeywordCode=Be.macroKeywordCode=void 0;var Ee=A(),Lt=lt(),Mv=Oe(),Av=an();function Cv(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Zp(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ee.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Be.macroKeywordCode=Cv;function Ov(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;Dv(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Zp(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&&qp(t),w(()=>t.error());else{let b=e.async?f():m();e.modifying&&qp(t),w(()=>Nv(t,b))}}function f(){let b=n.let("ruleErrs",null);return n.try(()=>_((0,Ee._)`await `),v=>n.assign(d,!1).if((0,Ee._)`${v} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,Ee._)`${v}.errors`),()=>n.throw(v))),b}function m(){let b=(0,Ee._)`${l}.errors`;return n.assign(b,null),_(Ee.nil),b}function _(b=e.async?(0,Ee._)`await `:Ee.nil){let v=c.opts.passContext?Lt.default.this:Lt.default.self,S=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ee._)`${b}${(0,Mv.callValidateCode)(t,l,v,S)}`,e.modifying)}function w(b){var v;n.if((0,Ee.not)((v=e.valid)!==null&&v!==void 0?v:d),b)}}Be.funcKeywordCode=Ov;function qp(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ee._)`${n.parentData}[${n.parentDataProperty}]`))}function Nv(t,e){let{gen:r}=t;r.if((0,Ee._)`Array.isArray(${e})`,()=>{r.assign(Lt.default.vErrors,(0,Ee._)`${Lt.default.vErrors} === null ? ${e} : ${Lt.default.vErrors}.concat(${e})`).assign(Lt.default.errors,(0,Ee._)`${Lt.default.vErrors}.length`),(0,Av.extendErrors)(t)},()=>t.error())}function Dv({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Zp(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,Ee.stringify)(r)})}function jv(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")}Be.validSchemaType=jv;function Lv({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)}}Be.validateKeywordUsage=Lv});var Hp=E(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.extendSubschemaMode=xt.extendSubschemaData=xt.getSubschema=void 0;var Je=A(),Fp=L();function qv(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,Je._)`${t.schemaPath}${(0,Je.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,Je._)`${t.schemaPath}${(0,Je.getProperty)(e)}${(0,Je.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Fp.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}xt.getSubschema=qv;function Zv(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,Je._)`${e.data}${(0,Je.getProperty)(r)}`,!0);c(p),t.errorPath=(0,Je.str)`${u}${(0,Fp.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Je._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof Je.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]}}xt.extendSubschemaData=Zv;function Uv(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}xt.extendSubschemaMode=Uv});var Xi=E((aR,Vp)=>{"use strict";Vp.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 Gp=E((cR,Wp)=>{"use strict";var Pt=Wp.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(){};ko(e,n,o,t,"",t)};Pt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Pt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Pt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Pt.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 ko(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 Pt.arrayKeywords)for(var p=0;p<d.length;p++)ko(t,e,r,d[p],o+"/"+l+"/"+p,s,o,l,n,p)}else if(l in Pt.propsKeywords){if(d&&typeof d=="object")for(var f in d)ko(t,e,r,d[f],o+"/"+l+"/"+Fv(f),s,o,l,n,f)}else(l in Pt.keywords||t.allKeys&&!(l in Pt.skipKeywords))&&ko(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function Fv(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var un=E(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.getSchemaRefs=Te.resolveUrl=Te.normalizeId=Te._getFullPath=Te.getFullPath=Te.inlineRef=void 0;var Hv=L(),Vv=Xi(),Wv=Gp(),Gv=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Kv(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Qi(t):e?Kp(t)<=e:!1}Te.inlineRef=Kv;var Yv=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Qi(t){for(let e in t){if(Yv.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Qi)||typeof r=="object"&&Qi(r))return!0}return!1}function Kp(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Gv.has(r)&&(typeof t[r]=="object"&&(0,Hv.eachItem)(t[r],n=>e+=Kp(n)),e===1/0))return 1/0}return e}function Yp(t,e="",r){r!==!1&&(e=ar(e));let n=t.parse(e);return Bp(t,n)}Te.getFullPath=Yp;function Bp(t,e){return t.serialize(e).split("#")[0]+"#"}Te._getFullPath=Bp;var Bv=/#\/?$/;function ar(t){return t?t.replace(Bv,""):""}Te.normalizeId=ar;function Jv(t,e,r){return r=ar(r),t.resolve(e,r)}Te.resolveUrl=Jv;var Xv=/^[a-z_][-a-z0-9._]*$/i;function Qv(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=ar(t[r]||e),s={"":o},i=Yp(n,o,!1),a={},c=new Set;return Wv(t,{allKeys:!0},(d,p,f,m)=>{if(m===void 0)return;let _=i+p,w=s[m];typeof d[r]=="string"&&(w=b.call(this,d[r])),v.call(this,d.$anchor),v.call(this,d.$dynamicAnchor),s[p]=w;function b(S){let k=this.opts.uriResolver.resolve;if(S=ar(w?k(w,S):S),c.has(S))throw l(S);c.add(S);let T=this.refs[S];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?u(d,T.schema,S):S!==ar(_)&&(S[0]==="#"?(u(d,a[S],S),a[S]=d):this.refs[S]=_),S}function v(S){if(typeof S=="string"){if(!Xv.test(S))throw new Error(`invalid anchor "${S}"`);b.call(this,`#${S}`)}}}),a;function u(d,p,f){if(p!==void 0&&!Vv(d,p))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Te.getSchemaRefs=Qv});var pn=E(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.getData=Tt.KeywordCxt=Tt.validateFunctionCode=void 0;var tf=Ip(),Jp=cn(),ta=Vi(),xo=cn(),ew=Dp(),dn=Up(),ea=Hp(),P=A(),I=lt(),tw=un(),dt=L(),ln=an();function rw(t){if(of(t)&&(sf(t),nf(t))){sw(t);return}rf(t,()=>(0,tf.topBoolOrEmptySchema)(t))}Tt.validateFunctionCode=rw;function rf({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,P._)`${I.default.data}, ${I.default.valCxt}`,n.$async,()=>{t.code((0,P._)`"use strict"; ${Xp(r,o)}`),ow(t,o),t.code(s)}):t.func(e,(0,P._)`${I.default.data}, ${nw(o)}`,n.$async,()=>t.code(Xp(r,o)).code(s))}function nw(t){return(0,P._)`{${I.default.instancePath}="", ${I.default.parentData}, ${I.default.parentDataProperty}, ${I.default.rootData}=${I.default.data}${t.dynamicRef?(0,P._)`, ${I.default.dynamicAnchors}={}`:P.nil}}={}`}function ow(t,e){t.if(I.default.valCxt,()=>{t.var(I.default.instancePath,(0,P._)`${I.default.valCxt}.${I.default.instancePath}`),t.var(I.default.parentData,(0,P._)`${I.default.valCxt}.${I.default.parentData}`),t.var(I.default.parentDataProperty,(0,P._)`${I.default.valCxt}.${I.default.parentDataProperty}`),t.var(I.default.rootData,(0,P._)`${I.default.valCxt}.${I.default.rootData}`),e.dynamicRef&&t.var(I.default.dynamicAnchors,(0,P._)`${I.default.valCxt}.${I.default.dynamicAnchors}`)},()=>{t.var(I.default.instancePath,(0,P._)`""`),t.var(I.default.parentData,(0,P._)`undefined`),t.var(I.default.parentDataProperty,(0,P._)`undefined`),t.var(I.default.rootData,I.default.data),e.dynamicRef&&t.var(I.default.dynamicAnchors,(0,P._)`{}`)})}function sw(t){let{schema:e,opts:r,gen:n}=t;rf(t,()=>{r.$comment&&e.$comment&&cf(t),lw(t),n.let(I.default.vErrors,null),n.let(I.default.errors,0),r.unevaluated&&iw(t),af(t),fw(t)})}function iw(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,P._)`${r}.evaluated`),e.if((0,P._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,P._)`${t.evaluated}.props`,(0,P._)`undefined`)),e.if((0,P._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,P._)`${t.evaluated}.items`,(0,P._)`undefined`))}function Xp(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,P._)`/*# sourceURL=${r} */`:P.nil}function aw(t,e){if(of(t)&&(sf(t),nf(t))){cw(t,e);return}(0,tf.boolOrEmptySchema)(t,e)}function nf({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 of(t){return typeof t.schema!="boolean"}function cw(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&cf(t),dw(t),pw(t);let s=n.const("_errs",I.default.errors);af(t,s),n.var(e,(0,P._)`${s} === ${I.default.errors}`)}function sf(t){(0,dt.checkUnknownRules)(t),uw(t)}function af(t,e){if(t.opts.jtd)return Qp(t,[],!1,e);let r=(0,Jp.getSchemaTypes)(t.schema),n=(0,Jp.coerceAndCheckDataType)(t,r);Qp(t,r,!n,e)}function uw(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,dt.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,dt.checkStrictMode)(t,"default is ignored in the schema root")}function dw(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,tw.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function pw(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function cf({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,P._)`${I.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,P.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,P._)`${I.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function fw(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,P._)`${I.default.errors} === 0`,()=>e.return(I.default.data),()=>e.throw((0,P._)`new ${o}(${I.default.vErrors})`)):(e.assign((0,P._)`${n}.errors`,I.default.vErrors),s.unevaluated&&mw(t),e.return((0,P._)`${I.default.errors} === 0`))}function mw({gen:t,evaluated:e,props:r,items:n}){r instanceof P.Name&&t.assign((0,P._)`${e}.props`,r),n instanceof P.Name&&t.assign((0,P._)`${e}.items`,n)}function Qp(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,dt.schemaHasRulesButRef)(s,l))){o.block(()=>lf(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,ta.shouldUseGroup)(s,p)&&(p.type?(o.if((0,xo.checkDataType)(p.type,i,c.strictNumbers)),ef(t,p),e.length===1&&e[0]===p.type&&r&&(o.else(),(0,xo.reportTypeError)(t)),o.endIf()):ef(t,p),a||o.if((0,P._)`${I.default.errors} === ${n||0}`))}}function ef(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,ew.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,ta.shouldUseRule)(n,s)&&lf(t,s.keyword,s.definition,e.type)})}function hw(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(gw(t,e),t.opts.allowUnionTypes||_w(t,e),yw(t,t.dataTypes))}function gw(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{uf(t.dataTypes,r)||ra(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),vw(t,e)}}function _w(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&ra(t,"use allowUnionTypes to allow union type keyword")}function yw(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,ta.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>Sw(e,i))&&ra(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function Sw(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function uf(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function vw(t,e){let r=[];for(let n of t.dataTypes)uf(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function ra(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,dt.checkStrictMode)(t,e,t.opts.strictTypes)}var Po=class{constructor(e,r,n){if((0,dn.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,dt.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",df(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,dn.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",I.default.errors))}result(e,r,n){this.failResult((0,P.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,P.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,P._)`${r} !== undefined && (${(0,P.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?ln.reportExtraError:ln.reportError)(this,this.def.error,r)}$dataError(){(0,ln.reportError)(this,this.def.$dataError||ln.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,ln.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=P.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=P.nil,r=P.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,P.or)((0,P._)`${o} === undefined`,r)),e!==P.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==P.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,P.or)(i(),a());function i(){if(n.length){if(!(r instanceof P.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,P._)`${(0,xo.checkDataTypes)(c,r,s.opts.strictNumbers,xo.DataType.Wrong)}`}return P.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,P._)`!${c}(${r})`}return P.nil}}subschema(e,r){let n=(0,ea.getSubschema)(this.it,e);(0,ea.extendSubschemaData)(n,this.it,e),(0,ea.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return aw(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=dt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=dt.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,P.Name)),!0}};Tt.KeywordCxt=Po;function lf(t,e,r,n){let o=new Po(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,dn.funcKeywordCode)(o,r):"macro"in r?(0,dn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,dn.funcKeywordCode)(o,r)}var ww=/^\/(?:[^~]|~0|~1)*$/,bw=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function df(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return I.default.rootData;if(t[0]==="/"){if(!ww.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=I.default.rootData}else{let u=bw.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,P._)`${s}${(0,P.getProperty)((0,dt.unescapeJsonPointer)(u))}`,i=(0,P._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Tt.getData=df});var To=E(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});var na=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};oa.default=na});var fn=E(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});var sa=un(),ia=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,sa.resolveUrl)(e,r,n),this.missingSchema=(0,sa.normalizeId)((0,sa.getFullPath)(e,this.missingRef))}};aa.default=ia});var Io=E(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.resolveSchema=Ne.getCompilingSchema=Ne.resolveRef=Ne.compileSchema=Ne.SchemaEnv=void 0;var Fe=A(),Ew=To(),qt=lt(),He=un(),pf=L(),$w=pn(),cr=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,He.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Ne.SchemaEnv=cr;function ua(t){let e=ff.call(this,t);if(e)return e;let r=(0,He.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Fe.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:Ew.default,code:(0,Fe._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:qt.default.data,parentData:qt.default.parentData,parentDataProperty:qt.default.parentDataProperty,dataNames:[qt.default.data],dataPathArr:[Fe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Fe.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Fe.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Fe._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,$w.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(qt.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${qt.default.self}`,`${qt.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 Fe.Name?void 0:m,items:_ instanceof Fe.Name?void 0:_,dynamicProps:m instanceof Fe.Name,dynamicItems:_ instanceof Fe.Name},f.source&&(f.source.evaluated=(0,Fe.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)}}Ne.compileSchema=ua;function kw(t,e,r){var n;r=(0,He.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=Tw.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 cr({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=xw.call(this,s)}Ne.resolveRef=kw;function xw(t){return(0,He.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:ua.call(this,t)}function ff(t){for(let e of this._compilations)if(Pw(e,t))return e}Ne.getCompilingSchema=ff;function Pw(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function Tw(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||zo.call(this,t,e)}function zo(t,e){let r=this.opts.uriResolver.parse(e),n=(0,He._getFullPath)(this.opts.uriResolver,r),o=(0,He.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return ca.call(this,r,t);let s=(0,He.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=zo.call(this,t,i);return typeof a?.schema!="object"?void 0:ca.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||ua.call(this,i),s===(0,He.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,He.resolveUrl)(this.opts.uriResolver,o,u)),new cr({schema:a,schemaId:c,root:t,baseId:o})}return ca.call(this,r,i)}}Ne.resolveSchema=zo;var zw=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function ca(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,pf.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!zw.has(a)&&u&&(e=(0,He.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,pf.schemaHasRulesButRef)(r,this.RULES)){let a=(0,He.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=zo.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new cr({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var mf=E((mR,Iw)=>{Iw.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 da=E((hR,yf)=>{"use strict";var Rw=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),gf=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function la(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 Mw=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function hf(t){return t.length=0,!0}function Aw(t,e,r){if(t.length){let n=la(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function Cw(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=Aw;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=hf}else{o.push(u);continue}}return o.length&&(a===hf?r.zone=o.join(""):i?n.push(o.join("")):n.push(la(o))),r.address=n.join(""),r}function _f(t){if(Ow(t,":")<2)return{host:t,isIPV6:!1};let e=Cw(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 Ow(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function Nw(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function Dw(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function jw(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!gf(r)){let n=_f(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}yf.exports={nonSimpleDomain:Mw,recomposeAuthority:jw,normalizeComponentEncoding:Dw,removeDotSegments:Nw,isIPv4:gf,isUUID:Rw,normalizeIPv6:_f,stringArrayToHexStripped:la}});var Ef=E((gR,bf)=>{"use strict";var{isUUID:Lw}=da(),qw=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Zw=["http","https","ws","wss","urn","urn:uuid"];function Uw(t){return Zw.indexOf(t)!==-1}function pa(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 Sf(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function vf(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 Fw(t){return t.secure=pa(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Hw(t){if((t.port===(pa(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 Vw(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(qw);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=fa(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function Ww(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=fa(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 Gw(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!Lw(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Kw(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var wf={scheme:"http",domainHost:!0,parse:Sf,serialize:vf},Yw={scheme:"https",domainHost:wf.domainHost,parse:Sf,serialize:vf},Ro={scheme:"ws",domainHost:!0,parse:Fw,serialize:Hw},Bw={scheme:"wss",domainHost:Ro.domainHost,parse:Ro.parse,serialize:Ro.serialize},Jw={scheme:"urn",parse:Vw,serialize:Ww,skipNormalize:!0},Xw={scheme:"urn:uuid",parse:Gw,serialize:Kw,skipNormalize:!0},Mo={http:wf,https:Yw,ws:Ro,wss:Bw,urn:Jw,"urn:uuid":Xw};Object.setPrototypeOf(Mo,null);function fa(t){return t&&(Mo[t]||Mo[t.toLowerCase()])||void 0}bf.exports={wsIsSecure:pa,SCHEMES:Mo,isValidSchemeName:Uw,getSchemeHandler:fa}});var xf=E((_R,Co)=>{"use strict";var{normalizeIPv6:Qw,removeDotSegments:mn,recomposeAuthority:eb,normalizeComponentEncoding:Ao,isIPv4:tb,nonSimpleDomain:rb}=da(),{SCHEMES:nb,getSchemeHandler:$f}=Ef();function ob(t,e){return typeof t=="string"?t=Xe(pt(t,e),e):typeof t=="object"&&(t=pt(Xe(t,e),e)),t}function sb(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=kf(pt(t,n),pt(e,n),n,!0);return n.skipEscape=!0,Xe(o,n)}function kf(t,e,r,n){let o={};return n||(t=pt(Xe(t,r),r),e=pt(Xe(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=mn(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=mn(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=mn(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=mn(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 ib(t,e,r){return typeof t=="string"?(t=unescape(t),t=Xe(Ao(pt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Xe(Ao(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Xe(Ao(pt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Xe(Ao(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Xe(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=$f(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=eb(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=mn(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 ab=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function pt(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(ab);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(tb(n.host)===!1){let c=Qw(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let i=$f(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&rb(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var ma={SCHEMES:nb,normalize:ob,resolve:sb,resolveComponent:kf,equal:ib,serialize:Xe,parse:pt};Co.exports=ma;Co.exports.default=ma;Co.exports.fastUri=ma});var Tf=E(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});var Pf=xf();Pf.code='require("ajv/dist/runtime/uri").default';ha.default=Pf});var Nf=E(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.CodeGen=pe.Name=pe.nil=pe.stringify=pe.str=pe._=pe.KeywordCxt=void 0;var cb=pn();Object.defineProperty(pe,"KeywordCxt",{enumerable:!0,get:function(){return cb.KeywordCxt}});var ur=A();Object.defineProperty(pe,"_",{enumerable:!0,get:function(){return ur._}});Object.defineProperty(pe,"str",{enumerable:!0,get:function(){return ur.str}});Object.defineProperty(pe,"stringify",{enumerable:!0,get:function(){return ur.stringify}});Object.defineProperty(pe,"nil",{enumerable:!0,get:function(){return ur.nil}});Object.defineProperty(pe,"Name",{enumerable:!0,get:function(){return ur.Name}});Object.defineProperty(pe,"CodeGen",{enumerable:!0,get:function(){return ur.CodeGen}});var ub=To(),Af=fn(),lb=Hi(),hn=Io(),db=A(),gn=un(),Oo=cn(),_a=L(),zf=mf(),pb=Tf(),Cf=(t,e)=>new RegExp(t,e);Cf.code="new RegExp";var fb=["removeAdditional","useDefaults","coerceTypes"],mb=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),hb={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."},gb={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},If=200;function _b(t){var e,r,n,o,s,i,a,c,u,l,d,p,f,m,_,w,b,v,S,k,T,ae,ve,_t,Wt;let se=t.strict,yt=(e=t.code)===null||e===void 0?void 0:e.optimize,qe=yt===!0||yt===void 0?1:yt||0,kr=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Cf,sg=(o=t.uriResolver)!==null&&o!==void 0?o:pb.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:se)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:se)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:se)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:se)!==null&&p!==void 0?p:"log",strictRequired:(m=(f=t.strictRequired)!==null&&f!==void 0?f:se)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:qe,regExp:kr}:{optimize:qe,regExp:kr},loopRequired:(_=t.loopRequired)!==null&&_!==void 0?_:If,loopEnum:(w=t.loopEnum)!==null&&w!==void 0?w:If,meta:(b=t.meta)!==null&&b!==void 0?b:!0,messages:(v=t.messages)!==null&&v!==void 0?v:!0,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(T=t.addUsedSchema)!==null&&T!==void 0?T:!0,validateSchema:(ae=t.validateSchema)!==null&&ae!==void 0?ae:!0,validateFormats:(ve=t.validateFormats)!==null&&ve!==void 0?ve:!0,unicodeRegExp:(_t=t.unicodeRegExp)!==null&&_t!==void 0?_t:!0,int32range:(Wt=t.int32range)!==null&&Wt!==void 0?Wt:!0,uriResolver:sg}}var _n=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,..._b(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new db.ValueScope({scope:{},prefixes:mb,es5:r,lines:n}),this.logger=Eb(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,lb.getRules)(),Rf.call(this,hb,e,"NOT SUPPORTED"),Rf.call(this,gb,e,"DEPRECATED","warn"),this._metaOpts=wb.call(this),e.formats&&Sb.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&vb.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),yb.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=zf;n==="id"&&(o={...zf},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 Af.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,gn.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=Mf.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new hn.SchemaEnv({schema:{},schemaId:n});if(r=hn.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=Mf.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,gn.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(kb.call(this,n,r),!r)return(0,_a.eachItem)(n,s=>ga.call(this,s)),this;Pb.call(this,r);let o={...r,type:(0,Oo.getJSONTypes)(r.type),schemaType:(0,Oo.getJSONTypes)(r.schemaType)};return(0,_a.eachItem)(n,o.type.length===0?s=>ga.call(this,s,o):s=>o.type.forEach(i=>ga.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]=Of(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,gn.normalizeId)(i||n);let u=gn.getSchemaRefs.call(this,e,n);return c=new hn.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):hn.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{hn.compileSchema.call(this,e)}finally{this.opts=r}}};_n.ValidationError=ub.default;_n.MissingRefError=Af.default;pe.default=_n;function Rf(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 Mf(t){return t=(0,gn.normalizeId)(t),this.schemas[t]||this.refs[t]}function yb(){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 Sb(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function vb(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 wb(){let t={...this.opts};for(let e of fb)delete t[e];return t}var bb={log(){},warn(){},error(){}};function Eb(t){if(t===!1)return bb;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 $b=/^[a-z_$][a-z0-9_$:-]*$/i;function kb(t,e){let{RULES:r}=this;if((0,_a.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!$b.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 ga(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,Oo.getJSONTypes)(e.type),schemaType:(0,Oo.getJSONTypes)(e.schemaType)}};e.before?xb.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 xb(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 Pb(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Of(e)),t.validateSchema=this.compile(e,!0))}var Tb={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Of(t){return{anyOf:[t,Tb]}}});var Df=E(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});var zb={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ya.default=zb});var Zf=E(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.callRef=Zt.getValidate=void 0;var Ib=fn(),jf=Oe(),ze=A(),lr=lt(),Lf=Io(),No=L(),Rb={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=Lf.resolveRef.call(c,u,o,r);if(l===void 0)throw new Ib.default(n.opts.uriResolver,o,r);if(l instanceof Lf.SchemaEnv)return p(l);return f(l);function d(){if(s===u)return Do(t,i,s,s.$async);let m=e.scopeValue("root",{ref:u});return Do(t,(0,ze._)`${m}.validate`,u,u.$async)}function p(m){let _=qf(t,m);Do(t,_,m,m.$async)}function f(m){let _=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,ze.stringify)(m)}:{ref:m}),w=e.name("valid"),b=t.subschema({schema:m,dataTypes:[],schemaPath:ze.nil,topSchemaRef:_,errSchemaPath:r},w);t.mergeEvaluated(b),t.ok(w)}}};function qf(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,ze._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Zt.getValidate=qf;function Do(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?lr.default.this:ze.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,ze._)`await ${(0,jf.callValidateCode)(t,e,u)}`),f(e),i||o.assign(m,!0)},_=>{o.if((0,ze._)`!(${_} instanceof ${s.ValidationError})`,()=>o.throw(_)),p(_),i||o.assign(m,!1)}),t.ok(m)}function d(){t.result((0,jf.callValidateCode)(t,e,u),()=>f(e),()=>p(e))}function p(m){let _=(0,ze._)`${m}.errors`;o.assign(lr.default.vErrors,(0,ze._)`${lr.default.vErrors} === null ? ${_} : ${lr.default.vErrors}.concat(${_})`),o.assign(lr.default.errors,(0,ze._)`${lr.default.vErrors}.length`)}function f(m){var _;if(!s.opts.unevaluated)return;let w=(_=r?.validate)===null||_===void 0?void 0:_.evaluated;if(s.props!==!0)if(w&&!w.dynamicProps)w.props!==void 0&&(s.props=No.mergeEvaluated.props(o,w.props,s.props));else{let b=o.var("props",(0,ze._)`${m}.evaluated.props`);s.props=No.mergeEvaluated.props(o,b,s.props,ze.Name)}if(s.items!==!0)if(w&&!w.dynamicItems)w.items!==void 0&&(s.items=No.mergeEvaluated.items(o,w.items,s.items));else{let b=o.var("items",(0,ze._)`${m}.evaluated.items`);s.items=No.mergeEvaluated.items(o,b,s.items,ze.Name)}}}Zt.callRef=Do;Zt.default=Rb});var Uf=E(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});var Mb=Df(),Ab=Zf(),Cb=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Mb.default,Ab.default];Sa.default=Cb});var Ff=E(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});var jo=A(),zt=jo.operators,Lo={maximum:{okStr:"<=",ok:zt.LTE,fail:zt.GT},minimum:{okStr:">=",ok:zt.GTE,fail:zt.LT},exclusiveMaximum:{okStr:"<",ok:zt.LT,fail:zt.GTE},exclusiveMinimum:{okStr:">",ok:zt.GT,fail:zt.LTE}},Ob={message:({keyword:t,schemaCode:e})=>(0,jo.str)`must be ${Lo[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,jo._)`{comparison: ${Lo[t].okStr}, limit: ${e}}`},Nb={keyword:Object.keys(Lo),type:"number",schemaType:"number",$data:!0,error:Ob,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,jo._)`${r} ${Lo[e].fail} ${n} || isNaN(${r})`)}};va.default=Nb});var Hf=E(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});var yn=A(),Db={message:({schemaCode:t})=>(0,yn.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,yn._)`{multipleOf: ${t}}`},jb={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Db,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,yn._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,yn._)`${i} !== parseInt(${i})`;t.fail$data((0,yn._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};wa.default=jb});var Wf=E(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});function Vf(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}ba.default=Vf;Vf.code='require("ajv/dist/runtime/ucs2length").default'});var Gf=E(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});var Ut=A(),Lb=L(),qb=Wf(),Zb={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Ut.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Ut._)`{limit: ${t}}`},Ub={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Zb,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?Ut.operators.GT:Ut.operators.LT,i=o.opts.unicode===!1?(0,Ut._)`${r}.length`:(0,Ut._)`${(0,Lb.useFunc)(t.gen,qb.default)}(${r})`;t.fail$data((0,Ut._)`${i} ${s} ${n}`)}};Ea.default=Ub});var Kf=E($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});var Fb=Oe(),Hb=L(),dr=A(),Vb={message:({schemaCode:t})=>(0,dr.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,dr._)`{pattern: ${t}}`},Wb={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Vb,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,dr._)`new RegExp`:(0,Hb.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,dr._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,dr._)`!${l}`)}else{let c=(0,Fb.usePattern)(t,o);t.fail$data((0,dr._)`!${c}.test(${r})`)}}};$a.default=Wb});var Yf=E(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});var Sn=A(),Gb={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Sn.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Sn._)`{limit: ${t}}`},Kb={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Gb,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Sn.operators.GT:Sn.operators.LT;t.fail$data((0,Sn._)`Object.keys(${r}).length ${o} ${n}`)}};ka.default=Kb});var Bf=E(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});var vn=Oe(),wn=A(),Yb=L(),Bb={message:({params:{missingProperty:t}})=>(0,wn.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,wn._)`{missingProperty: ${t}}`},Jb={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Bb,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 w=i.schemaEnv.baseId+i.errSchemaPath,b=`required property "${_}" is not defined at "${w}" (strictRequired)`;(0,Yb.checkStrictMode)(i,b,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(wn.nil,d);else for(let f of r)(0,vn.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,vn.checkMissingProp)(t,r,f)),(0,vn.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,vn.noPropertyInData)(e,o,f,a.ownProperties),()=>t.error())})}function p(f,m){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(m,(0,vn.propertyInData)(e,o,f,a.ownProperties)),e.if((0,wn.not)(m),()=>{t.error(),e.break()})},wn.nil)}}};xa.default=Jb});var Jf=E(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});var bn=A(),Xb={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,bn.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,bn._)`{limit: ${t}}`},Qb={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Xb,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?bn.operators.GT:bn.operators.LT;t.fail$data((0,bn._)`${r}.length ${o} ${n}`)}};Pa.default=Qb});var qo=E(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});var Xf=Xi();Xf.code='require("ajv/dist/runtime/equal").default';Ta.default=Xf});var Qf=E(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});var za=cn(),fe=A(),eE=L(),tE=qo(),rE={message:({params:{i:t,j:e}})=>(0,fe.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,fe._)`{i: ${t}, j: ${e}}`},nE={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:rE,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,za.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,fe._)`${i} === false`),t.ok(c);function l(){let m=e.let("i",(0,fe._)`${r}.length`),_=e.let("j");t.setParams({i:m,j:_}),e.assign(c,!0),e.if((0,fe._)`${m} > 1`,()=>(d()?p:f)(m,_))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function p(m,_){let w=e.name("item"),b=(0,za.checkDataTypes)(u,w,a.opts.strictNumbers,za.DataType.Wrong),v=e.const("indices",(0,fe._)`{}`);e.for((0,fe._)`;${m}--;`,()=>{e.let(w,(0,fe._)`${r}[${m}]`),e.if(b,(0,fe._)`continue`),u.length>1&&e.if((0,fe._)`typeof ${w} == "string"`,(0,fe._)`${w} += "_"`),e.if((0,fe._)`typeof ${v}[${w}] == "number"`,()=>{e.assign(_,(0,fe._)`${v}[${w}]`),t.error(),e.assign(c,!1).break()}).code((0,fe._)`${v}[${w}] = ${m}`)})}function f(m,_){let w=(0,eE.useFunc)(e,tE.default),b=e.name("outer");e.label(b).for((0,fe._)`;${m}--;`,()=>e.for((0,fe._)`${_} = ${m}; ${_}--;`,()=>e.if((0,fe._)`${w}(${r}[${m}], ${r}[${_}])`,()=>{t.error(),e.assign(c,!1).break(b)})))}}};Ia.default=nE});var em=E(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});var Ra=A(),oE=L(),sE=qo(),iE={message:"must be equal to constant",params:({schemaCode:t})=>(0,Ra._)`{allowedValue: ${t}}`},aE={keyword:"const",$data:!0,error:iE,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,Ra._)`!${(0,oE.useFunc)(e,sE.default)}(${r}, ${o})`):t.fail((0,Ra._)`${s} !== ${r}`)}};Ma.default=aE});var tm=E(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});var En=A(),cE=L(),uE=qo(),lE={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,En._)`{allowedValues: ${t}}`},dE={keyword:"enum",schemaType:"array",$data:!0,error:lE,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,cE.useFunc)(e,uE.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,En.or)(...o.map((m,_)=>p(f,_)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,f=>e.if((0,En._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function p(f,m){let _=o[m];return typeof _=="object"&&_!==null?(0,En._)`${u()}(${r}, ${f}[${m}])`:(0,En._)`${r} === ${_}`}}};Aa.default=dE});var rm=E(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});var pE=Ff(),fE=Hf(),mE=Gf(),hE=Kf(),gE=Yf(),_E=Bf(),yE=Jf(),SE=Qf(),vE=em(),wE=tm(),bE=[pE.default,fE.default,mE.default,hE.default,gE.default,_E.default,yE.default,SE.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},vE.default,wE.default];Ca.default=bE});var Na=E($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.validateAdditionalItems=void 0;var Ft=A(),Oa=L(),EE={message:({params:{len:t}})=>(0,Ft.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Ft._)`{limit: ${t}}`},$E={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:EE,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Oa.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}nm(t,n)}};function nm(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Ft._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Ft._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Oa.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Ft._)`${a} <= ${e.length}`);r.if((0,Ft.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Oa.Type.Num},u),i.allErrors||r.if((0,Ft.not)(u),()=>r.break())})}}$n.validateAdditionalItems=nm;$n.default=$E});var Da=E(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.validateTuple=void 0;var om=A(),Zo=L(),kE=Oe(),xE={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return sm(t,"additionalItems",e);r.items=!0,!(0,Zo.alwaysValidSchema)(r,e)&&t.ok((0,kE.validateArray)(t))}};function sm(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=Zo.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,om._)`${s}.length`);r.forEach((d,p)=>{(0,Zo.alwaysValidSchema)(a,d)||(n.if((0,om._)`${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 w=`"${i}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,Zo.checkStrictMode)(a,w,p.strictTuples)}}}kn.validateTuple=sm;kn.default=xE});var im=E(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});var PE=Da(),TE={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,PE.validateTuple)(t,"items")};ja.default=TE});var cm=E(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var am=A(),zE=L(),IE=Oe(),RE=Na(),ME={message:({params:{len:t}})=>(0,am.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,am._)`{limit: ${t}}`},AE={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:ME,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,zE.alwaysValidSchema)(n,e)&&(o?(0,RE.validateAdditionalItems)(t,o):t.ok((0,IE.validateArray)(t)))}};La.default=AE});var um=E(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});var De=A(),Uo=L(),CE={message:({params:{min:t,max:e}})=>e===void 0?(0,De.str)`must contain at least ${t} valid item(s)`:(0,De.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,De._)`{minContains: ${t}}`:(0,De._)`{minContains: ${t}, maxContains: ${e}}`},OE={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:CE,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,De._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Uo.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Uo.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Uo.alwaysValidSchema)(s,r)){let _=(0,De._)`${l} >= ${i}`;a!==void 0&&(_=(0,De._)`${_} && ${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,De._)`${o}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let _=e.name("_valid"),w=e.let("count",0);f(_,()=>e.if(_,()=>m(w)))}function f(_,w){e.forRange("i",0,l,b=>{t.subschema({keyword:"contains",dataProp:b,dataPropType:Uo.Type.Num,compositeRule:!0},_),w()})}function m(_){e.code((0,De._)`${_}++`),a===void 0?e.if((0,De._)`${_} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,De._)`${_} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,De._)`${_} >= ${i}`,()=>e.assign(d,!0)))}}};qa.default=OE});var pm=E(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.validateSchemaDeps=Qe.validatePropertyDeps=Qe.error=void 0;var Za=A(),NE=L(),xn=Oe();Qe.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Za.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Za._)`{property: ${t},
missingProperty: ${n},
depsCount: ${e},
deps: ${r}}`};var DE={keyword:"dependencies",type:"object",schemaType:"object",error:Qe.error,code(t){let[e,r]=jE(t);lm(t,e),dm(t,r)}};function jE({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 lm(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,xn.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,xn.checkReportMissingProp)(t,u)}):(r.if((0,Za._)`${c} && (${(0,xn.checkMissingProp)(t,a,s)})`),(0,xn.reportMissingProp)(t,s),r.else())}}Qe.validatePropertyDeps=lm;function dm(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,NE.alwaysValidSchema)(s,e[a])||(r.if((0,xn.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))}Qe.validateSchemaDeps=dm;Qe.default=DE});var mm=E(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});var fm=A(),LE=L(),qE={message:"property name must be valid",params:({params:t})=>(0,fm._)`{propertyName: ${t.propertyName}}`},ZE={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:qE,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,LE.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,fm.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Ua.default=ZE});var Ha=E(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});var Fo=Oe(),Ve=A(),UE=lt(),Ho=L(),FE={message:"must NOT have additional properties",params:({params:t})=>(0,Ve._)`{additionalProperty: ${t.additionalProperty}}`},HE={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:FE,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,Ho.alwaysValidSchema)(i,r))return;let u=(0,Fo.allSchemaProperties)(n.properties),l=(0,Fo.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Ve._)`${s} === ${UE.default.errors}`);function d(){e.forIn("key",o,w=>{!u.length&&!l.length?m(w):e.if(p(w),()=>m(w))})}function p(w){let b;if(u.length>8){let v=(0,Ho.schemaRefOrVal)(i,n.properties,"properties");b=(0,Fo.isOwnProperty)(e,v,w)}else u.length?b=(0,Ve.or)(...u.map(v=>(0,Ve._)`${w} === ${v}`)):b=Ve.nil;return l.length&&(b=(0,Ve.or)(b,...l.map(v=>(0,Ve._)`${(0,Fo.usePattern)(t,v)}.test(${w})`))),(0,Ve.not)(b)}function f(w){e.code((0,Ve._)`delete ${o}[${w}]`)}function m(w){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(w);return}if(r===!1){t.setParams({additionalProperty:w}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Ho.alwaysValidSchema)(i,r)){let b=e.name("valid");c.removeAdditional==="failing"?(_(w,b,!1),e.if((0,Ve.not)(b),()=>{t.reset(),f(w)})):(_(w,b),a||e.if((0,Ve.not)(b),()=>e.break()))}}function _(w,b,v){let S={keyword:"additionalProperties",dataProp:w,dataPropType:Ho.Type.Str};v===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,b)}}};Fa.default=HE});var _m=E(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});var VE=pn(),hm=Oe(),Va=L(),gm=Ha(),WE={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&&gm.default.code(new VE.KeywordCxt(s,gm.default,"additionalProperties"));let i=(0,hm.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Va.mergeEvaluated.props(e,(0,Va.toHash)(i),s.props));let a=i.filter(d=>!(0,Va.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,hm.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)}}};Wa.default=WE});var wm=E(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var ym=Oe(),Vo=A(),Sm=L(),vm=L(),GE={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,ym.allSchemaProperties)(r),c=a.filter(_=>(0,Sm.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 Vo.Name)&&(s.props=(0,vm.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 w in u)new RegExp(_).test(w)&&(0,Sm.checkStrictMode)(s,`property ${w} matches pattern ${_} (use allowMatchingProperties)`)}function m(_){e.forIn("key",n,w=>{e.if((0,Vo._)`${(0,ym.usePattern)(t,_)}.test(${w})`,()=>{let b=c.includes(_);b||t.subschema({keyword:"patternProperties",schemaProp:_,dataProp:w,dataPropType:vm.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Vo._)`${d}[${w}]`,!0):!b&&!s.allErrors&&e.if((0,Vo.not)(l),()=>e.break())})})}}};Ga.default=GE});var bm=E(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var KE=L(),YE={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,KE.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"}};Ka.default=YE});var Em=E(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});var BE=Oe(),JE={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:BE.validateUnion,error:{message:"must match a schema in anyOf"}};Ya.default=JE});var $m=E(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});var Wo=A(),XE=L(),QE={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Wo._)`{passingSchemas: ${t.passing}}`},e0={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:QE,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,XE.alwaysValidSchema)(o,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Wo._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Wo._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),p&&t.mergeEvaluated(p,Wo.Name)})})}}};Ba.default=e0});var km=E(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});var t0=L(),r0={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,t0.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Ja.default=r0});var Tm=E(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});var Go=A(),Pm=L(),n0={message:({params:t})=>(0,Go.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Go._)`{failingKeyword: ${t.ifClause}}`},o0={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:n0,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Pm.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=xm(n,"then"),s=xm(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,Go.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,Go._)`${l}`):t.setParams({ifClause:l})}}}};function xm(t,e){let r=t.schema[e];return r!==void 0&&!(0,Pm.alwaysValidSchema)(t,r)}Xa.default=o0});var zm=E(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});var s0=L(),i0={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,s0.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Qa.default=i0});var Im=E(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});var a0=Na(),c0=im(),u0=Da(),l0=cm(),d0=um(),p0=pm(),f0=mm(),m0=Ha(),h0=_m(),g0=wm(),_0=bm(),y0=Em(),S0=$m(),v0=km(),w0=Tm(),b0=zm();function E0(t=!1){let e=[_0.default,y0.default,S0.default,v0.default,w0.default,b0.default,f0.default,m0.default,p0.default,h0.default,g0.default];return t?e.push(c0.default,l0.default):e.push(a0.default,u0.default),e.push(d0.default),e}ec.default=E0});var Rm=E(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var ne=A(),$0={message:({schemaCode:t})=>(0,ne.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ne._)`{format: ${t}}`},k0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:$0,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,ne._)`${m}[${i}]`),w=r.let("fType"),b=r.let("format");r.if((0,ne._)`typeof ${_} == "object" && !(${_} instanceof RegExp)`,()=>r.assign(w,(0,ne._)`${_}.type || "string"`).assign(b,(0,ne._)`${_}.validate`),()=>r.assign(w,(0,ne._)`"string"`).assign(b,_)),t.fail$data((0,ne.or)(v(),S()));function v(){return c.strictSchema===!1?ne.nil:(0,ne._)`${i} && !${b}`}function S(){let k=l.$async?(0,ne._)`(${_}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,ne._)`${b}(${n})`,T=(0,ne._)`(typeof ${b} == "function" ? ${k} : ${b}.test(${n}))`;return(0,ne._)`${b} && ${b} !== true && ${w} === ${e} && !${T}`}}function f(){let m=d.formats[s];if(!m){v();return}if(m===!0)return;let[_,w,b]=S(m);_===e&&t.pass(k());function v(){if(c.strictSchema===!1){d.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(T){let ae=T instanceof RegExp?(0,ne.regexpCode)(T):c.code.formats?(0,ne._)`${c.code.formats}${(0,ne.getProperty)(s)}`:void 0,ve=r.scopeValue("formats",{key:s,ref:T,code:ae});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,ne._)`${ve}.validate`]:["string",T,ve]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ne._)`await ${b}(${n})`}return typeof w=="function"?(0,ne._)`${b}(${n})`:(0,ne._)`${b}.test(${n})`}}}};tc.default=k0});var Mm=E(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var x0=Rm(),P0=[x0.default];rc.default=P0});var Am=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.contentVocabulary=pr.metadataVocabulary=void 0;pr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];pr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Om=E(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});var T0=Uf(),z0=rm(),I0=Im(),R0=Mm(),Cm=Am(),M0=[T0.default,z0.default,(0,I0.default)(),R0.default,Cm.metadataVocabulary,Cm.contentVocabulary];nc.default=M0});var Dm=E(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.DiscrError=void 0;var Nm;(function(t){t.Tag="tag",t.Mapping="mapping"})(Nm||(Ko.DiscrError=Nm={}))});var Lm=E(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});var fr=A(),oc=Dm(),jm=Io(),A0=fn(),C0=L(),O0={message:({params:{discrError:t,tagName:e}})=>t===oc.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,fr._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},N0={keyword:"discriminator",type:"object",schemaType:"object",error:O0,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,fr._)`${r}${(0,fr.getProperty)(a)}`);e.if((0,fr._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:oc.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,fr._)`${u} === ${m}`),e.assign(c,d(f[m]));e.else(),t.error(!1,{discrError:oc.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(_,fr.Name),m}function p(){var f;let m={},_=b(o),w=!0;for(let k=0;k<i.length;k++){let T=i[k];if(T?.$ref&&!(0,C0.schemaHasRulesButRef)(T,s.self.RULES)){let ve=T.$ref;if(T=jm.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,ve),T instanceof jm.SchemaEnv&&(T=T.schema),T===void 0)throw new A0.default(s.opts.uriResolver,s.baseId,ve)}let ae=(f=T?.properties)===null||f===void 0?void 0:f[a];if(typeof ae!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);w=w&&(_||b(T)),v(ae,k)}if(!w)throw new Error(`discriminator: "${a}" must be required`);return m;function b({required:k}){return Array.isArray(k)&&k.includes(a)}function v(k,T){if(k.const)S(k.const,T);else if(k.enum)for(let ae of k.enum)S(ae,T);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S(k,T){if(typeof k!="string"||k in m)throw new Error(`discriminator: "${a}" values must be unique strings`);m[k]=T}}}};sc.default=N0});var qm=E((sM,D0)=>{D0.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 ac=E((X,ic)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.MissingRefError=X.ValidationError=X.CodeGen=X.Name=X.nil=X.stringify=X.str=X._=X.KeywordCxt=X.Ajv=void 0;var j0=Nf(),L0=Om(),q0=Lm(),Zm=qm(),Z0=["/properties"],Yo="http://json-schema.org/draft-07/schema",mr=class extends j0.default{_addVocabularies(){super._addVocabularies(),L0.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(q0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Zm,Z0):Zm;this.addMetaSchema(e,Yo,!1),this.refs["http://json-schema.org/schema"]=Yo}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Yo)?Yo:void 0)}};X.Ajv=mr;ic.exports=X=mr;ic.exports.Ajv=mr;Object.defineProperty(X,"__esModule",{value:!0});X.default=mr;var U0=pn();Object.defineProperty(X,"KeywordCxt",{enumerable:!0,get:function(){return U0.KeywordCxt}});var hr=A();Object.defineProperty(X,"_",{enumerable:!0,get:function(){return hr._}});Object.defineProperty(X,"str",{enumerable:!0,get:function(){return hr.str}});Object.defineProperty(X,"stringify",{enumerable:!0,get:function(){return hr.stringify}});Object.defineProperty(X,"nil",{enumerable:!0,get:function(){return hr.nil}});Object.defineProperty(X,"Name",{enumerable:!0,get:function(){return hr.Name}});Object.defineProperty(X,"CodeGen",{enumerable:!0,get:function(){return hr.CodeGen}});var F0=To();Object.defineProperty(X,"ValidationError",{enumerable:!0,get:function(){return F0.default}});var H0=fn();Object.defineProperty(X,"MissingRefError",{enumerable:!0,get:function(){return H0.default}})});var Ym=E(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.formatNames=tt.fastFormats=tt.fullFormats=void 0;function et(t,e){return{validate:t,compare:e}}tt.fullFormats={date:et(Vm,dc),time:et(uc(!0),pc),"date-time":et(Um(!0),Gm),"iso-time":et(uc(),Wm),"iso-date-time":et(Um(),Km),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:B0,"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:n$,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:J0,int32:{type:"number",validate:e$},int64:{type:"number",validate:t$},float:{type:"number",validate:Hm},double:{type:"number",validate:Hm},password:!0,binary:!0};tt.fastFormats={...tt.fullFormats,date:et(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,dc),time:et(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,pc),"date-time":et(/^\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,Gm),"iso-time":et(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Wm),"iso-date-time":et(/^\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,Km),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};tt.formatNames=Object.keys(tt.fullFormats);function V0(t){return t%4===0&&(t%100!==0||t%400===0)}var W0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,G0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Vm(t){let e=W0.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&&V0(r)?29:G0[n])}function dc(t,e){if(t&&e)return t>e?1:t<e?-1:0}var cc=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function uc(t){return function(r){let n=cc.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 pc(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 Wm(t,e){if(!(t&&e))return;let r=cc.exec(t),n=cc.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 lc=/t|\s/i;function Um(t){let e=uc(t);return function(n){let o=n.split(lc);return o.length===2&&Vm(o[0])&&e(o[1])}}function Gm(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function Km(t,e){if(!(t&&e))return;let[r,n]=t.split(lc),[o,s]=e.split(lc),i=dc(r,o);if(i!==void 0)return i||pc(n,s)}var K0=/\/|:/,Y0=/^(?:[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 B0(t){return K0.test(t)&&Y0.test(t)}var Fm=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function J0(t){return Fm.lastIndex=0,Fm.test(t)}var X0=-(2**31),Q0=2**31-1;function e$(t){return Number.isInteger(t)&&t<=Q0&&t>=X0}function t$(t){return Number.isInteger(t)}function Hm(){return!0}var r$=/[^\\]\\Z/;function n$(t){if(r$.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var Bm=E(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.formatLimitDefinition=void 0;var o$=ac(),We=A(),It=We.operators,Bo={formatMaximum:{okStr:"<=",ok:It.LTE,fail:It.GT},formatMinimum:{okStr:">=",ok:It.GTE,fail:It.LT},formatExclusiveMaximum:{okStr:"<",ok:It.LT,fail:It.GTE},formatExclusiveMinimum:{okStr:">",ok:It.GT,fail:It.LTE}},s$={message:({keyword:t,schemaCode:e})=>(0,We.str)`should be ${Bo[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,We._)`{comparison: ${Bo[t].okStr}, limit: ${e}}`};gr.formatLimitDefinition={keyword:Object.keys(Bo),type:"string",schemaType:"string",$data:!0,error:s$,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 o$.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,We._)`${p}[${c.schemaCode}]`);t.fail$data((0,We.or)((0,We._)`typeof ${f} != "object"`,(0,We._)`${f} instanceof RegExp`,(0,We._)`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,We._)`${i.code.formats}${(0,We.getProperty)(p)}`:void 0});t.fail$data(d(m))}function d(p){return(0,We._)`${p}.compare(${r}, ${n}) ${Bo[o].fail} 0`}},dependencies:["format"]};var i$=t=>(t.addKeyword(gr.formatLimitDefinition),t);gr.default=i$});var eh=E((Pn,Qm)=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});var _r=Ym(),a$=Bm(),fc=A(),Jm=new fc.Name("fullFormats"),c$=new fc.Name("fastFormats"),mc=(t,e={keywords:!0})=>{if(Array.isArray(e))return Xm(t,e,_r.fullFormats,Jm),t;let[r,n]=e.mode==="fast"?[_r.fastFormats,c$]:[_r.fullFormats,Jm],o=e.formats||_r.formatNames;return Xm(t,o,r,n),e.keywords&&(0,a$.default)(t),t};mc.get=(t,e="full")=>{let n=(e==="fast"?_r.fastFormats:_r.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function Xm(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,fc._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}Qm.exports=Pn=mc;Object.defineProperty(Pn,"__esModule",{value:!0});Pn.default=mc});var st=require("fs"),xr=require("path"),Wc=require("os"),fs=(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))(fs||{}),Vc=(0,xr.join)((0,Wc.homedir)(),".claude-mem"),ms=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=(0,xr.join)(Vc,"logs");(0,st.existsSync)(e)||(0,st.mkdirSync)(e,{recursive:!0});let r=new Date().toISOString().split("T")[0];this.logFilePath=(0,xr.join)(e,`claude-mem-${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=(0,xr.join)(Vc,"settings.json");if((0,st.existsSync)(e)){let r=(0,st.readFileSync)(e,"utf-8"),o=(JSON.parse(r).CLAUDE_MEM_LOG_LEVEL||"INFO").toUpperCase();this.level=fs[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}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}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}
${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=fs[e].padEnd(5),c=r.padEnd(6),u="";o?.correlationId?u=`[${o.correlationId}] `:o?.sessionId&&(u=`[session-${o.sessionId}] `);let l="";s!=null&&(s instanceof Error?l=this.getLevel()===0?`
${s.message}
${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=`
`+JSON.stringify(s,null,2):l=" "+this.formatData(s));let d="";if(o){let{sessionId:f,memorySessionId:m,correlationId:_,...w}=o;Object.keys(w).length>0&&(d=` {${Object.entries(w).map(([v,S])=>`${v}=${S}`).join(", ")}}`)}let p=`[${i}] [${a}] [${c}] ${u}${n}${d}${l}`;if(this.logFilePath)try{(0,st.appendFileSync)(this.logFilePath,p+`
`,"utf8")}catch(f){process.stderr.write(`[LOGGER] Failed to write to log file: ${f instanceof Error?f.message:String(f)}
`)}else process.stderr.write(p+`
`)}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)}error(e,r,n,o){this.log(3,e,r,n,o)}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)}timing(e,r,n,o){this.info(e,`\u23F1 ${r}`,o,{duration:`${n}ms`})}happyPathError(e,r,n,o,s=""){let u=((new Error().stack||"").split(`
`)[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 ms;var Sk=Object.freeze({status:"aborted"});function g(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var it=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Dn={};function Re(t){return t&&Object.assign(Dn,t),Dn}var U={};Hc(U,{BIGINT_FORMAT_RANGES:()=>Kc,Class:()=>gs,NUMBER_FORMAT_RANGES:()=>$s,aborted:()=>Mt,allowsEval:()=>ws,assert:()=>gg,assertEqual:()=>pg,assertIs:()=>mg,assertNever:()=>hg,assertNotEqual:()=>fg,assignProp:()=>vs,cached:()=>Tr,captureStackTrace:()=>Ln,cleanEnum:()=>zg,cleanRegex:()=>Ir,clone:()=>Ke,createTransparentProxy:()=>bg,defineLazy:()=>W,esc:()=>Rt,escapeRegex:()=>St,extend:()=>kg,finalizeIssue:()=>Ze,floatSafeRemainder:()=>Ss,getElementAtPath:()=>_g,getEnumValues:()=>_s,getLengthableOrigin:()=>Rr,getParsedType:()=>wg,getSizableOrigin:()=>Yc,isObject:()=>Gt,isPlainObject:()=>Kt,issue:()=>ks,joinValues:()=>jn,jsonStringifyReplacer:()=>ys,merge:()=>xg,normalizeParams:()=>z,nullish:()=>zr,numKeys:()=>vg,omit:()=>$g,optionalKeys:()=>Es,partial:()=>Pg,pick:()=>Eg,prefixIssues:()=>Ye,primitiveTypes:()=>Gc,promiseAllObject:()=>yg,propertyKeyTypes:()=>bs,randomString:()=>Sg,required:()=>Tg,stringifyPrimitive:()=>qn,unwrapMessage:()=>Pr});function pg(t){return t}function fg(t){return t}function mg(t){}function hg(t){throw new Error}function gg(t){}function _s(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 jn(t,e="|"){return t.map(r=>qn(r)).join(e)}function ys(t,e){return typeof e=="bigint"?e.toString():e}function Tr(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function zr(t){return t==null}function Ir(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Ss(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function W(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function vs(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function _g(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function yg(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 Sg(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Rt(t){return JSON.stringify(t)}var Ln=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function Gt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var ws=Tr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Kt(t){if(Gt(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(Gt(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function vg(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var wg=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}`)}},bs=new Set(["string","number","symbol"]),Gc=new Set(["string","number","bigint","boolean","symbol","undefined"]);function St(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ke(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 bg(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 qn(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Es(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var $s={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]},Kc={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Eg(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return Ke(t,{...t._zod.def,shape:r,checks:[]})}function $g(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return Ke(t,{...t._zod.def,shape:r,checks:[]})}function kg(t,e){if(!Kt(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return vs(this,"shape",n),n},checks:[]};return Ke(t,r)}function xg(t,e){return Ke(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return vs(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Pg(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return Ke(e,{...e._zod.def,shape:o,checks:[]})}function Tg(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return Ke(e,{...e._zod.def,shape:o,checks:[]})}function Mt(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Ye(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function Pr(t){return typeof t=="string"?t:t?.message}function Ze(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=Pr(t.inst?._zod.def?.error?.(t))??Pr(e?.error?.(t))??Pr(r.customError?.(t))??Pr(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Yc(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Rr(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function ks(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function zg(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var gs=class{constructor(...e){}};var Bc=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,ys,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Zn=g("$ZodError",Bc),xs=g("$ZodError",Bc,{Parent:Error});function Jc(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 Xc(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var Qc=t=>(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new it;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>Ze(c,s,Re())));throw Ln(a,o?.callee),a}return i.value};var eu=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>Ze(c,s,Re())));throw Ln(a,o?.callee),a}return i.value};var Ps=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 it;return s.issues.length?{success:!1,error:new(t??Zn)(s.issues.map(i=>Ze(i,o,Re())))}:{success:!0,data:s.value}},Mr=Ps(xs),Ts=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>Ze(i,o,Re())))}:{success:!0,data:s.value}},Un=Ts(xs);var tu=/^[cC][^\s-]{8,}$/,ru=/^[0-9a-z]+$/,nu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ou=/^[0-9a-vA-V]{20}$/,su=/^[A-Za-z0-9]{27}$/,iu=/^[a-zA-Z0-9_-]{21}$/,au=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var cu=/^([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})$/,zs=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var uu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Rg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function lu(){return new RegExp(Rg,"u")}var du=/^(?:(?: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])$/,pu=/^(([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})$/,fu=/^((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])$/,mu=/^(([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])$/,hu=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Is=/^[A-Za-z0-9_-]*$/,gu=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var _u=/^\+(?:[0-9]){6,14}[0-9]$/,yu="(?:(?:\\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])))",Su=new RegExp(`^${yu}$`);function vu(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 wu(t){return new RegExp(`^${vu(t)}$`)}function bu(t){let e=vu({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${yu}T(?:${n})$`)}var Eu=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var $u=/^\d+$/,ku=/^-?\d+(?:\.\d+)?/i,xu=/true|false/i,Pu=/null/i;var Tu=/^[^A-Z]*$/,zu=/^[^a-z]*$/;var he=g("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Iu={number:"number",bigint:"bigint",object:"date"},Ms=g("$ZodCheckLessThan",(t,e)=>{he.init(t,e);let r=Iu[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),As=g("$ZodCheckGreaterThan",(t,e)=>{he.init(t,e);let r=Iu[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Ru=g("$ZodCheckMultipleOf",(t,e)=>{he.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):Ss(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})}}),Mu=g("$ZodCheckNumberFormat",(t,e)=>{he.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=$s[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=$u)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var Au=g("$ZodCheckMaxLength",(t,e)=>{var r;he.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!zr(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=Rr(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Cu=g("$ZodCheckMinLength",(t,e)=>{var r;he.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!zr(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=Rr(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Ou=g("$ZodCheckLengthEquals",(t,e)=>{var r;he.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!zr(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=Rr(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})}}),Ar=g("$ZodCheckStringFormat",(t,e)=>{var r,n;he.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=()=>{})}),Nu=g("$ZodCheckRegex",(t,e)=>{Ar.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})}}),Du=g("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Tu),Ar.init(t,e)}),ju=g("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=zu),Ar.init(t,e)}),Lu=g("$ZodCheckIncludes",(t,e)=>{he.init(t,e);let r=St(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})}}),qu=g("$ZodCheckStartsWith",(t,e)=>{he.init(t,e);let r=new RegExp(`^${St(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})}}),Zu=g("$ZodCheckEndsWith",(t,e)=>{he.init(t,e);let r=new RegExp(`.*${St(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 Uu=g("$ZodCheckOverwrite",(t,e)=>{he.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Fn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
`).filter(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let e=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new e(...r,o.join(`
`))}};var Hu={major:4,minor:0,patch:0};var G=g("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Hu;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=Mt(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,p=l._zod.check(s);if(p instanceof Promise&&a?.async===!1)throw new it;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,s.issues.length!==d&&(c||(c=Mt(s,d)))});else{if(s.issues.length===d)continue;c||(c=Mt(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new it;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Mr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Un(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Vn=g("$ZodString",(t,e)=>{G.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Eu(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}}),Y=g("$ZodStringFormat",(t,e)=>{Ar.init(t,e),Vn.init(t,e)}),el=g("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=cu),Y.init(t,e)}),tl=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=zs(n))}else e.pattern??(e.pattern=zs());Y.init(t,e)}),rl=g("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=uu),Y.init(t,e)}),nl=g("$ZodURL",(t,e)=>{Y.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:gu.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),ol=g("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=lu()),Y.init(t,e)}),sl=g("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=iu),Y.init(t,e)}),il=g("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=tu),Y.init(t,e)}),al=g("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=ru),Y.init(t,e)}),cl=g("$ZodULID",(t,e)=>{e.pattern??(e.pattern=nu),Y.init(t,e)}),ul=g("$ZodXID",(t,e)=>{e.pattern??(e.pattern=ou),Y.init(t,e)}),ll=g("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=su),Y.init(t,e)}),dl=g("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=bu(e)),Y.init(t,e)}),pl=g("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=Su),Y.init(t,e)}),fl=g("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=wu(e)),Y.init(t,e)}),ml=g("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=au),Y.init(t,e)}),hl=g("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=du),Y.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),gl=g("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=pu),Y.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),_l=g("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=fu),Y.init(t,e)}),yl=g("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=mu),Y.init(t,e),t._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Sl(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var vl=g("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=hu),Y.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Sl(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Mg(t){if(!Is.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Sl(r)}var wl=g("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Is),Y.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{Mg(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),bl=g("$ZodE164",(t,e)=>{e.pattern??(e.pattern=_u),Y.init(t,e)});function Ag(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 El=g("$ZodJWT",(t,e)=>{Y.init(t,e),t._zod.check=r=>{Ag(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Os=g("$ZodNumber",(t,e)=>{G.init(t,e),t._zod.pattern=t._zod.bag.pattern??ku,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}}),$l=g("$ZodNumber",(t,e)=>{Mu.init(t,e),Os.init(t,e)}),kl=g("$ZodBoolean",(t,e)=>{G.init(t,e),t._zod.pattern=xu,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 xl=g("$ZodNull",(t,e)=>{G.init(t,e),t._zod.pattern=Pu,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 Pl=g("$ZodUnknown",(t,e)=>{G.init(t,e),t._zod.parse=r=>r}),Tl=g("$ZodNever",(t,e)=>{G.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Vu(t,e,r){t.issues.length&&e.issues.push(...Ye(r,t.issues)),e.value[r]=t.value}var zl=g("$ZodArray",(t,e)=>{G.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=>Vu(u,r,i))):Vu(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Hn(t,e,r){t.issues.length&&e.issues.push(...Ye(r,t.issues)),e.value[r]=t.value}function Wu(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...Ye(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Il=g("$ZodObject",(t,e)=>{G.init(t,e);let r=Tr(()=>{let d=Object.keys(e.shape);for(let f of d)if(!(e.shape[f]instanceof G))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=Es(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});W(t._zod,"propValues",()=>{let d=e.shape,p={};for(let f in d){let m=d[f]._zod;if(m.values){p[f]??(p[f]=new Set);for(let _ of m.values)p[f].add(_)}}return p});let n=d=>{let p=new Fn(["shape","payload","ctx"]),f=r.value,m=v=>{let S=Rt(v);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};p.write("const input = payload.value;");let _=Object.create(null),w=0;for(let v of f.keys)_[v]=`key_${w++}`;p.write("const newResult = {}");for(let v of f.keys)if(f.optionalKeys.has(v)){let S=_[v];p.write(`const ${S} = ${m(v)};`);let k=Rt(v);p.write(`
if (${S}.issues.length) {
if (input[${k}] === undefined) {
if (${k} in input) {
newResult[${k}] = undefined;
}
} else {
payload.issues = payload.issues.concat(
${S}.issues.map((iss) => ({
...iss,
path: iss.path ? [${k}, ...iss.path] : [${k}],
}))
);
}
} else if (${S}.value === undefined) {
if (${k} in input) newResult[${k}] = undefined;
} else {
newResult[${k}] = ${S}.value;
}
`)}else{let S=_[v];p.write(`const ${S} = ${m(v)};`),p.write(`
if (${S}.issues.length) payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
...iss,
path: iss.path ? [${Rt(v)}, ...iss.path] : [${Rt(v)}]
})));`),p.write(`newResult[${Rt(v)}] = ${S}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let b=p.compile();return(v,S)=>b(d,v,S)},o,s=Gt,i=!Dn.jitless,c=i&&ws.value,u=e.catchall,l;t._zod.parse=(d,p)=>{l??(l=r.value);let f=d.value;if(!s(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:t}),d;let m=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(e.shape)),d=o(d,p);else{d.value={};let S=l.shape;for(let k of l.keys){let T=S[k],ae=T._zod.run({value:f[k],issues:[]},p),ve=T._zod.optin==="optional"&&T._zod.optout==="optional";ae instanceof Promise?m.push(ae.then(_t=>ve?Wu(_t,d,k,f):Hn(_t,d,k))):ve?Wu(ae,d,k,f):Hn(ae,d,k)}}if(!u)return m.length?Promise.all(m).then(()=>d):d;let _=[],w=l.keySet,b=u._zod,v=b.def.type;for(let S of Object.keys(f)){if(w.has(S))continue;if(v==="never"){_.push(S);continue}let k=b.run({value:f[S],issues:[]},p);k instanceof Promise?m.push(k.then(T=>Hn(T,d,S))):Hn(k,d,S)}return _.length&&d.issues.push({code:"unrecognized_keys",keys:_,input:f,inst:t}),m.length?Promise.all(m).then(()=>d):d}});function Gu(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>Ze(s,n,Re())))}),e}var Ns=g("$ZodUnion",(t,e)=>{G.init(t,e),W(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),W(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),W(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),W(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Ir(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>Gu(i,r,t,n)):Gu(s,r,t,n)}}),Rl=g("$ZodDiscriminatedUnion",(t,e)=>{Ns.init(t,e);let r=t._zod.parse;W(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=Tr(()=>{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(!Gt(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),Ml=g("$ZodIntersection",(t,e)=>{G.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])=>Ku(r,c,u)):Ku(r,s,i)}});function Cs(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(Kt(t)&&Kt(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=Cs(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=Cs(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 Ku(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Mt(t))return t;let n=Cs(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}var Al=g("$ZodRecord",(t,e)=>{G.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Kt(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Ye(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Ye(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>Ze(u,n,Re())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Ye(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Ye(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Cl=g("$ZodEnum",(t,e)=>{G.init(t,e);let r=_s(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>bs.has(typeof n)).map(n=>typeof n=="string"?St(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),Ol=g("$ZodLiteral",(t,e)=>{G.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?St(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var Nl=g("$ZodTransform",(t,e)=>{G.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new it;return r.value=o,r}}),Dl=g("$ZodOptional",(t,e)=>{G.init(t,e),t._zod.optin="optional",t._zod.optout="optional",W(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),W(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Ir(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),jl=g("$ZodNullable",(t,e)=>{G.init(t,e),W(t._zod,"optin",()=>e.innerType._zod.optin),W(t._zod,"optout",()=>e.innerType._zod.optout),W(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Ir(r.source)}|null)$`):void 0}),W(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)}),Ll=g("$ZodDefault",(t,e)=>{G.init(t,e),t._zod.optin="optional",W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Yu(s,e)):Yu(o,e)}});function Yu(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var ql=g("$ZodPrefault",(t,e)=>{G.init(t,e),t._zod.optin="optional",W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Zl=g("$ZodNonOptional",(t,e)=>{G.init(t,e),W(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=>Bu(s,t)):Bu(o,t)}});function Bu(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 Ul=g("$ZodCatch",(t,e)=>{G.init(t,e),t._zod.optin="optional",W(t._zod,"optout",()=>e.innerType._zod.optout),W(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>Ze(i,n,Re()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>Ze(s,n,Re()))},input:r.value}),r.issues=[]),r)}});var Fl=g("$ZodPipe",(t,e)=>{G.init(t,e),W(t._zod,"values",()=>e.in._zod.values),W(t._zod,"optin",()=>e.in._zod.optin),W(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>Ju(s,e,n)):Ju(o,e,n)}});function Ju(t,e,r){return Mt(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Hl=g("$ZodReadonly",(t,e)=>{G.init(t,e),W(t._zod,"propValues",()=>e.innerType._zod.propValues),W(t._zod,"values",()=>e.innerType._zod.values),W(t._zod,"optin",()=>e.innerType._zod.optin),W(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(Xu):Xu(o)}});function Xu(t){return t.value=Object.freeze(t.value),t}var Vl=g("$ZodCustom",(t,e)=>{he.init(t,e),G.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=>Qu(s,r,n,t));Qu(o,r,n,t)}});function Qu(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(ks(o))}}var Cg=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},Og=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${Cg(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${qn(n.values[0])}`:`Invalid option: expected one of ${jn(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=e(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${jn(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function Wl(){return{localeError:Og()}}var Ds=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Ng(){return new Ds}var Cr=Ng();function Gl(t,e){return new t({type:"string",...z(e)})}function Kl(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...z(e)})}function js(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...z(e)})}function Yl(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...z(e)})}function Bl(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...z(e)})}function Jl(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...z(e)})}function Xl(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...z(e)})}function Ql(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...z(e)})}function ed(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...z(e)})}function td(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...z(e)})}function rd(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...z(e)})}function nd(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...z(e)})}function od(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...z(e)})}function sd(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...z(e)})}function id(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...z(e)})}function ad(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...z(e)})}function cd(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...z(e)})}function ud(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...z(e)})}function ld(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...z(e)})}function dd(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...z(e)})}function pd(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...z(e)})}function fd(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...z(e)})}function md(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...z(e)})}function hd(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...z(e)})}function gd(t,e){return new t({type:"string",format:"date",check:"string_format",...z(e)})}function _d(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...z(e)})}function yd(t,e){return new t({type:"string",format:"duration",check:"string_format",...z(e)})}function Sd(t,e){return new t({type:"number",checks:[],...z(e)})}function vd(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...z(e)})}function wd(t,e){return new t({type:"boolean",...z(e)})}function bd(t,e){return new t({type:"null",...z(e)})}function Ed(t){return new t({type:"unknown"})}function $d(t,e){return new t({type:"never",...z(e)})}function Wn(t,e){return new Ms({check:"less_than",...z(e),value:t,inclusive:!1})}function Or(t,e){return new Ms({check:"less_than",...z(e),value:t,inclusive:!0})}function Gn(t,e){return new As({check:"greater_than",...z(e),value:t,inclusive:!1})}function Nr(t,e){return new As({check:"greater_than",...z(e),value:t,inclusive:!0})}function Kn(t,e){return new Ru({check:"multiple_of",...z(e),value:t})}function Yn(t,e){return new Au({check:"max_length",...z(e),maximum:t})}function Yt(t,e){return new Cu({check:"min_length",...z(e),minimum:t})}function Bn(t,e){return new Ou({check:"length_equals",...z(e),length:t})}function Ls(t,e){return new Nu({check:"string_format",format:"regex",...z(e),pattern:t})}function qs(t){return new Du({check:"string_format",format:"lowercase",...z(t)})}function Zs(t){return new ju({check:"string_format",format:"uppercase",...z(t)})}function Us(t,e){return new Lu({check:"string_format",format:"includes",...z(e),includes:t})}function Fs(t,e){return new qu({check:"string_format",format:"starts_with",...z(e),prefix:t})}function Hs(t,e){return new Zu({check:"string_format",format:"ends_with",...z(e),suffix:t})}function At(t){return new Uu({check:"overwrite",tx:t})}function Vs(t){return At(e=>e.normalize(t))}function Ws(){return At(t=>t.trim())}function Gs(){return At(t=>t.toLowerCase())}function Ks(){return At(t=>t.toUpperCase())}function kd(t,e,r){return new t({type:"array",element:e,...z(r)})}function xd(t,e,r){let n=z(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Pd(t,e,r){return new t({type:"custom",check:"custom",fn:e,...z(r)})}function Bt(t){return!!t._zod}function vt(t,e){return Bt(t)?Mr(t,e):t.safeParse(e)}function Jn(t){if(!t)return;let e;if(Bt(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function Td(t){if(Bt(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 jr={};Hc(jr,{ZodISODate:()=>Id,ZodISODateTime:()=>zd,ZodISODuration:()=>Md,ZodISOTime:()=>Rd,date:()=>Bs,datetime:()=>Ys,duration:()=>Xs,time:()=>Js});var zd=g("ZodISODateTime",(t,e)=>{dl.init(t,e),Q.init(t,e)});function Ys(t){return hd(zd,t)}var Id=g("ZodISODate",(t,e)=>{pl.init(t,e),Q.init(t,e)});function Bs(t){return gd(Id,t)}var Rd=g("ZodISOTime",(t,e)=>{fl.init(t,e),Q.init(t,e)});function Js(t){return _d(Rd,t)}var Md=g("ZodISODuration",(t,e)=>{ml.init(t,e),Q.init(t,e)});function Xs(t){return yd(Md,t)}var Ad=(t,e)=>{Zn.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Xc(t,r)},flatten:{value:r=>Jc(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},px=g("ZodError",Ad),Lr=g("ZodError",Ad,{Parent:Error});var Cd=Qc(Lr),Od=eu(Lr),Nd=Ps(Lr),Dd=Ts(Lr);var re=g("ZodType",(t,e)=>(G.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>Ke(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>Cd(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Nd(t,r,n),t.parseAsync=async(r,n)=>Od(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Dd(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(A_(r,n)),t.superRefine=r=>t.check(C_(r)),t.overwrite=r=>t.check(At(r)),t.optional=()=>te(t),t.nullable=()=>qd(t),t.nullish=()=>te(qd(t)),t.nonoptional=r=>x_(t,r),t.array=()=>D(t),t.or=r=>B([t,r]),t.and=r=>Qn(t,r),t.transform=r=>ei(t,Wd(r)),t.default=r=>E_(t,r),t.prefault=r=>k_(t,r),t.catch=r=>T_(t,r),t.pipe=r=>ei(t,r),t.readonly=()=>R_(t),t.describe=r=>{let n=t.clone();return Cr.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return Cr.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return Cr.get(t);let n=t.clone();return Cr.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Zd=g("_ZodString",(t,e)=>{Vn.init(t,e),re.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Ls(...n)),t.includes=(...n)=>t.check(Us(...n)),t.startsWith=(...n)=>t.check(Fs(...n)),t.endsWith=(...n)=>t.check(Hs(...n)),t.min=(...n)=>t.check(Yt(...n)),t.max=(...n)=>t.check(Yn(...n)),t.length=(...n)=>t.check(Bn(...n)),t.nonempty=(...n)=>t.check(Yt(1,...n)),t.lowercase=n=>t.check(qs(n)),t.uppercase=n=>t.check(Zs(n)),t.trim=()=>t.check(Ws()),t.normalize=(...n)=>t.check(Vs(...n)),t.toLowerCase=()=>t.check(Gs()),t.toUpperCase=()=>t.check(Ks())}),Vg=g("ZodString",(t,e)=>{Vn.init(t,e),Zd.init(t,e),t.email=r=>t.check(Kl(Wg,r)),t.url=r=>t.check(Ql(Gg,r)),t.jwt=r=>t.check(md(c_,r)),t.emoji=r=>t.check(ed(Kg,r)),t.guid=r=>t.check(js(jd,r)),t.uuid=r=>t.check(Yl(Xn,r)),t.uuidv4=r=>t.check(Bl(Xn,r)),t.uuidv6=r=>t.check(Jl(Xn,r)),t.uuidv7=r=>t.check(Xl(Xn,r)),t.nanoid=r=>t.check(td(Yg,r)),t.guid=r=>t.check(js(jd,r)),t.cuid=r=>t.check(rd(Bg,r)),t.cuid2=r=>t.check(nd(Jg,r)),t.ulid=r=>t.check(od(Xg,r)),t.base64=r=>t.check(dd(s_,r)),t.base64url=r=>t.check(pd(i_,r)),t.xid=r=>t.check(sd(Qg,r)),t.ksuid=r=>t.check(id(e_,r)),t.ipv4=r=>t.check(ad(t_,r)),t.ipv6=r=>t.check(cd(r_,r)),t.cidrv4=r=>t.check(ud(n_,r)),t.cidrv6=r=>t.check(ld(o_,r)),t.e164=r=>t.check(fd(a_,r)),t.datetime=r=>t.check(Ys(r)),t.date=r=>t.check(Bs(r)),t.time=r=>t.check(Js(r)),t.duration=r=>t.check(Xs(r))});function h(t){return Gl(Vg,t)}var Q=g("ZodStringFormat",(t,e)=>{Y.init(t,e),Zd.init(t,e)}),Wg=g("ZodEmail",(t,e)=>{rl.init(t,e),Q.init(t,e)});var jd=g("ZodGUID",(t,e)=>{el.init(t,e),Q.init(t,e)});var Xn=g("ZodUUID",(t,e)=>{tl.init(t,e),Q.init(t,e)});var Gg=g("ZodURL",(t,e)=>{nl.init(t,e),Q.init(t,e)});var Kg=g("ZodEmoji",(t,e)=>{ol.init(t,e),Q.init(t,e)});var Yg=g("ZodNanoID",(t,e)=>{sl.init(t,e),Q.init(t,e)});var Bg=g("ZodCUID",(t,e)=>{il.init(t,e),Q.init(t,e)});var Jg=g("ZodCUID2",(t,e)=>{al.init(t,e),Q.init(t,e)});var Xg=g("ZodULID",(t,e)=>{cl.init(t,e),Q.init(t,e)});var Qg=g("ZodXID",(t,e)=>{ul.init(t,e),Q.init(t,e)});var e_=g("ZodKSUID",(t,e)=>{ll.init(t,e),Q.init(t,e)});var t_=g("ZodIPv4",(t,e)=>{hl.init(t,e),Q.init(t,e)});var r_=g("ZodIPv6",(t,e)=>{gl.init(t,e),Q.init(t,e)});var n_=g("ZodCIDRv4",(t,e)=>{_l.init(t,e),Q.init(t,e)});var o_=g("ZodCIDRv6",(t,e)=>{yl.init(t,e),Q.init(t,e)});var s_=g("ZodBase64",(t,e)=>{vl.init(t,e),Q.init(t,e)});var i_=g("ZodBase64URL",(t,e)=>{wl.init(t,e),Q.init(t,e)});var a_=g("ZodE164",(t,e)=>{bl.init(t,e),Q.init(t,e)});var c_=g("ZodJWT",(t,e)=>{El.init(t,e),Q.init(t,e)});var Ud=g("ZodNumber",(t,e)=>{Os.init(t,e),re.init(t,e),t.gt=(n,o)=>t.check(Gn(n,o)),t.gte=(n,o)=>t.check(Nr(n,o)),t.min=(n,o)=>t.check(Nr(n,o)),t.lt=(n,o)=>t.check(Wn(n,o)),t.lte=(n,o)=>t.check(Or(n,o)),t.max=(n,o)=>t.check(Or(n,o)),t.int=n=>t.check(Ld(n)),t.safe=n=>t.check(Ld(n)),t.positive=n=>t.check(Gn(0,n)),t.nonnegative=n=>t.check(Nr(0,n)),t.negative=n=>t.check(Wn(0,n)),t.nonpositive=n=>t.check(Or(0,n)),t.multipleOf=(n,o)=>t.check(Kn(n,o)),t.step=(n,o)=>t.check(Kn(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function F(t){return Sd(Ud,t)}var u_=g("ZodNumberFormat",(t,e)=>{$l.init(t,e),Ud.init(t,e)});function Ld(t){return vd(u_,t)}var l_=g("ZodBoolean",(t,e)=>{kl.init(t,e),re.init(t,e)});function ce(t){return wd(l_,t)}var d_=g("ZodNull",(t,e)=>{xl.init(t,e),re.init(t,e)});function Fd(t){return bd(d_,t)}var p_=g("ZodUnknown",(t,e)=>{Pl.init(t,e),re.init(t,e)});function ee(){return Ed(p_)}var f_=g("ZodNever",(t,e)=>{Tl.init(t,e),re.init(t,e)});function m_(t){return $d(f_,t)}var h_=g("ZodArray",(t,e)=>{zl.init(t,e),re.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Yt(r,n)),t.nonempty=r=>t.check(Yt(1,r)),t.max=(r,n)=>t.check(Yn(r,n)),t.length=(r,n)=>t.check(Bn(r,n)),t.unwrap=()=>t.element});function D(t,e){return kd(h_,t,e)}var Hd=g("ZodObject",(t,e)=>{Il.init(t,e),re.init(t,e),U.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>ke(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ee()}),t.loose=()=>t.clone({...t._zod.def,catchall:ee()}),t.strict=()=>t.clone({...t._zod.def,catchall:m_()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>U.extend(t,r),t.merge=r=>U.merge(t,r),t.pick=r=>U.pick(t,r),t.omit=r=>U.omit(t,r),t.partial=(...r)=>U.partial(Gd,t,r[0]),t.required=(...r)=>U.required(Kd,t,r[0])});function $(t,e){let r={type:"object",get shape(){return U.assignProp(this,"shape",{...t}),this.shape},...U.normalizeParams(e)};return new Hd(r)}function we(t,e){return new Hd({type:"object",get shape(){return U.assignProp(this,"shape",{...t}),this.shape},catchall:ee(),...U.normalizeParams(e)})}var Vd=g("ZodUnion",(t,e)=>{Ns.init(t,e),re.init(t,e),t.options=e.options});function B(t,e){return new Vd({type:"union",options:t,...U.normalizeParams(e)})}var g_=g("ZodDiscriminatedUnion",(t,e)=>{Vd.init(t,e),Rl.init(t,e)});function ti(t,e,r){return new g_({type:"union",options:e,discriminator:t,...U.normalizeParams(r)})}var __=g("ZodIntersection",(t,e)=>{Ml.init(t,e),re.init(t,e)});function Qn(t,e){return new __({type:"intersection",left:t,right:e})}var y_=g("ZodRecord",(t,e)=>{Al.init(t,e),re.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function K(t,e,r){return new y_({type:"record",keyType:t,valueType:e,...U.normalizeParams(r)})}var Qs=g("ZodEnum",(t,e)=>{Cl.init(t,e),re.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Qs({...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 Qs({...e,checks:[],...U.normalizeParams(o),entries:s})}});function ke(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Qs({type:"enum",entries:r,...U.normalizeParams(e)})}var S_=g("ZodLiteral",(t,e)=>{Ol.init(t,e),re.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function x(t,e){return new S_({type:"literal",values:Array.isArray(t)?t:[t],...U.normalizeParams(e)})}var v_=g("ZodTransform",(t,e)=>{Nl.init(t,e),re.init(t,e),t._zod.parse=(r,n)=>{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),i.continue??(i.continue=!0),r.issues.push(U.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function Wd(t){return new v_({type:"transform",transform:t})}var Gd=g("ZodOptional",(t,e)=>{Dl.init(t,e),re.init(t,e),t.unwrap=()=>t._zod.def.innerType});function te(t){return new Gd({type:"optional",innerType:t})}var w_=g("ZodNullable",(t,e)=>{jl.init(t,e),re.init(t,e),t.unwrap=()=>t._zod.def.innerType});function qd(t){return new w_({type:"nullable",innerType:t})}var b_=g("ZodDefault",(t,e)=>{Ll.init(t,e),re.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function E_(t,e){return new b_({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var $_=g("ZodPrefault",(t,e)=>{ql.init(t,e),re.init(t,e),t.unwrap=()=>t._zod.def.innerType});function k_(t,e){return new $_({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Kd=g("ZodNonOptional",(t,e)=>{Zl.init(t,e),re.init(t,e),t.unwrap=()=>t._zod.def.innerType});function x_(t,e){return new Kd({type:"nonoptional",innerType:t,...U.normalizeParams(e)})}var P_=g("ZodCatch",(t,e)=>{Ul.init(t,e),re.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function T_(t,e){return new P_({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var z_=g("ZodPipe",(t,e)=>{Fl.init(t,e),re.init(t,e),t.in=e.in,t.out=e.out});function ei(t,e){return new z_({type:"pipe",in:t,out:e})}var I_=g("ZodReadonly",(t,e)=>{Hl.init(t,e),re.init(t,e)});function R_(t){return new I_({type:"readonly",innerType:t})}var Yd=g("ZodCustom",(t,e)=>{Vl.init(t,e),re.init(t,e)});function M_(t){let e=new he({check:"custom"});return e._zod.check=t,e}function Bd(t,e){return xd(Yd,t??(()=>!0),e)}function A_(t,e={}){return Pd(Yd,t,e)}function C_(t){let e=M_(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(U.issue(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(U.issue(o))}},t(r.value,r)));return e}function ri(t,e){return ei(Wd(t),e)}Re(Wl());var oi="2025-11-25";var Jd=[oi,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],wt="io.modelcontextprotocol/related-task",to="2.0",ie=Bd(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Xd=B([h(),F().int()]),Qd=h(),sP=we({ttl:F().optional(),pollInterval:F().optional()}),O_=$({ttl:F().optional()}),N_=$({taskId:h()}),si=we({progressToken:Xd.optional(),[wt]:N_.optional()}),Ie=$({_meta:si.optional()}),qr=Ie.extend({task:O_.optional()}),ep=t=>qr.safeParse(t).success,ue=$({method:h(),params:Ie.loose().optional()}),Me=$({_meta:si.optional()}),Ae=$({method:h(),params:Me.loose().optional()}),le=we({_meta:si.optional()}),ro=B([h(),F().int()]),tp=$({jsonrpc:x(to),id:ro,...ue.shape}).strict(),ii=t=>tp.safeParse(t).success,rp=$({jsonrpc:x(to),...Ae.shape}).strict(),np=t=>rp.safeParse(t).success,ai=$({jsonrpc:x(to),id:ro,result:le}).strict(),Zr=t=>ai.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 ci=$({jsonrpc:x(to),id:ro.optional(),error:$({code:F().int(),message:h(),data:ee().optional()})}).strict();var op=t=>ci.safeParse(t).success;var sp=B([tp,rp,ai,ci]),iP=B([ai,ci]),no=le.strict(),D_=Me.extend({requestId:ro.optional(),reason:h().optional()}),oo=Ae.extend({method:x("notifications/cancelled"),params:D_}),j_=$({src:h(),mimeType:h().optional(),sizes:D(h()).optional(),theme:ke(["light","dark"]).optional()}),Ur=$({icons:D(j_).optional()}),Jt=$({name:h(),title:h().optional()}),ip=Jt.extend({...Jt.shape,...Ur.shape,version:h(),websiteUrl:h().optional(),description:h().optional()}),L_=Qn($({applyDefaults:ce().optional()}),K(h(),ee())),q_=ri(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Qn($({form:L_.optional(),url:ie.optional()}),K(h(),ee()).optional())),Z_=we({list:ie.optional(),cancel:ie.optional(),requests:we({sampling:we({createMessage:ie.optional()}).optional(),elicitation:we({create:ie.optional()}).optional()}).optional()}),U_=we({list:ie.optional(),cancel:ie.optional(),requests:we({tools:we({call:ie.optional()}).optional()}).optional()}),F_=$({experimental:K(h(),ie).optional(),sampling:$({context:ie.optional(),tools:ie.optional()}).optional(),elicitation:q_.optional(),roots:$({listChanged:ce().optional()}).optional(),tasks:Z_.optional(),extensions:K(h(),ie).optional()}),H_=Ie.extend({protocolVersion:h(),capabilities:F_,clientInfo:ip}),ui=ue.extend({method:x("initialize"),params:H_});var V_=$({experimental:K(h(),ie).optional(),logging:ie.optional(),completions:ie.optional(),prompts:$({listChanged:ce().optional()}).optional(),resources:$({subscribe:ce().optional(),listChanged:ce().optional()}).optional(),tools:$({listChanged:ce().optional()}).optional(),tasks:U_.optional(),extensions:K(h(),ie).optional()}),W_=le.extend({protocolVersion:h(),capabilities:V_,serverInfo:ip,instructions:h().optional()}),li=Ae.extend({method:x("notifications/initialized"),params:Me.optional()});var so=ue.extend({method:x("ping"),params:Ie.optional()}),G_=$({progress:F(),total:te(F()),message:te(h())}),K_=$({...Me.shape,...G_.shape,progressToken:Xd}),io=Ae.extend({method:x("notifications/progress"),params:K_}),Y_=Ie.extend({cursor:Qd.optional()}),Fr=ue.extend({params:Y_.optional()}),Hr=le.extend({nextCursor:Qd.optional()}),B_=ke(["working","input_required","completed","failed","cancelled"]),Vr=$({taskId:h(),status:B_,ttl:B([F(),Fd()]),createdAt:h(),lastUpdatedAt:h(),pollInterval:te(F()),statusMessage:te(h())}),Xt=le.extend({task:Vr}),J_=Me.merge(Vr),Wr=Ae.extend({method:x("notifications/tasks/status"),params:J_}),ao=ue.extend({method:x("tasks/get"),params:Ie.extend({taskId:h()})}),co=le.merge(Vr),uo=ue.extend({method:x("tasks/result"),params:Ie.extend({taskId:h()})}),aP=le.loose(),lo=Fr.extend({method:x("tasks/list")}),po=Hr.extend({tasks:D(Vr)}),fo=ue.extend({method:x("tasks/cancel"),params:Ie.extend({taskId:h()})}),ap=le.merge(Vr),cp=$({uri:h(),mimeType:te(h()),_meta:K(h(),ee()).optional()}),up=cp.extend({text:h()}),di=h().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),lp=cp.extend({blob:di}),Gr=ke(["user","assistant"]),Qt=$({audience:D(Gr).optional(),priority:F().min(0).max(1).optional(),lastModified:jr.datetime({offset:!0}).optional()}),dp=$({...Jt.shape,...Ur.shape,uri:h(),description:te(h()),mimeType:te(h()),size:te(F()),annotations:Qt.optional(),_meta:te(we({}))}),X_=$({...Jt.shape,...Ur.shape,uriTemplate:h(),description:te(h()),mimeType:te(h()),annotations:Qt.optional(),_meta:te(we({}))}),Q_=Fr.extend({method:x("resources/list")}),ey=Hr.extend({resources:D(dp)}),ty=Fr.extend({method:x("resources/templates/list")}),ry=Hr.extend({resourceTemplates:D(X_)}),pi=Ie.extend({uri:h()}),ny=pi,oy=ue.extend({method:x("resources/read"),params:ny}),sy=le.extend({contents:D(B([up,lp]))}),iy=Ae.extend({method:x("notifications/resources/list_changed"),params:Me.optional()}),ay=pi,cy=ue.extend({method:x("resources/subscribe"),params:ay}),uy=pi,ly=ue.extend({method:x("resources/unsubscribe"),params:uy}),dy=Me.extend({uri:h()}),py=Ae.extend({method:x("notifications/resources/updated"),params:dy}),fy=$({name:h(),description:te(h()),required:te(ce())}),my=$({...Jt.shape,...Ur.shape,description:te(h()),arguments:te(D(fy)),_meta:te(we({}))}),hy=Fr.extend({method:x("prompts/list")}),gy=Hr.extend({prompts:D(my)}),_y=Ie.extend({name:h(),arguments:K(h(),h()).optional()}),yy=ue.extend({method:x("prompts/get"),params:_y}),fi=$({type:x("text"),text:h(),annotations:Qt.optional(),_meta:K(h(),ee()).optional()}),mi=$({type:x("image"),data:di,mimeType:h(),annotations:Qt.optional(),_meta:K(h(),ee()).optional()}),hi=$({type:x("audio"),data:di,mimeType:h(),annotations:Qt.optional(),_meta:K(h(),ee()).optional()}),Sy=$({type:x("tool_use"),name:h(),id:h(),input:K(h(),ee()),_meta:K(h(),ee()).optional()}),vy=$({type:x("resource"),resource:B([up,lp]),annotations:Qt.optional(),_meta:K(h(),ee()).optional()}),wy=dp.extend({type:x("resource_link")}),gi=B([fi,mi,hi,wy,vy]),by=$({role:Gr,content:gi}),Ey=le.extend({description:h().optional(),messages:D(by)}),$y=Ae.extend({method:x("notifications/prompts/list_changed"),params:Me.optional()}),ky=$({title:h().optional(),readOnlyHint:ce().optional(),destructiveHint:ce().optional(),idempotentHint:ce().optional(),openWorldHint:ce().optional()}),xy=$({taskSupport:ke(["required","optional","forbidden"]).optional()}),pp=$({...Jt.shape,...Ur.shape,description:h().optional(),inputSchema:$({type:x("object"),properties:K(h(),ie).optional(),required:D(h()).optional()}).catchall(ee()),outputSchema:$({type:x("object"),properties:K(h(),ie).optional(),required:D(h()).optional()}).catchall(ee()).optional(),annotations:ky.optional(),execution:xy.optional(),_meta:K(h(),ee()).optional()}),_i=Fr.extend({method:x("tools/list")}),Py=Hr.extend({tools:D(pp)}),mo=le.extend({content:D(gi).default([]),structuredContent:K(h(),ee()).optional(),isError:ce().optional()}),cP=mo.or(le.extend({toolResult:ee()})),Ty=qr.extend({name:h(),arguments:K(h(),ee()).optional()}),Kr=ue.extend({method:x("tools/call"),params:Ty}),zy=Ae.extend({method:x("notifications/tools/list_changed"),params:Me.optional()}),uP=$({autoRefresh:ce().default(!0),debounceMs:F().int().nonnegative().default(300)}),Yr=ke(["debug","info","notice","warning","error","critical","alert","emergency"]),Iy=Ie.extend({level:Yr}),yi=ue.extend({method:x("logging/setLevel"),params:Iy}),Ry=Me.extend({level:Yr,logger:h().optional(),data:ee()}),My=Ae.extend({method:x("notifications/message"),params:Ry}),Ay=$({name:h().optional()}),Cy=$({hints:D(Ay).optional(),costPriority:F().min(0).max(1).optional(),speedPriority:F().min(0).max(1).optional(),intelligencePriority:F().min(0).max(1).optional()}),Oy=$({mode:ke(["auto","required","none"]).optional()}),Ny=$({type:x("tool_result"),toolUseId:h().describe("The unique identifier for the corresponding tool call."),content:D(gi).default([]),structuredContent:$({}).loose().optional(),isError:ce().optional(),_meta:K(h(),ee()).optional()}),Dy=ti("type",[fi,mi,hi]),eo=ti("type",[fi,mi,hi,Sy,Ny]),jy=$({role:Gr,content:B([eo,D(eo)]),_meta:K(h(),ee()).optional()}),Ly=qr.extend({messages:D(jy),modelPreferences:Cy.optional(),systemPrompt:h().optional(),includeContext:ke(["none","thisServer","allServers"]).optional(),temperature:F().optional(),maxTokens:F().int(),stopSequences:D(h()).optional(),metadata:ie.optional(),tools:D(pp).optional(),toolChoice:Oy.optional()}),qy=ue.extend({method:x("sampling/createMessage"),params:Ly}),Br=le.extend({model:h(),stopReason:te(ke(["endTurn","stopSequence","maxTokens"]).or(h())),role:Gr,content:Dy}),Si=le.extend({model:h(),stopReason:te(ke(["endTurn","stopSequence","maxTokens","toolUse"]).or(h())),role:Gr,content:B([eo,D(eo)])}),Zy=$({type:x("boolean"),title:h().optional(),description:h().optional(),default:ce().optional()}),Uy=$({type:x("string"),title:h().optional(),description:h().optional(),minLength:F().optional(),maxLength:F().optional(),format:ke(["email","uri","date","date-time"]).optional(),default:h().optional()}),Fy=$({type:ke(["number","integer"]),title:h().optional(),description:h().optional(),minimum:F().optional(),maximum:F().optional(),default:F().optional()}),Hy=$({type:x("string"),title:h().optional(),description:h().optional(),enum:D(h()),default:h().optional()}),Vy=$({type:x("string"),title:h().optional(),description:h().optional(),oneOf:D($({const:h(),title:h()})),default:h().optional()}),Wy=$({type:x("string"),title:h().optional(),description:h().optional(),enum:D(h()),enumNames:D(h()).optional(),default:h().optional()}),Gy=B([Hy,Vy]),Ky=$({type:x("array"),title:h().optional(),description:h().optional(),minItems:F().optional(),maxItems:F().optional(),items:$({type:x("string"),enum:D(h())}),default:D(h()).optional()}),Yy=$({type:x("array"),title:h().optional(),description:h().optional(),minItems:F().optional(),maxItems:F().optional(),items:$({anyOf:D($({const:h(),title:h()}))}),default:D(h()).optional()}),By=B([Ky,Yy]),Jy=B([Wy,Gy,By]),Xy=B([Jy,Zy,Uy,Fy]),Qy=qr.extend({mode:x("form").optional(),message:h(),requestedSchema:$({type:x("object"),properties:K(h(),Xy),required:D(h()).optional()})}),eS=qr.extend({mode:x("url"),message:h(),elicitationId:h(),url:h().url()}),tS=B([Qy,eS]),rS=ue.extend({method:x("elicitation/create"),params:tS}),nS=Me.extend({elicitationId:h()}),oS=Ae.extend({method:x("notifications/elicitation/complete"),params:nS}),er=le.extend({action:ke(["accept","decline","cancel"]),content:ri(t=>t===null?void 0:t,K(h(),B([h(),F(),ce(),D(h())])).optional())}),sS=$({type:x("ref/resource"),uri:h()});var iS=$({type:x("ref/prompt"),name:h()}),aS=Ie.extend({ref:B([iS,sS]),argument:$({name:h(),value:h()}),context:$({arguments:K(h(),h()).optional()}).optional()}),cS=ue.extend({method:x("completion/complete"),params:aS});var uS=le.extend({completion:we({values:D(h()).max(100),total:te(F().int()),hasMore:te(ce())})}),lS=$({uri:h().startsWith("file://"),name:h().optional(),_meta:K(h(),ee()).optional()}),dS=ue.extend({method:x("roots/list"),params:Ie.optional()}),vi=le.extend({roots:D(lS)}),pS=Ae.extend({method:x("notifications/roots/list_changed"),params:Me.optional()}),lP=B([so,ui,cS,yi,yy,hy,Q_,ty,oy,cy,ly,Kr,_i,ao,uo,lo,fo]),dP=B([oo,io,li,pS,Wr]),pP=B([no,Br,Si,er,vi,co,po,Xt]),fP=B([so,qy,rS,dS,ao,uo,lo,fo]),mP=B([oo,io,My,py,iy,zy,$y,Wr,oS]),hP=B([no,W_,uS,Ey,gy,ey,ry,sy,mo,Py,co,po,Xt]),R=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 ni(o.elicitations,r)}return new t(e,r,n)}},ni=class extends R{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function bt(t){return t==="completed"||t==="failed"||t==="cancelled"}var KP=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function wi(t){let r=Jn(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Td(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function bi(t,e){let r=vt(t,e);if(!r.success)throw r.error;return r.data}var yS=6e4,ho=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(oo,r=>{this._oncancel(r)}),this.setNotificationHandler(io,r=>{this._onprogress(r)}),this.setRequestHandler(so,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(ao,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new R(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 R(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 R(N.InvalidParams,`Task not found: ${s}`);if(!bt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(bt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[wt]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(lo,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 R(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 R(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(bt(o.status))throw new R(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 R(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof R?o:new R(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),R.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),Zr(s)||op(s)?this._onresponse(s):ii(s)?this._onrequest(s,i):np(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=R.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?.[wt]?.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=ep(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 R(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),Zr(e))n(e);else{let i=new R(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(Zr(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),Zr(e))o(e);else{let i=R.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 R?i:new R(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,Xt,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new R(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},bt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new R(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new R(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 R?i:new R(N.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=v=>{l(v)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(v){d(v);return}n?.signal?.throwIfAborted();let 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||{},[wt]:c}});let m=v=>{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(v)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(k=>this._onerror(new Error(`Failed to send cancellation: ${k}`)));let S=v instanceof R?v:new R(N.RequestTimeout,String(v));l(S)};this._responseHandlers.set(p,v=>{if(!n?.signal?.aborted){if(v instanceof Error)return l(v);try{let S=vt(r,v.result);S.success?u(S.data):l(S.error)}catch(S){l(S)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let _=n?.timeout??yS,w=()=>m(R.fromError(N.RequestTimeout,"Request timed out",{timeout:_}));this._setupTimeout(p,_,n?.maxTotalTimeout,w,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let v=S=>{let k=this._responseHandlers.get(p);k?k(S):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,v),this._enqueueTaskMessage(b,{type:"request",message:f,timestamp:Date.now()}).catch(S=>{this._cleanupTimeout(p),l(S)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(v=>{this._cleanupTimeout(p),l(v)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},co,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},po,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},ap,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||{},[wt]: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||{},[wt]: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||{},[wt]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=wi(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=bi(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=wi(e);this._notificationHandlers.set(n,o=>{let s=bi(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"&&ii(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new R(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 R(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new R(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 R(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=Wr.parse({method:"notifications/tasks/status",params:a});await this.notification(c),bt(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 R(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(bt(a.status))throw new R(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=Wr.parse({method:"notifications/tasks/status",params:c});await this.notification(u),bt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function fp(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function mp(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];fp(i)&&fp(s)?r[o]={...i,...s}:r[o]=s}return r}var th=Ge(ac(),1),rh=Ge(eh(),1);function u$(){let t=new th.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,rh.default)(t),t}var Jo=class{constructor(e){this._ajv=e??u$()}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 Xo=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},Br,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},er,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 nh(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 oh(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 Qo=class extends ho{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Yr.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 Jo,this.setRequestHandler(ui,n=>this._oninitialize(n)),this.setNotificationHandler(li,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(yi,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Yr.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Xo(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=mp(this._capabilities,e)}setRequestHandler(e,r){let o=Jn(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Bt(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=vt(Kr,c);if(!l.success){let m=l.error instanceof Error?l.error.message:String(l.error);throw new R(N.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let m=vt(Xt,p);if(!m.success){let _=m.error instanceof Error?m.error.message:String(m.error);throw new R(N.InvalidParams,`Invalid task creation result: ${_}`)}return m.data}let f=vt(mo,p);if(!f.success){let m=f.error instanceof Error?f.error.message:String(f.error);throw new R(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){oh(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&nh(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:Jd.includes(r)?r:oi,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"},no)}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},Si,r):this.request({method:"sampling/createMessage",params:e},Br,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},er,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},er,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new R(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof R?i:new R(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},vi,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 hc=Ge(require("node:process"),1);var es=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),l$(r)}clear(){this._buffer=void 0}};function l$(t){return sp.parse(JSON.parse(t))}function sh(t){return JSON.stringify(t)+`
`}var ts=class{constructor(e=hc.default.stdin,r=hc.default.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new es,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=sh(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};var Pc=Ge(require("path"),1);var je={DEFAULT:3e5,HEALTH_CHECK:3e3,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 ih(t){return process.platform==="win32"?Math.round(t*je.WINDOWS_MULTIPLIER):t}var rt=require("fs"),Tn=require("path"),gc=require("os"),ft=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-6",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_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_CLAUDE_AUTH_METHOD:"cli",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_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,Tn.join)((0,gc.homedir)(),".claude-mem"),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_FOLDER_CLAUDEMD_ENABLED:"false",CLAUDE_MEM_FOLDER_USE_LOCAL_MD:"false",CLAUDE_MEM_TRANSCRIPTS_ENABLED:"true",CLAUDE_MEM_TRANSCRIPTS_CONFIG_PATH:(0,Tn.join)((0,gc.homedir)(),".claude-mem","transcript-watch.json"),CLAUDE_MEM_MAX_CONCURRENT_AGENTS:"2",CLAUDE_MEM_EXCLUDED_PROJECTS:"",CLAUDE_MEM_FOLDER_MD_EXCLUDE:"[]",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_CHROMA_ENABLED:"true",CLAUDE_MEM_CHROMA_MODE:"local",CLAUDE_MEM_CHROMA_HOST:"127.0.0.1",CLAUDE_MEM_CHROMA_PORT:"8000",CLAUDE_MEM_CHROMA_SSL:"false",CLAUDE_MEM_CHROMA_API_KEY:"",CLAUDE_MEM_CHROMA_TENANT:"default_tenant",CLAUDE_MEM_CHROMA_DATABASE:"default_database"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return process.env[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))process.env[n]!==void 0&&(r[n]=process.env[n]);return r}static loadFromFile(e){try{if(!(0,rt.existsSync)(e)){let i=this.getAllDefaults();try{let a=(0,Tn.dirname)(e);(0,rt.existsSync)(a)||(0,rt.mkdirSync)(a,{recursive:!0}),(0,rt.writeFileSync)(e,JSON.stringify(i,null,2),"utf-8"),console.log("[SETTINGS] Created settings file with defaults:",e)}catch(a){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",e,a instanceof Error?a.message:String(a))}return this.applyEnvOverrides(i)}let r=(0,rt.readFileSync)(e,"utf-8"),n=JSON.parse(r),o=n;if(n.env&&typeof n.env=="object"){o=n.env;try{(0,rt.writeFileSync)(e,JSON.stringify(o,null,2),"utf-8"),console.log("[SETTINGS] Migrated settings file from nested to flat schema:",e)}catch(i){console.warn("[SETTINGS] Failed to auto-migrate settings file:",e,i instanceof Error?i.message:String(i))}}let s={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))o[i]!==void 0&&(s[i]=o[i]);return this.applyEnvOverrides(s)}catch(r){return console.warn("[SETTINGS] Failed to load settings, using defaults:",e,r instanceof Error?r.message:String(r)),this.applyEnvOverrides(this.getAllDefaults())}}};var oe=require("path"),_c=require("os"),yc=require("fs");var ah=require("url");var m$={};function d$(){return typeof __dirname<"u"?__dirname:(0,oe.dirname)((0,ah.fileURLToPath)(m$.url))}var PM=d$();function p$(){if(process.env.CLAUDE_MEM_DATA_DIR)return process.env.CLAUDE_MEM_DATA_DIR;let t=(0,oe.join)((0,_c.homedir)(),".claude-mem"),e=(0,oe.join)(t,"settings.json");try{if((0,yc.existsSync)(e)){let{readFileSync:r}=require("fs"),n=JSON.parse(r(e,"utf-8")),o=n.env??n;if(o.CLAUDE_MEM_DATA_DIR)return o.CLAUDE_MEM_DATA_DIR}}catch{}return t}var mt=p$(),rs=process.env.CLAUDE_CONFIG_DIR||(0,oe.join)((0,_c.homedir)(),".claude"),ch=(0,oe.join)(rs,"plugins","marketplaces","thedotmack"),TM=(0,oe.join)(mt,"archives"),zM=(0,oe.join)(mt,"logs"),IM=(0,oe.join)(mt,"trash"),RM=(0,oe.join)(mt,"backups"),MM=(0,oe.join)(mt,"modes"),AM=(0,oe.join)(mt,"settings.json"),CM=(0,oe.join)(mt,"claude-mem.db"),OM=(0,oe.join)(mt,"vector-db"),f$=(0,oe.join)(mt,"observer-sessions"),NM=(0,oe.basename)(f$),DM=(0,oe.join)(rs,"settings.json"),jM=(0,oe.join)(rs,"commands"),LM=(0,oe.join)(rs,"CLAUDE.md");var Ht=require("fs"),wh=require("os"),xc=Ge(require("path"),1);var bc=require("child_process"),ot=require("fs"),uh=require("os"),zn=Ge(require("path"),1);var h$=["CLAUDECODE_","CLAUDE_CODE_"],g$=new Set(["CLAUDECODE","CLAUDE_CODE_SESSION","CLAUDE_CODE_ENTRYPOINT","MCP_SESSION_ID"]),_$=new Set(["CLAUDE_CODE_OAUTH_TOKEN","CLAUDE_CODE_GIT_BASH_PATH"]);function Sc(t=process.env){let e={};for(let[r,n]of Object.entries(t))if(n!==void 0){if(_$.has(r)){e[r]=n;continue}g$.has(r)||h$.some(o=>r.startsWith(o))||(e[r]=n)}return e}var y$=5e3,S$=1e3,v$=zn.default.join((0,uh.homedir)(),".claude-mem"),w$=zn.default.join(v$,"supervisor.json");function nt(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}}function lh(t){if(!Number.isInteger(t)||t<=0)return null;if(process.platform==="linux")try{let e=(0,ot.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 null;try{let e=(0,bc.spawnSync)("ps",["-p",String(t),"-o","lstart="],{encoding:"utf-8",timeout:2e3,env:{...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 Ec(t){if(!t||!nt(t.pid))return!1;if(!t.startToken)return!0;let e=lh(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 wc=class{registryPath;entries=new Map;runtimeProcesses=new Map;initialized=!1;constructor(e=w$){this.registryPath=e}initialize(){if(this.initialized)return;if(this.initialized=!0,(0,ot.mkdirSync)(zn.default.dirname(this.registryPath),{recursive:!0}),!(0,ot.existsSync)(this.registryPath)){this.persist();return}try{let n=JSON.parse((0,ot.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(),this.entries.delete(e),this.runtimeProcesses.delete(e),this.persist()}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;for(let[r,n]of this.entries)nt(n.pid)||(this.entries.delete(r),this.runtimeProcesses.delete(r),e+=1);return e>0&&this.persist(),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(a=>a.pid)});let o=r.filter(a=>nt(a.pid));for(let a of o)try{typeof a.pgid=="number"&&process.platform!=="win32"?process.kill(-a.pgid,"SIGTERM"):process.kill(a.pid,"SIGTERM")}catch(c){c instanceof Error?c.code!=="ESRCH"&&y.debug("SYSTEM",`Failed to SIGTERM session process PID ${a.pid}`,{pid:a.pid,pgid:a.pgid},c):y.warn("SYSTEM",`Failed to SIGTERM session process PID ${a.pid} (non-Error)`,{pid:a.pid,pgid:a.pgid,error:String(c)})}let s=Date.now()+y$;for(;Date.now()<s&&o.filter(c=>nt(c.pid)).length!==0;)await new Promise(c=>setTimeout(c,100));let i=o.filter(a=>nt(a.pid));for(let a of i){y.warn("SYSTEM",`Session process PID ${a.pid} did not exit after SIGTERM, sending SIGKILL`,{pid:a.pid,pgid:a.pgid,sessionId:n});try{typeof a.pgid=="number"&&process.platform!=="win32"?process.kill(-a.pgid,"SIGKILL"):process.kill(a.pid,"SIGKILL")}catch(c){c instanceof Error?c.code!=="ESRCH"&&y.debug("SYSTEM",`Failed to SIGKILL session process PID ${a.pid}`,{pid:a.pid,pgid:a.pgid},c):y.warn("SYSTEM",`Failed to SIGKILL session process PID ${a.pid} (non-Error)`,{pid:a.pid,pgid:a.pgid,error:String(c)})}}if(i.length>0){let a=Date.now()+S$;for(;Date.now()<a&&i.filter(u=>nt(u.pid)).length!==0;)await new Promise(u=>setTimeout(u,100))}for(let a of r)this.entries.delete(a.id),this.runtimeProcesses.delete(a.id);return this.persist(),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,ot.mkdirSync)(zn.default.dirname(this.registryPath),{recursive:!0}),(0,ot.writeFileSync)(this.registryPath,JSON.stringify(e,null,2))}},vc=null;function ns(){return vc||(vc=new wc),vc}var fh=require("child_process"),mh=require("fs"),hh=require("os"),$c=Ge(require("path"),1),gh=require("util");var b$=(0,gh.promisify)(fh.execFile),E$=$c.default.join((0,hh.homedir)(),".claude-mem"),$$=$c.default.join(E$,"worker.pid");async function _h(t){let e=t.currentPid??process.pid,r=t.pidFilePath??$$,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(!nt(i.pid)){t.registry.unregister(i.id);continue}try{await ph(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 dh(o,5e3);let s=o.filter(i=>nt(i.pid));for(let i of s)try{await ph(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 dh(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);try{(0,mh.rmSync)(r,{force:!0})}catch(i){i instanceof Error?y.debug("SYSTEM","Failed to remove PID file during shutdown",{pidFilePath:r},i):y.warn("SYSTEM","Failed to remove PID file during shutdown (non-Error)",{pidFilePath:r,error:String(i)})}t.registry.pruneDeadEntries()}async function dh(t,e){let r=Date.now()+e;for(;Date.now()<r;){if(t.filter(o=>nt(o.pid)).length===0)return;await new Promise(o=>setTimeout(o,100))}}async function ph(t,e){let{pid:r,pgid:n}=t;if(process.platform!=="win32"){try{typeof n=="number"?process.kill(-n,e):process.kill(r,e)}catch(i){if(i instanceof Error&&i.code==="ESRCH")return;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 k$();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 b$("taskkill",s,{timeout:je.POWERSHELL_COMMAND,windowsHide:!0})}async function k$(){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 yh=3e4,yr=null;function x$(){let e=ns().pruneDeadEntries();e>0&&y.info("SYSTEM",`Health check: pruned ${e} dead process(es) from registry`)}function Sh(){yr===null&&(yr=setInterval(x$,yh),yr.unref(),y.debug("SYSTEM","Health checker started",{intervalMs:yh}))}function vh(){yr!==null&&(clearInterval(yr),yr=null,y.debug("SYSTEM","Health checker stopped"))}var P$=xc.default.join((0,wh.homedir)(),".claude-mem"),T$=xc.default.join(P$,"worker.pid"),kc=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(),os({logAlive:!1})==="alive")throw new Error("Worker already running");this.started=!0,Sh()}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}vh(),this.stopPromise=_h({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}},z$=new kc(ns());function bh(){return z$}function os(t={}){let e=t.pidFilePath??T$;if(!(0,Ht.existsSync)(e))return"missing";let r=null;try{r=JSON.parse((0,Ht.readFileSync)(e,"utf-8"))}catch(n){return n instanceof Error?y.warn("SYSTEM","Failed to parse worker PID file, removing it",{path:e},n):y.warn("SYSTEM","Failed to parse worker PID file, removing it",{path:e,error:String(n)}),(0,Ht.rmSync)(e,{force:!0}),"invalid"}return Ec(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,Ht.rmSync)(e,{force:!0}),"stale")}var I$=(()=>{let t=process.env.CLAUDE_MEM_HEALTH_TIMEOUT_MS;if(t){let e=parseInt(t,10);if(Number.isFinite(e)&&e>=500&&e<=3e5)return e;y.warn("SYSTEM","Invalid CLAUDE_MEM_HEALTH_TIMEOUT_MS, using default",{value:t,min:500,max:3e5})}return ih(je.HEALTH_CHECK)})();function R$(t,e={},r){return new Promise((n,o)=>{let s=setTimeout(()=>o(new Error(`Request timed out after ${r}ms`)),r);fetch(t,e).then(i=>{clearTimeout(s),n(i)},i=>{clearTimeout(s),o(i)})})}var ss=null,is=null;function Tc(){if(ss!==null)return ss;let t=Pc.default.join(ft.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),e=ft.loadFromFile(t);return ss=parseInt(e.CLAUDE_MEM_WORKER_PORT,10),ss}function M$(){if(is!==null)return is;let t=Pc.default.join(ft.get("CLAUDE_MEM_DATA_DIR"),"settings.json");return is=ft.loadFromFile(t).CLAUDE_MEM_WORKER_HOST,is}function A$(t){return`http://${M$()}:${Tc()}${t}`}function as(t,e={}){let r=e.method??"GET",n=e.timeoutMs??I$,o=A$(t),s={method:r};return e.headers&&(s.headers=e.headers),e.body&&(s.body=e.body),n>0?R$(o,s,n):fetch(o,s)}var Mc=Ge(require("path"),1),Le=require("fs");var ht=Ge(require("path"),1),Ic=require("os"),$e=require("fs"),gt=require("child_process"),$h=require("util");var mA=(0,$h.promisify)(gt.exec),C$=ht.default.join((0,Ic.homedir)(),".claude-mem"),Sr=ht.default.join(C$,"worker.pid");function Eh(t){return t?/(^|[\\/])bun(\.exe)?$/i.test(t.trim()):!1}function O$(t,e){let r=e==="win32"?`where ${t}`:`which ${t}`,n;try{n=(0,gt.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 zc;function N$(t={}){let e=Object.keys(t).length===0;if(e&&zc!==void 0)return zc;let r=D$(t);return e&&r!==null&&(zc=r),r}function D$(t){let e=t.platform??process.platform,r=t.execPath??process.execPath;if(Eh(r))return r;let n=t.env??process.env,o=t.homeDirectory??(0,Ic.homedir)(),s=t.pathExists??$e.existsSync,i=t.lookupInPath??O$,a=e==="win32"?[n.BUN,n.BUN_PATH,ht.default.join(o,".bun","bin","bun.exe"),ht.default.join(o,".bun","bin","bun"),n.USERPROFILE?ht.default.join(n.USERPROFILE,".bun","bin","bun.exe"):void 0,n.LOCALAPPDATA?ht.default.join(n.LOCALAPPDATA,"bun","bun.exe"):void 0,n.LOCALAPPDATA?ht.default.join(n.LOCALAPPDATA,"bun","bin","bun.exe"):void 0]:[n.BUN,n.BUN_PATH,ht.default.join(o,".bun","bin","bun"),"/usr/local/bin/bun","/opt/homebrew/bin/bun","/home/linuxbrew/.linuxbrew/bin/bun","/usr/bin/bun","/snap/bin/bun"];for(let c of a){let u=c?.trim();if(u&&(Eh(u)&&s(u)||u.toLowerCase()==="bun"))return u}return i("bun",e)}function kh(){if((0,$e.existsSync)(Sr))try{(0,$e.unlinkSync)(Sr)}catch(t){t instanceof Error?y.warn("SYSTEM","Failed to remove PID file",{path:Sr},t):y.warn("SYSTEM","Failed to remove PID file",{path:Sr},new Error(String(t)))}}function vr(t){return process.platform==="win32"?Math.round(t*2):t}function xh(t,e,r={}){let n=process.platform==="win32";bh().assertCanSpawn("worker daemon");let o=Sc({...process.env,CLAUDE_MEM_WORKER_PORT:String(e),...r}),s=N$();if(!s){y.error("SYSTEM","Bun runtime not found \u2014 install from https://bun.sh and ensure it is on PATH or set BUN env var. The worker daemon requires Bun because it uses bun:sqlite.");return}if(n){let c=`Start-Process -FilePath '${s.replace(/'/g,"''")}' -ArgumentList @('${t.replace(/'/g,"''")}','--daemon') -WindowStyle Hidden`,u=Buffer.from(c,"utf16le").toString("base64");try{return(0,gt.execSync)(`powershell -NoProfile -EncodedCommand ${u}`,{stdio:"ignore",windowsHide:!0,env:o}),0}catch(l){l instanceof Error?y.error("SYSTEM","Failed to spawn worker daemon on Windows",{runtimePath:s},l):y.error("SYSTEM","Failed to spawn worker daemon on Windows",{runtimePath:s},new Error(String(l)));return}}let i="/usr/bin/setsid";if((0,$e.existsSync)(i)){let c=(0,gt.spawn)(i,[s,t,"--daemon"],{detached:!0,stdio:"ignore",env:o});return c.pid===void 0?void 0:(c.unref(),c.pid)}let a=(0,gt.spawn)(s,[t,"--daemon"],{detached:!0,stdio:"ignore",env:o});if(a.pid!==void 0)return a.unref(),a.pid}function Ph(){try{if(!(0,$e.existsSync)(Sr))return;let t=new Date;(0,$e.utimesSync)(Sr,t,t)}catch{}}function Th(){return os({logAlive:!1})}var zh=Ge(require("net"),1);async function j$(t,e,r="GET"){let n=await fetch(`http://127.0.0.1:${t}${e}`,{method:r}),o="";try{o=await n.text()}catch{}return{ok:n.ok,statusCode:n.status,body:o}}async function Ih(t){if(process.platform==="win32")try{return(await fetch(`http://127.0.0.1:${t}/api/health`)).ok}catch(e){return e instanceof Error?y.debug("SYSTEM","Windows health check failed (port not in use)",{},e):y.debug("SYSTEM","Windows health check failed (port not in use)",{error:String(e)}),!1}return new Promise(e=>{let r=zh.default.createServer();r.once("error",n=>{n.code==="EADDRINUSE"?e(!0):e(!1)}),r.once("listening",()=>{r.close(()=>e(!1))}),r.listen(t,"127.0.0.1")})}async function Rh(t,e,r,n){let o=Date.now();for(;Date.now()-o<r;){try{if((await j$(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 In(t,e=3e4){return Rh(t,"/api/health",e,"Service not ready yet, will retry")}function Rc(t,e=3e4){return Rh(t,"/api/readiness",e,"Worker not ready yet, will retry")}var L$=120*1e3;function Ac(){return Mc.default.join(ft.get("CLAUDE_MEM_DATA_DIR"),".worker-start-attempted")}function q$(){if(process.platform!=="win32")return!1;let t=Ac();if(!(0,Le.existsSync)(t))return!1;try{let e=(0,Le.statSync)(t).mtimeMs;return Date.now()-e<L$}catch(e){return e instanceof Error?y.debug("SYSTEM","Could not stat worker spawn lock file",{},e):y.debug("SYSTEM","Could not stat worker spawn lock file",{error:String(e)}),!1}}function Z$(){if(process.platform==="win32")try{let t=Ac();(0,Le.mkdirSync)(Mc.default.dirname(t),{recursive:!0}),(0,Le.writeFileSync)(t,"","utf-8")}catch{}}function cs(){if(process.platform==="win32")try{let t=Ac();(0,Le.existsSync)(t)&&(0,Le.unlinkSync)(t)}catch{}}async function Mh(t,e){return e?(0,Le.existsSync)(e)?Th()==="alive"?(y.info("SYSTEM","Worker PID file points to a live process, skipping duplicate spawn"),await In(t,vr(je.PORT_IN_USE_WAIT))?(cs(),y.info("SYSTEM","Worker became healthy while waiting on live PID"),!0):(y.warn("SYSTEM","Live PID detected but worker did not become healthy before timeout"),!1)):await In(t,1e3)?(cs(),await Rc(t,vr(je.READINESS_WAIT))||y.warn("SYSTEM","Worker is alive but readiness timed out \u2014 proceeding anyway"),y.info("SYSTEM","Worker already running and healthy"),!0):await Ih(t)?(y.info("SYSTEM","Port in use, waiting for worker to become healthy"),await In(t,vr(je.PORT_IN_USE_WAIT))?(cs(),y.info("SYSTEM","Worker is now healthy"),!0):(y.error("SYSTEM","Port in use but worker not responding to health checks"),!1)):q$()?(y.warn("SYSTEM","Worker unavailable on Windows \u2014 skipping spawn (recent attempt failed within cooldown)"),!1):(y.info("SYSTEM","Starting worker daemon",{workerScriptPath:e}),Z$(),xh(e,t)===void 0?(y.error("SYSTEM","Failed to spawn worker daemon"),!1):await In(t,vr(je.POST_SPAWN_WAIT))?(await Rc(t,vr(je.READINESS_WAIT))||y.warn("SYSTEM","Worker is alive but readiness timed out \u2014 proceeding anyway"),cs(),Ph(),y.info("SYSTEM","Worker started successfully"),!0):(kh(),y.error("SYSTEM","Worker failed to start (health check timeout)"),!1)):(y.error("SYSTEM","ensureWorkerStarted: worker script not found at expected path \u2014 likely a partial install or build artifact missing",{workerScriptPath:e}),!1):(y.error("SYSTEM","ensureWorkerStarted called with empty workerScriptPath \u2014 caller bug"),!1)}var Er=require("node:fs/promises"),Cn=require("node:path");var Oh=require("node:child_process"),Se=require("node:fs"),me=require("node:path"),Lc=require("node:os"),Nc=require("node:module");var tk={},Dc=typeof __filename<"u"?(0,Nc.createRequire)(__filename):(0,Nc.createRequire)(tk.url),jc={".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 Nh(t,e){let r=t.slice(t.lastIndexOf("."));return jc[r]?jc[r]:e.extensionToLanguage[r]?e.extensionToLanguage[r]:"unknown"}function Dh(t,e){return e.languageToQueryKey[t]?e.languageToQueryKey[t]:H$(t)}var Rn=new Map,wr={grammars:{},extensionToLanguage:{},languageToQueryKey:{}};function An(t){if(Rn.has(t))return Rn.get(t);let e=(0,me.join)(t,".claude-mem.json"),r;try{let s=(0,Se.readFileSync)(e,"utf-8");r=JSON.parse(s)}catch{return Rn.set(t,wr),wr}let n=r.grammars;if(!n||typeof n!="object"||Array.isArray(n))return Rn.set(t,wr),wr;let o={grammars:{},extensionToLanguage:{},languageToQueryKey:{}};for(let[s,i]of Object.entries(n)){if(jh[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)jc[d]||(o.extensionToLanguage[d]=s);if(typeof l=="string"){let d=(0,me.join)(t,l);try{let p=(0,Se.readFileSync)(d,"utf-8"),f=`user_${s}`;qh[f]=p,o.languageToQueryKey[s]=f}catch{console.error(`[smart-file-read] Custom query file not found: ${d}, falling back to generic`),o.languageToQueryKey[s]="generic"}}else o.languageToQueryKey[s]="generic"}}return Rn.set(t,o),o}var jh={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"},U$={markdown:"tree-sitter-markdown"};function F$(t){let e=jh[t];if(!e)return null;let r=U$[t];if(r){try{let n=Dc.resolve(e+"/package.json"),o=(0,me.join)((0,me.dirname)(n),r);if((0,Se.existsSync)((0,me.join)(o,"src")))return o}catch{}return null}try{let n=Dc.resolve(e+"/package.json");return(0,me.dirname)(n)}catch{return null}}function Lh(t,e){let r=F$(t);if(r)return r;if(!e)return null;let o=An(e).grammars[t];if(!o)return null;try{let s=(0,me.join)(e,"node_modules",o.package,"package.json");if((0,Se.existsSync)(s)){let i=(0,me.dirname)(s);if((0,Se.existsSync)((0,me.join)(i,"src")))return i}}catch{}return console.error(`[smart-file-read] Grammar package not found for "${t}": ${o.package} (install it in your project's node_modules)`),null}var qh={jsts:`
(function_declaration name: (identifier) @name) @func
(lexical_declaration (variable_declarator name: (identifier) @name value: [(arrow_function) (function_expression)])) @const_func
(class_declaration name: (type_identifier) @name) @cls
(method_definition name: (property_identifier) @name) @method
(interface_declaration name: (type_identifier) @name) @iface
(type_alias_declaration name: (type_identifier) @name) @tdef
(enum_declaration name: (identifier) @name) @enm
(import_statement) @imp
(export_statement) @exp
`,python:`
(function_definition name: (identifier) @name) @func
(class_definition name: (identifier) @name) @cls
(import_statement) @imp
(import_from_statement) @imp
`,go:`
(function_declaration name: (identifier) @name) @func
(method_declaration name: (field_identifier) @name) @method
(type_declaration (type_spec name: (type_identifier) @name)) @tdef
(import_declaration) @imp
`,rust:`
(function_item name: (identifier) @name) @func
(struct_item name: (type_identifier) @name) @struct_def
(enum_item name: (type_identifier) @name) @enm
(trait_item name: (type_identifier) @name) @trait_def
(impl_item type: (type_identifier) @name) @impl_def
(use_declaration) @imp
`,ruby:`
(method name: (identifier) @name) @func
(class name: (constant) @name) @cls
(module name: (constant) @name) @cls
(call method: (identifier) @name) @imp
`,java:`
(method_declaration name: (identifier) @name) @method
(class_declaration name: (identifier) @name) @cls
(interface_declaration name: (identifier) @name) @iface
(enum_declaration name: (identifier) @name) @enm
(import_declaration) @imp
`,kotlin:`
(function_declaration (simple_identifier) @name) @func
(class_declaration (type_identifier) @name) @cls
(object_declaration (type_identifier) @name) @cls
(import_header) @imp
`,swift:`
(function_declaration name: (simple_identifier) @name) @func
(class_declaration name: (type_identifier) @name) @cls
(protocol_declaration name: (type_identifier) @name) @iface
(import_declaration) @imp
`,php:`
(function_definition name: (name) @name) @func
(class_declaration name: (name) @name) @cls
(interface_declaration name: (name) @name) @iface
(trait_declaration name: (name) @name) @trait_def
(method_declaration name: (name) @name) @method
(namespace_use_declaration) @imp
`,lua:`
(function_declaration name: (identifier) @name) @func
(function_declaration name: (dot_index_expression) @name) @func
(function_declaration name: (method_index_expression) @name) @func
`,scala:`
(function_definition name: (identifier) @name) @func
(class_definition name: (identifier) @name) @cls
(object_definition name: (identifier) @name) @cls
(trait_definition name: (identifier) @name) @trait_def
(import_declaration) @imp
`,bash:`
(function_definition name: (word) @name) @func
`,haskell:`
(function name: (variable) @name) @func
(type_synomym name: (name) @name) @tdef
(newtype name: (name) @name) @tdef
(data_type name: (name) @name) @tdef
(class name: (name) @name) @cls
(import) @imp
`,zig:`
(function_declaration name: (identifier) @name) @func
(test_declaration) @func
`,css:`
(rule_set (selectors) @name) @func
(media_statement) @cls
(keyframes_statement (keyframes_name) @name) @cls
(import_statement) @imp
`,scss:`
(rule_set (selectors) @name) @func
(media_statement) @cls
(keyframes_statement (keyframes_name) @name) @cls
(import_statement) @imp
(mixin_statement name: (identifier) @name) @mixin_def
(function_statement name: (identifier) @name) @func
(include_statement) @imp
`,toml:`
(table (bare_key) @name) @cls
(table (dotted_key) @name) @cls
(table_array_element (bare_key) @name) @cls
(table_array_element (dotted_key) @name) @cls
`,yaml:`
(block_mapping_pair key: (flow_node) @name) @func
`,sql:`
(create_table (object_reference) @name) @cls
(create_function (object_reference) @name) @func
(create_view (object_reference) @name) @cls
`,markdown:`
(atx_heading heading_content: (inline) @name) @heading
(setext_heading heading_content: (paragraph) @name) @heading
(fenced_code_block (info_string (language) @name)) @code_block
(fenced_code_block) @code_block
(minus_metadata) @frontmatter
(link_reference_definition (link_label) @name) @ref
`,generic:`
(function_declaration name: (identifier) @name) @func
(function_definition name: (identifier) @name) @func
(class_declaration name: (identifier) @name) @cls
(class_definition name: (identifier) @name) @cls
(import_statement) @imp
(import_declaration) @imp
`,php:`
(function_definition name: (name) @name) @func
(method_declaration name: (name) @name) @method
(class_declaration name: (name) @name) @cls
(interface_declaration name: (name) @name) @iface
(trait_declaration name: (name) @name) @trait_def
(namespace_use_declaration) @imp
`};function H$(t){switch(t){case"javascript":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 Cc=null,Oc=new Map;function Zh(t){if(Oc.has(t))return Oc.get(t);Cc||(Cc=(0,Se.mkdtempSync)((0,me.join)((0,Lc.tmpdir)(),"smart-read-queries-")));let e=(0,me.join)(Cc,`${t}.scm`);return(0,Se.writeFileSync)(e,qh[t]),Oc.set(t,e),e}var Mn=null;function V$(){if(Mn)return Mn;try{let t=Dc.resolve("tree-sitter-cli/package.json"),e=(0,me.join)((0,me.dirname)(t),"tree-sitter");if((0,Se.existsSync)(e))return Mn=e,e}catch{}return Mn="tree-sitter",Mn}function W$(t,e,r){return Uh(t,[e],r).get(e)||[]}function Uh(t,e,r){if(e.length===0)return new Map;let n=V$(),o=["query","-p",r,t,...e],s;try{s=(0,Oh.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 G$(s)}function G$(t){let e=new Map,r=null,n=null;for(let o of t.split(`
`)){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 Ah={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"},K$=new Set(["class","struct","impl","trait"]);function Y$(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(`
`),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 B$(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(`
`).trim():void 0}function J$(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 X$(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 Fh(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(S=>Ah[S.tag]),l=c.captures.find(S=>S.tag==="name");if(!u)continue;let d=u.startRow,p=u.endRow,f=Ah[u.tag],m=l?.text||"anonymous",_;if(r==="markdown"&&f==="section"){let k=(e[d]||"").match(/^(#{1,6})\s/),T=k?k[1].length:1;_=`${"#".repeat(T)} ${m}`}else if(r==="markdown"&&f==="code"){let S=m!=="anonymous"?m:"";_=S?"```"+S:"```"}else r==="markdown"&&f==="metadata"?_="---frontmatter---":r==="markdown"&&f==="reference"?_=e[d]?.trim()||m:_=Y$(e,d,p);let w=r==="markdown"?void 0:B$(e,d),b=r==="python"?J$(e,d,p):void 0,v={name:m,kind:f,signature:_,jsdoc:w||b,lineStart:d,lineEnd:p,exported:X$(m,d,p,s,e,r)};K$.has(f)&&(v.children=[],i.push({sym:v,startRow:d,endRow:p})),n.push(v)}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 us(t,e,r){let n=r?An(r):wr,o=Nh(e,n),s=t.split(`
`),i=Lh(o,r);if(!i)return{filePath:e,language:o,symbols:[],imports:[],totalLines:s.length,foldedTokenEstimate:50};let a=Dh(o,n),c=Zh(a),u=e.slice(e.lastIndexOf("."))||".txt",l=(0,Se.mkdtempSync)((0,me.join)((0,Lc.tmpdir)(),"smart-src-")),d=(0,me.join)(l,`source${u}`);(0,Se.writeFileSync)(d,t);try{let p=W$(c,d,i),f=Fh(p,s,o),m=br({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 Hh(t,e){let r=new Map,n=e?An(e):wr,o=new Map;for(let s of t){let i=Nh(s.relativePath,n);o.has(i)||o.set(i,[]),o.get(i).push(s)}for(let[s,i]of o){let a=Lh(s,e);if(!a){for(let p of i){let f=p.content.split(`
`);r.set(p.relativePath,{filePath:p.relativePath,language:s,symbols:[],imports:[],totalLines:f.length,foldedTokenEstimate:50})}continue}let c=Dh(s,n),u=Zh(c),l=i.map(p=>p.absolutePath),d=Uh(u,l,a);for(let p of i){let f=p.content.split(`
`),m=d.get(p.absolutePath)||[],_=Fh(m,f,s),w=br({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(w.length/4)})}}return r}function br(t){if(t.language==="markdown")return Q$(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(Vh(r," "));return e.join(`
`)}function Q$(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=Ch(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=Ch(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(`
`)}function Ch(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 Vh(t,e){let r=[],n=ek(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(`
`).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(Vh(i,e+" "));return r.join(`
`)}function ek(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 Wh(t,e,r){let n=us(t,e),o=u=>{for(let l of u){if(l.name===r)return l;if(l.children){let d=o(l.children);if(d)return d}}return null},s=o(n.symbols);if(!s)return null;let i=t.split(`
`);if(n.language==="markdown"&&s.kind==="section"){let u=s.signature.match(/^(#{1,6})\s/),l=u?u[1].length:1,d=s.lineStart,p=i.length-1;for(let m of n.symbols)if(m.kind==="section"&&m.lineStart>d){let _=m.signature.match(/^(#{1,6})\s/);if((_?_[1].length:1)<=l){for(p=m.lineStart-1;p>d&&i[p].trim()==="";)p--;break}}let f=i.slice(d,p+1).join(`
`);return`<!-- \u{1F4CD} ${e} L${d+1}-${p+1} -->
${f}`}let a=s.lineStart;for(let u=s.lineStart-1;u>=0;u--){let l=i[u].trim();if(l===""||l.startsWith("*")||l.startsWith("/**")||l.startsWith("///")||l.startsWith("//")||l.startsWith("#")||l.startsWith("@")||l==="*/")a=u;else break}let c=i.slice(a,s.lineEnd+1).join(`
`);return`// \u{1F4CD} ${e} L${a+1}-${s.lineEnd+1}
${c}`}var Gh=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"]),rk=new Set(["node_modules",".git","dist","build",".next","__pycache__",".venv","venv","env",".env","target","vendor",".cache",".turbo","coverage",".nyc_output",".claude",".smart-file-read"]),nk=512*1024;async function*Kh(t,e,r=20,n){if(r<=0)return;let o;try{o=await(0,Er.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!=="."||rk.has(s.name))continue;let i=(0,Cn.join)(t,s.name);if(s.isDirectory())yield*Kh(i,e,r-1,n);else if(s.isFile()){let a=s.name.slice(s.name.lastIndexOf("."));(Gh.has(a)||n&&n.has(a))&&(yield i)}}}async function ok(t){try{let e=await(0,Er.stat)(t);if(e.size>nk||e.size===0)return null;let r=await(0,Er.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 Yh(t,e,r={}){let n=r.maxResults||20,o=e.toLowerCase(),s=o.split(/[\s_\-./]+/).filter(v=>v.length>0),i=r.projectRoot||t,a=An(i),c=new Set;for(let v of Object.values(a.grammars))for(let S of v.extensions)Gh.has(S)||c.add(S);let u=[];for await(let v of Kh(t,t,20,c.size>0?c:void 0)){if(r.filePattern&&!(0,Cn.relative)(t,v).toLowerCase().includes(r.filePattern.toLowerCase()))continue;let S=await ok(v);S&&u.push({absolutePath:v,relativePath:(0,Cn.relative)(t,v),content:S})}let l=Hh(u,i),d=[],p=[],f=0;for(let[v,S]of l){f+=sk(S);let T=ls(v.toLowerCase(),s)>0,ae=[],ve=(_t,Wt)=>{for(let se of _t){let yt=0,qe="",kr=ls(se.name.toLowerCase(),s);kr>0&&(yt+=kr*3,qe="name match"),se.signature.toLowerCase().includes(o)&&(yt+=2,qe=qe?`${qe} + signature`:"signature match"),se.jsdoc&&se.jsdoc.toLowerCase().includes(o)&&(yt+=1,qe=qe?`${qe} + jsdoc`:"jsdoc match"),yt>0&&(T=!0,ae.push({filePath:v,symbolName:Wt?`${Wt}.${se.name}`:se.name,kind:se.kind,signature:se.signature,jsdoc:se.jsdoc,lineStart:se.lineStart,lineEnd:se.lineEnd,matchReason:qe})),se.children&&ve(se.children,se.name)}};ve(S.symbols),T&&(d.push(S),p.push(...ae))}p.sort((v,S)=>{let k=ls(v.symbolName.toLowerCase(),s);return ls(S.symbolName.toLowerCase(),s)-k});let m=p.slice(0,n),_=new Set(m.map(v=>v.filePath)),w=d.filter(v=>_.has(v.filePath)).slice(0,n),b=w.reduce((v,S)=>v+S.foldedTokenEstimate,0);return{foldedFiles:w,matchingSymbols:m,totalFilesScanned:u.length,totalSymbolsFound:f,tokenEstimate:b}}function ls(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 sk(t){let e=t.symbols.length;for(let r of t.symbols)r.children&&(e+=r.children.length);return e}function Bh(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(`
`);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(`
`).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(br(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(`
`)}var Zc=require("node:fs/promises"),Qh=require("node:fs"),Vt=require("node:path"),eg=require("node:url"),gk={},ik="12.3.8";console.log=(...t)=>{y.error("CONSOLE","Intercepted console output (MCP protocol protection)",void 0,{args:t})};var tg=!1,rg=(()=>{if(typeof __dirname<"u")return __dirname;try{return(0,Vt.dirname)((0,eg.fileURLToPath)(gk.url))}catch{return tg=!0,process.cwd()}})(),Uc=(0,Vt.resolve)(rg,"worker-service.cjs");function ak(){tg&&((0,Qh.existsSync)(Uc)||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:Uc,mcpServerDir:rg}))}var Jh={search:"/api/search",timeline:"/api/timeline"};async function qc(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 as(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 ck(t,e){let r=await as(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 $r(t,e){y.debug("HTTP","Worker API request (POST)",void 0,{endpoint:t});try{return await ck(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 uk(){try{return(await as("/api/health")).ok}catch(t){return y.debug("SYSTEM","Worker health check failed",{},t instanceof Error?t:new Error(String(t))),!1}}async function lk(){if(await uk())return!0;y.warn("SYSTEM","Worker not available, attempting auto-start for MCP client"),ak();try{let t=Tc(),e=await Mh(t,Uc);return e||y.error("SYSTEM","Worker auto-start returned false \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}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 ng=[{name:"__IMPORTANT",description:`3-LAYER WORKFLOW (ALWAYS FOLLOW):
1. search(query) \u2192 Get index with IDs (~50-100 tokens/result)
2. timeline(anchor=ID) \u2192 Get context around interesting results
3. get_observations([IDs]) \u2192 Fetch full details ONLY for filtered IDs
NEVER fetch full details without filtering first. 10x token savings.`,inputSchema:{type:"object",properties:{}},handler:async()=>({content:[{type:"text",text:`# Memory Search Workflow
**3-Layer Pattern (ALWAYS follow this):**
1. **Search** - Get index of results with IDs
\`search(query="...", limit=20, project="...")\`
Returns: Table with IDs, titles, dates (~50-100 tokens/result)
2. **Timeline** - Get context around interesting results
\`timeline(anchor=<ID>, depth_before=3, depth_after=3)\`
Returns: Chronological context showing what was happening
3. **Fetch** - Get full details ONLY for relevant IDs
\`get_observations(ids=[...])\` # ALWAYS batch for 2+ items
Returns: Complete details (~500-1000 tokens/result)
**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, 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"},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=Jh.search;return await qc(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=Jh.timeline;return await qc(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 $r("/api/observations/batch",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,Vt.resolve)(t.path||process.cwd()),r=await Yh(e,t.query,{maxResults:t.max_results||20,filePattern:t.file_pattern});return{content:[{type:"text",text:Bh(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,Vt.resolve)(t.file_path),r=await(0,Zc.readFile)(e,"utf-8"),n=Wh(r,e,t.symbol_name);if(n)return{content:[{type:"text",text:n}]};let o=us(r,e);if(o.symbols.length>0){let s=o.symbols.map(i=>` - ${i.name} (${i.kind})`).join(`
`);return{content:[{type:"text",text:`Symbol "${t.symbol_name}" not found in ${t.file_path}.
Available symbols:
${s}`}]}}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,Vt.resolve)(t.file_path),r=await(0,Zc.readFile)(e,"utf-8"),n=us(r,e);return n.symbols.length>0?{content:[{type:"text",text:br(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 $r("/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 qc("/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 $r(`/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 $r(`/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 $r(`/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 $r(`/api/corpus/${encodeURIComponent(e)}/reprime`,r)}}],Fc=new Qo({name:"claude-mem",version:ik},{capabilities:{tools:{}}});Fc.setRequestHandler(_i,async()=>({tools:ng.map(t=>({name:t.name,description:t.description,inputSchema:t.inputSchema}))}));Fc.setRequestHandler(Kr,async t=>{let e=ng.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 dk=3e4,On=null,Xh=!1;function ds(){Nn("stdio-closed")}function og(t){y.warn("SYSTEM","MCP stdio stream errored, shutting down",{message:t.message}),Nn("stdio-error")}function pk(){process.stdin.on("end",ds),process.stdin.on("close",ds),process.stdin.on("error",og)}function fk(){process.stdin.off("end",ds),process.stdin.off("close",ds),process.stdin.off("error",og)}function mk(){if(process.platform==="win32")return;let t=process.ppid;On=setInterval(()=>{(process.ppid===1||process.ppid!==t)&&(y.info("SYSTEM","Parent process died, self-exiting to prevent orphan",{initialPpid:t,currentPpid:process.ppid}),Nn())},dk),On.unref&&On.unref()}function Nn(t="shutdown"){Xh||(Xh=!0,On&&clearInterval(On),fk(),y.info("SYSTEM","MCP server shutting down",{reason:t}),process.exit(0))}process.on("SIGTERM",Nn);process.on("SIGINT",Nn);async function hk(){let t=new ts;pk(),await Fc.connect(t),y.info("SYSTEM","Claude-mem search server started"),mk(),setTimeout(async()=>{await lk()?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)}hk().catch(t=>{y.error("SYSTEM","Fatal error",void 0,t),process.exit(0)});