context-mode 1.0.21 → 1.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +4 -2
  3. package/.openclaw-plugin/index.ts +11 -0
  4. package/.openclaw-plugin/openclaw.plugin.json +23 -0
  5. package/.openclaw-plugin/package.json +28 -0
  6. package/README.md +165 -26
  7. package/build/adapters/antigravity/index.d.ts +49 -0
  8. package/build/adapters/antigravity/index.js +217 -0
  9. package/build/adapters/client-map.d.ts +10 -0
  10. package/build/adapters/client-map.js +18 -0
  11. package/build/adapters/detect.d.ts +8 -1
  12. package/build/adapters/detect.js +58 -1
  13. package/build/adapters/kiro/hooks.d.ts +32 -0
  14. package/build/adapters/kiro/hooks.js +47 -0
  15. package/build/adapters/kiro/index.d.ts +50 -0
  16. package/build/adapters/kiro/index.js +325 -0
  17. package/build/adapters/openclaw/config.d.ts +8 -0
  18. package/build/adapters/openclaw/config.js +8 -0
  19. package/build/adapters/openclaw/hooks.d.ts +50 -0
  20. package/build/adapters/openclaw/hooks.js +61 -0
  21. package/build/adapters/openclaw/index.d.ts +51 -0
  22. package/build/adapters/openclaw/index.js +459 -0
  23. package/build/adapters/openclaw/session-db.d.ts +55 -0
  24. package/build/adapters/openclaw/session-db.js +88 -0
  25. package/build/adapters/types.d.ts +1 -1
  26. package/build/cli.js +5 -3
  27. package/build/executor.js +99 -112
  28. package/build/openclaw/workspace-router.d.ts +29 -0
  29. package/build/openclaw/workspace-router.js +64 -0
  30. package/build/openclaw-plugin.d.ts +121 -0
  31. package/build/openclaw-plugin.js +525 -0
  32. package/build/server.js +45 -10
  33. package/build/session/db.d.ts +9 -0
  34. package/build/session/db.js +38 -0
  35. package/cli.bundle.mjs +136 -124
  36. package/configs/antigravity/GEMINI.md +58 -0
  37. package/configs/antigravity/mcp_config.json +7 -0
  38. package/configs/kiro/mcp_config.json +7 -0
  39. package/configs/openclaw/AGENTS.md +58 -0
  40. package/configs/openclaw/openclaw.json +13 -0
  41. package/hooks/core/routing.mjs +16 -8
  42. package/hooks/kiro/posttooluse.mjs +58 -0
  43. package/hooks/kiro/pretooluse.mjs +63 -0
  44. package/hooks/posttooluse.mjs +6 -5
  45. package/hooks/precompact.mjs +5 -4
  46. package/hooks/session-db.bundle.mjs +57 -0
  47. package/hooks/session-extract.bundle.mjs +1 -0
  48. package/hooks/session-helpers.mjs +41 -3
  49. package/hooks/session-loaders.mjs +28 -0
  50. package/hooks/session-snapshot.bundle.mjs +14 -0
  51. package/hooks/sessionstart.mjs +6 -5
  52. package/hooks/userpromptsubmit.mjs +6 -5
  53. package/hooks/vscode-copilot/posttooluse.mjs +5 -4
  54. package/hooks/vscode-copilot/precompact.mjs +5 -4
  55. package/hooks/vscode-copilot/sessionstart.mjs +5 -4
  56. package/openclaw.plugin.json +23 -0
  57. package/package.json +13 -2
  58. package/server.bundle.mjs +94 -82
  59. package/start.mjs +1 -0
package/server.bundle.mjs CHANGED
@@ -1,73 +1,84 @@
1
1
  #!/usr/bin/env node
2
- var Av=Object.create;var ha=Object.defineProperty;var jv=Object.getOwnPropertyDescriptor;var Mv=Object.getOwnPropertyNames;var Dv=Object.getPrototypeOf,Zv=Object.prototype.hasOwnProperty;var rt=(t,e)=>()=>(t&&(e=t(t=0)),e);var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),St=(t,e)=>{for(var r in e)ha(t,r,{get:e[r],enumerable:!0})},Lv=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Mv(e))!Zv.call(t,o)&&o!==r&&ha(t,o,{get:()=>e[o],enumerable:!(n=jv(e,o))||n.enumerable});return t};var Ep=(t,e,r)=>(r=t!=null?Av(Dv(t)):{},Lv(e||!t||!t.__esModule?ha(r,"default",{value:t,enumerable:!0}):r,t));var xo=T(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.regexpCode=ee.getEsmExportName=ee.getProperty=ee.safeStringify=ee.stringify=ee.strConcat=ee.addCodeArg=ee.str=ee._=ee.nil=ee._Code=ee.Name=ee.IDENTIFIER=ee._CodeOrName=void 0;var yo=class{};ee._CodeOrName=yo;ee.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var qr=class extends yo{constructor(e){if(super(),!ee.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}}};ee.Name=qr;var ct=class extends yo{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 qr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ee._Code=ct;ee.nil=new ct("");function Sh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Qu(r,e[n]),r.push(t[++n]);return new ct(r)}ee._=Sh;var Xu=new ct("+");function wh(t,...e){let r=[vo(t[0])],n=0;for(;n<e.length;)r.push(Xu),Qu(r,e[n]),r.push(Xu,vo(t[++n]));return Mw(r),new ct(r)}ee.str=wh;function Qu(t,e){e instanceof ct?t.push(...e._items):e instanceof qr?t.push(e):t.push(Lw(e))}ee.addCodeArg=Qu;function Mw(t){let e=1;for(;e<t.length-1;){if(t[e]===Xu){let r=Dw(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function Dw(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof qr||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 qr))return`"${t}${e.slice(1)}`}function Zw(t,e){return e.emptyStr()?t:t.emptyStr()?e:wh`${t}${e}`}ee.strConcat=Zw;function Lw(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:vo(Array.isArray(t)?t.join(","):t)}function Uw(t){return new ct(vo(t))}ee.stringify=Uw;function vo(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ee.safeStringify=vo;function qw(t){return typeof t=="string"&&ee.IDENTIFIER.test(t)?new ct(`.${t}`):Sh`[${t}]`}ee.getProperty=qw;function Hw(t){if(typeof t=="string"&&ee.IDENTIFIER.test(t))return new ct(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ee.getEsmExportName=Hw;function Fw(t){return new ct(t.toString())}ee.regexpCode=Fw});var rl=T(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.ValueScope=Ge.ValueScopeName=Ge.Scope=Ge.varKinds=Ge.UsedValueState=void 0;var Ke=xo(),el=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},ui;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(ui||(Ge.UsedValueState=ui={}));Ge.varKinds={const:new Ke.Name("const"),let:new Ke.Name("let"),var:new Ke.Name("var")};var li=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Ke.Name?e:this.name(e)}name(e){return new Ke.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}}};Ge.Scope=li;var di=class extends Ke.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Ke._)`.${new Ke.Name(r)}[${n}]`}};Ge.ValueScopeName=di;var Vw=(0,Ke._)`\n`,tl=class extends li{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Vw:Ke.nil}}get(){return this._scope}name(e){return new di(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,Ke._)`${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=Ke.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,ui.Started);let l=r(u);if(l){let d=this.opts.es5?Ge.varKinds.var:Ge.varKinds.const;s=(0,Ke._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Ke._)`${s}${l}${this.opts._n}`;else throw new el(u);c.set(u,ui.Completed)})}return s}};Ge.ValueScope=tl});var q=T(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.or=H.and=H.not=H.CodeGen=H.operators=H.varKinds=H.ValueScopeName=H.ValueScope=H.Scope=H.Name=H.regexpCode=H.stringify=H.getProperty=H.nil=H.strConcat=H.str=H._=void 0;var Y=xo(),gt=rl(),ir=xo();Object.defineProperty(H,"_",{enumerable:!0,get:function(){return ir._}});Object.defineProperty(H,"str",{enumerable:!0,get:function(){return ir.str}});Object.defineProperty(H,"strConcat",{enumerable:!0,get:function(){return ir.strConcat}});Object.defineProperty(H,"nil",{enumerable:!0,get:function(){return ir.nil}});Object.defineProperty(H,"getProperty",{enumerable:!0,get:function(){return ir.getProperty}});Object.defineProperty(H,"stringify",{enumerable:!0,get:function(){return ir.stringify}});Object.defineProperty(H,"regexpCode",{enumerable:!0,get:function(){return ir.regexpCode}});Object.defineProperty(H,"Name",{enumerable:!0,get:function(){return ir.Name}});var hi=rl();Object.defineProperty(H,"Scope",{enumerable:!0,get:function(){return hi.Scope}});Object.defineProperty(H,"ValueScope",{enumerable:!0,get:function(){return hi.ValueScope}});Object.defineProperty(H,"ValueScopeName",{enumerable:!0,get:function(){return hi.ValueScopeName}});Object.defineProperty(H,"varKinds",{enumerable:!0,get:function(){return hi.varKinds}});H.operators={GT:new Y._Code(">"),GTE:new Y._Code(">="),LT:new Y._Code("<"),LTE:new Y._Code("<="),EQ:new Y._Code("==="),NEQ:new Y._Code("!=="),NOT:new Y._Code("!"),OR:new Y._Code("||"),AND:new Y._Code("&&"),ADD:new Y._Code("+")};var Ft=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},nl=class extends Ft{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?gt.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=xn(this.rhs,e,r)),this}get names(){return this.rhs instanceof Y._CodeOrName?this.rhs.names:{}}},pi=class extends Ft{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 Y.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=xn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof Y.Name?{}:{...this.lhs.names};return mi(e,this.rhs)}},ol=class extends pi{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},sl=class extends Ft{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},il=class extends Ft{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},al=class extends Ft{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},cl=class extends Ft{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=xn(this.code,e,r),this}get names(){return this.code instanceof Y._CodeOrName?this.code.names:{}}},bo=class extends Ft{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)||(Bw(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Vr(e,r.names),{})}},Vt=class extends bo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},ul=class extends bo{},vn=class extends Vt{};vn.kind="else";var Hr=class t extends Vt{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 vn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t($h(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=xn(this.condition,e,r),this}get names(){let e=super.names;return mi(e,this.condition),this.else&&Vr(e,this.else.names),e}};Hr.kind="if";var Fr=class extends Vt{};Fr.kind="for";var ll=class extends Fr{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=xn(this.iteration,e,r),this}get names(){return Vr(super.names,this.iteration.names)}},dl=class extends Fr{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?gt.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=mi(super.names,this.from);return mi(e,this.to)}},fi=class extends Fr{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=xn(this.iterable,e,r),this}get names(){return Vr(super.names,this.iterable.names)}},ko=class extends Vt{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};ko.kind="func";var So=class extends bo{render(e){return"return "+super.render(e)}};So.kind="return";var pl=class extends Vt{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&&Vr(e,this.catch.names),this.finally&&Vr(e,this.finally.names),e}},wo=class extends Vt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};wo.kind="catch";var $o=class extends Vt{render(e){return"finally"+super.render(e)}};$o.kind="finally";var fl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
- `:""},this._extScope=e,this._scope=new gt.Scope({parent:e}),this._nodes=[new ul]}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 nl(e,s,n)),s}const(e,r,n){return this._def(gt.varKinds.const,e,r,n)}let(e,r,n){return this._def(gt.varKinds.let,e,r,n)}var(e,r,n){return this._def(gt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new pi(e,r,n))}add(e,r){return this._leafNode(new ol(e,H.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==Y.nil&&this._leafNode(new cl(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,Y.addCodeArg)(r,o));return r.push("}"),new Y._Code(r)}if(e,r,n){if(this._blockNode(new Hr(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 Hr(e))}else(){return this._elseNode(new vn)}endIf(){return this._endBlockNode(Hr,vn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new ll(e),r)}forRange(e,r,n,o,s=this.opts.es5?gt.varKinds.var:gt.varKinds.let){let i=this._scope.toName(e);return this._for(new dl(s,i,r,n),()=>o(i))}forOf(e,r,n,o=gt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof Y.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Y._)`${i}.length`,a=>{this.var(s,(0,Y._)`${i}[${a}]`),n(s)})}return this._for(new fi("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?gt.varKinds.var:gt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Y._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new fi("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Fr)}label(e){return this._leafNode(new sl(e))}break(e){return this._leafNode(new il(e))}return(e){let r=new So;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(So)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new pl;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new wo(s),r(s)}return n&&(this._currNode=o.finally=new $o,this.code(n)),this._endBlockNode(wo,$o)}throw(e){return this._leafNode(new al(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=Y.nil,n,o){return this._blockNode(new ko(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(ko)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Hr))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}};H.CodeGen=fl;function Vr(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function mi(t,e){return e instanceof Y._CodeOrName?Vr(t,e.names):t}function xn(t,e,r){if(t instanceof Y.Name)return n(t);if(!o(t))return t;return new Y._Code(t._items.reduce((s,i)=>(i instanceof Y.Name&&(i=n(i)),i instanceof Y._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 Y._Code&&s._items.some(i=>i instanceof Y.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function Bw(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function $h(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,Y._)`!${ml(t)}`}H.not=$h;var Kw=Th(H.operators.AND);function Gw(...t){return t.reduce(Kw)}H.and=Gw;var Jw=Th(H.operators.OR);function Ww(...t){return t.reduce(Jw)}H.or=Ww;function Th(t){return(e,r)=>e===Y.nil?r:r===Y.nil?e:(0,Y._)`${ml(e)} ${t} ${ml(r)}`}function ml(t){return t instanceof Y.Name?t:(0,Y._)`(${t})`}});var X=T(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var oe=q(),Yw=xo();function Xw(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=Xw;function Qw(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Rh(t,e),!Oh(e,t.self.RULES.all))}V.alwaysValidSchema=Qw;function Rh(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]||zh(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=Rh;function Oh(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=Oh;function e$(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}V.schemaHasRulesButRef=e$;function t$({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,oe._)`${r}`}return(0,oe._)`${t}${e}${(0,oe.getProperty)(n)}`}V.schemaRefOrVal=t$;function r$(t){return Ih(decodeURIComponent(t))}V.unescapeFragment=r$;function n$(t){return encodeURIComponent(gl(t))}V.escapeFragment=n$;function gl(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=gl;function Ih(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Ih;function o$(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=o$;function Eh({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof oe.Name?(s instanceof oe.Name?t(o,s,i):e(o,s,i),i):s instanceof oe.Name?(e(o,i,s),s):r(s,i);return a===oe.Name&&!(c instanceof oe.Name)?n(o,c):c}}V.mergeEvaluated={props:Eh({mergeNames:(t,e,r)=>t.if((0,oe._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,oe._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,oe._)`${r} || {}`).code((0,oe._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,oe._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,oe._)`${r} || {}`),_l(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Ch}),items:Eh({mergeNames:(t,e,r)=>t.if((0,oe._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,oe._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,oe._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,oe._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Ch(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,oe._)`{}`);return e!==void 0&&_l(t,r,e),r}V.evaluatedPropsToName=Ch;function _l(t,e,r){Object.keys(r).forEach(n=>t.assign((0,oe._)`${e}${(0,oe.getProperty)(n)}`,!0))}V.setEvaluated=_l;var Ph={};function s$(t,e){return t.scopeValue("func",{ref:e,code:Ph[e.code]||(Ph[e.code]=new Yw._Code(e.code))})}V.useFunc=s$;var hl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(hl||(V.Type=hl={}));function i$(t,e,r){if(t instanceof oe.Name){let n=e===hl.Num;return r?n?(0,oe._)`"[" + ${t} + "]"`:(0,oe._)`"['" + ${t} + "']"`:n?(0,oe._)`"/" + ${t}`:(0,oe._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,oe.getProperty)(t).toString():"/"+gl(t)}V.getErrorPath=i$;function zh(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}V.checkStrictMode=zh});var Bt=T(yl=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});var Ne=q(),a$={data:new Ne.Name("data"),valCxt:new Ne.Name("valCxt"),instancePath:new Ne.Name("instancePath"),parentData:new Ne.Name("parentData"),parentDataProperty:new Ne.Name("parentDataProperty"),rootData:new Ne.Name("rootData"),dynamicAnchors:new Ne.Name("dynamicAnchors"),vErrors:new Ne.Name("vErrors"),errors:new Ne.Name("errors"),this:new Ne.Name("this"),self:new Ne.Name("self"),scope:new Ne.Name("scope"),json:new Ne.Name("json"),jsonPos:new Ne.Name("jsonPos"),jsonLen:new Ne.Name("jsonLen"),jsonPart:new Ne.Name("jsonPart")};yl.default=a$});var To=T(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.extendErrors=Ae.resetErrorsCount=Ae.reportExtraError=Ae.reportError=Ae.keyword$DataError=Ae.keywordError=void 0;var Q=q(),gi=X(),Le=Bt();Ae.keywordError={message:({keyword:t})=>(0,Q.str)`must pass "${t}" keyword validation`};Ae.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 c$(t,e=Ae.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=jh(t,e,r);n??(i||a)?Nh(s,c):Ah(o,(0,Q._)`[${c}]`)}Ae.reportError=c$;function u$(t,e=Ae.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=jh(t,e,r);Nh(o,a),s||i||Ah(n,Le.default.vErrors)}Ae.reportExtraError=u$;function l$(t,e){t.assign(Le.default.errors,e),t.if((0,Q._)`${Le.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Q._)`${Le.default.vErrors}.length`,e),()=>t.assign(Le.default.vErrors,null)))}Ae.resetErrorsCount=l$;function d$({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,Le.default.errors,a=>{t.const(i,(0,Q._)`${Le.default.vErrors}[${a}]`),t.if((0,Q._)`${i}.instancePath === undefined`,()=>t.assign((0,Q._)`${i}.instancePath`,(0,Q.strConcat)(Le.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))})}Ae.extendErrors=d$;function Nh(t,e){let r=t.const("err",e);t.if((0,Q._)`${Le.default.vErrors} === null`,()=>t.assign(Le.default.vErrors,(0,Q._)`[${r}]`),(0,Q._)`${Le.default.vErrors}.push(${r})`),t.code((0,Q._)`${Le.default.errors}++`)}function Ah(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 Br={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 jh(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Q._)`{}`:p$(t,e,r)}function p$(t,e,r={}){let{gen:n,it:o}=t,s=[f$(o,r),m$(t,r)];return h$(t,e,s),n.object(...s)}function f$({errorPath:t},{instancePath:e}){let r=e?(0,Q.str)`${t}${(0,gi.getErrorPath)(e,gi.Type.Str)}`:t;return[Le.default.instancePath,(0,Q.strConcat)(Le.default.instancePath,r)]}function m$({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,gi.getErrorPath)(r,gi.Type.Str)}`),[Br.schemaPath,o]}function h$(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([Br.keyword,o],[Br.params,typeof e=="function"?e(t):e||(0,Q._)`{}`]),c.messages&&n.push([Br.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Br.schema,i],[Br.parentSchema,(0,Q._)`${l}${d}`],[Le.default.data,s]),u&&n.push([Br.propertyName,u])}});var Dh=T(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.boolOrEmptySchema=bn.topBoolOrEmptySchema=void 0;var g$=To(),_$=q(),y$=Bt(),v$={message:"boolean schema is false"};function x$(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Mh(t,!1):typeof r=="object"&&r.$async===!0?e.return(y$.default.data):(e.assign((0,_$._)`${n}.errors`,null),e.return(!0))}bn.topBoolOrEmptySchema=x$;function b$(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Mh(t)):r.var(e,!0)}bn.boolOrEmptySchema=b$;function Mh(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,g$.reportError)(o,v$,void 0,e)}});var vl=T(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.getRules=kn.isJSONType=void 0;var k$=["string","number","integer","boolean","null","object","array"],S$=new Set(k$);function w$(t){return typeof t=="string"&&S$.has(t)}kn.isJSONType=w$;function $$(){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:{}}}kn.getRules=$$});var xl=T(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.shouldUseRule=ar.shouldUseGroup=ar.schemaHasRulesForType=void 0;function T$({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Zh(t,n)}ar.schemaHasRulesForType=T$;function Zh(t,e){return e.rules.some(r=>Lh(t,r))}ar.shouldUseGroup=Zh;function Lh(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))}ar.shouldUseRule=Lh});var Eo=T(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.reportTypeError=je.checkDataTypes=je.checkDataType=je.coerceAndCheckDataType=je.getJSONTypes=je.getSchemaTypes=je.DataType=void 0;var E$=vl(),P$=xl(),R$=To(),L=q(),Uh=X(),Sn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Sn||(je.DataType=Sn={}));function O$(t){let e=qh(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}je.getSchemaTypes=O$;function qh(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(E$.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}je.getJSONTypes=qh;function I$(t,e){let{gen:r,data:n,opts:o}=t,s=C$(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,P$.schemaHasRulesForType)(t,e[0]));if(i){let a=kl(e,n,o.strictNumbers,Sn.Wrong);r.if(a,()=>{s.length?z$(t,e,s):Sl(t)})}return i}je.coerceAndCheckDataType=I$;var Hh=new Set(["string","number","integer","boolean","null"]);function C$(t,e){return e?t.filter(r=>Hh.has(r)||e==="array"&&r==="array"):[]}function z$(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,L._)`typeof ${o}`),a=n.let("coerced",(0,L._)`undefined`);s.coerceTypes==="array"&&n.if((0,L._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,L._)`${o}[0]`).assign(i,(0,L._)`typeof ${o}`).if(kl(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,L._)`${a} !== undefined`);for(let u of r)(Hh.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Sl(t),n.endIf(),n.if((0,L._)`${a} !== undefined`,()=>{n.assign(o,a),N$(t,a)});function c(u){switch(u){case"string":n.elseIf((0,L._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,L._)`"" + ${o}`).elseIf((0,L._)`${o} === null`).assign(a,(0,L._)`""`);return;case"number":n.elseIf((0,L._)`${i} == "boolean" || ${o} === null
4
- || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,L._)`+${o}`);return;case"integer":n.elseIf((0,L._)`${i} === "boolean" || ${o} === null
5
- || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,L._)`+${o}`);return;case"boolean":n.elseIf((0,L._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,L._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,L._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,L._)`${i} === "string" || ${i} === "number"
6
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,L._)`[${o}]`)}}}function N$({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,L._)`${e} !== undefined`,()=>t.assign((0,L._)`${e}[${r}]`,n))}function bl(t,e,r,n=Sn.Correct){let o=n===Sn.Correct?L.operators.EQ:L.operators.NEQ,s;switch(t){case"null":return(0,L._)`${e} ${o} null`;case"array":s=(0,L._)`Array.isArray(${e})`;break;case"object":s=(0,L._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,L._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,L._)`typeof ${e} ${o} ${t}`}return n===Sn.Correct?s:(0,L.not)(s);function i(a=L.nil){return(0,L.and)((0,L._)`typeof ${e} == "number"`,a,r?(0,L._)`isFinite(${e})`:L.nil)}}je.checkDataType=bl;function kl(t,e,r,n){if(t.length===1)return bl(t[0],e,r,n);let o,s=(0,Uh.toHash)(t);if(s.array&&s.object){let i=(0,L._)`typeof ${e} != "object"`;o=s.null?i:(0,L._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=L.nil;s.number&&delete s.integer;for(let i in s)o=(0,L.and)(o,bl(i,e,r,n));return o}je.checkDataTypes=kl;var A$={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,L._)`{type: ${t}}`:(0,L._)`{type: ${e}}`};function Sl(t){let e=j$(t);(0,R$.reportError)(e,A$)}je.reportTypeError=Sl;function j$(t){let{gen:e,data:r,schema:n}=t,o=(0,Uh.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Vh=T(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.assignDefaults=void 0;var wn=q(),M$=X();function D$(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Fh(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Fh(t,s,o.default))}_i.assignDefaults=D$;function Fh(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,wn._)`${s}${(0,wn.getProperty)(e)}`;if(o){(0,M$.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,wn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,wn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,wn._)`${a} = ${(0,wn.stringify)(r)}`)}});var ut=T(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.validateUnion=ne.validateArray=ne.usePattern=ne.callValidateCode=ne.schemaProperties=ne.allSchemaProperties=ne.noPropertyInData=ne.propertyInData=ne.isOwnProperty=ne.hasPropFunc=ne.reportMissingProp=ne.checkMissingProp=ne.checkReportMissingProp=void 0;var de=q(),wl=X(),cr=Bt(),Z$=X();function L$(t,e){let{gen:r,data:n,it:o}=t;r.if(Tl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,de._)`${e}`},!0),t.error()})}ne.checkReportMissingProp=L$;function U$({gen:t,data:e,it:{opts:r}},n,o){return(0,de.or)(...n.map(s=>(0,de.and)(Tl(t,e,s,r.ownProperties),(0,de._)`${o} = ${s}`)))}ne.checkMissingProp=U$;function q$(t,e){t.setParams({missingProperty:e},!0),t.error()}ne.reportMissingProp=q$;function Bh(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,de._)`Object.prototype.hasOwnProperty`})}ne.hasPropFunc=Bh;function $l(t,e,r){return(0,de._)`${Bh(t)}.call(${e}, ${r})`}ne.isOwnProperty=$l;function H$(t,e,r,n){let o=(0,de._)`${e}${(0,de.getProperty)(r)} !== undefined`;return n?(0,de._)`${o} && ${$l(t,e,r)}`:o}ne.propertyInData=H$;function Tl(t,e,r,n){let o=(0,de._)`${e}${(0,de.getProperty)(r)} === undefined`;return n?(0,de.or)(o,(0,de.not)($l(t,e,r))):o}ne.noPropertyInData=Tl;function Kh(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ne.allSchemaProperties=Kh;function F$(t,e){return Kh(e).filter(r=>!(0,wl.alwaysValidSchema)(t,e[r]))}ne.schemaProperties=F$;function V$({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,de._)`${t}, ${e}, ${n}${o}`:e,d=[[cr.default.instancePath,(0,de.strConcat)(cr.default.instancePath,s)],[cr.default.parentData,i.parentData],[cr.default.parentDataProperty,i.parentDataProperty],[cr.default.rootData,cr.default.rootData]];i.opts.dynamicRef&&d.push([cr.default.dynamicAnchors,cr.default.dynamicAnchors]);let f=(0,de._)`${l}, ${r.object(...d)}`;return c!==de.nil?(0,de._)`${a}.call(${c}, ${f})`:(0,de._)`${a}(${f})`}ne.callValidateCode=V$;var B$=(0,de._)`new RegExp`;function K$({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,de._)`${o.code==="new RegExp"?B$:(0,Z$.useFunc)(t,o)}(${r}, ${n})`})}ne.usePattern=K$;function G$(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,de._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:wl.Type.Num},s),e.if((0,de.not)(s),a)})}}ne.validateArray=G$;function J$(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,wl.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,de._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,de.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}ne.validateUnion=J$});var Wh=T(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.validateKeywordUsage=Pt.validSchemaType=Pt.funcKeywordCode=Pt.macroKeywordCode=void 0;var Ue=q(),Kr=Bt(),W$=ut(),Y$=To();function X$(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Jh(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ue.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Pt.macroKeywordCode=X$;function Q$(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;t0(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Jh(n,o,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&Gh(t),g(()=>t.error());else{let y=e.async?m():p();e.modifying&&Gh(t),g(()=>e0(t,y))}}function m(){let y=n.let("ruleErrs",null);return n.try(()=>h((0,Ue._)`await `),x=>n.assign(d,!1).if((0,Ue._)`${x} instanceof ${c.ValidationError}`,()=>n.assign(y,(0,Ue._)`${x}.errors`),()=>n.throw(x))),y}function p(){let y=(0,Ue._)`${l}.errors`;return n.assign(y,null),h(Ue.nil),y}function h(y=e.async?(0,Ue._)`await `:Ue.nil){let x=c.opts.passContext?Kr.default.this:Kr.default.self,b=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ue._)`${y}${(0,W$.callValidateCode)(t,l,x,b)}`,e.modifying)}function g(y){var x;n.if((0,Ue.not)((x=e.valid)!==null&&x!==void 0?x:d),y)}}Pt.funcKeywordCode=Q$;function Gh(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ue._)`${n.parentData}[${n.parentDataProperty}]`))}function e0(t,e){let{gen:r}=t;r.if((0,Ue._)`Array.isArray(${e})`,()=>{r.assign(Kr.default.vErrors,(0,Ue._)`${Kr.default.vErrors} === null ? ${e} : ${Kr.default.vErrors}.concat(${e})`).assign(Kr.default.errors,(0,Ue._)`${Kr.default.vErrors}.length`),(0,Y$.extendErrors)(t)},()=>t.error())}function t0({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Jh(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,Ue.stringify)(r)})}function r0(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")}Pt.validSchemaType=r0;function n0({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)}}Pt.validateKeywordUsage=n0});var Xh=T(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.extendSubschemaMode=ur.extendSubschemaData=ur.getSubschema=void 0;var Rt=q(),Yh=X();function o0(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,Rt._)`${t.schemaPath}${(0,Rt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,Rt._)`${t.schemaPath}${(0,Rt.getProperty)(e)}${(0,Rt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Yh.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')}ur.getSubschema=o0;function s0(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,Rt._)`${e.data}${(0,Rt.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Rt.str)`${u}${(0,Yh.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Rt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof Rt.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]}}ur.extendSubschemaData=s0;function i0(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}ur.extendSubschemaMode=i0});var El=T((hj,Qh)=>{"use strict";Qh.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 tg=T((gj,eg)=>{"use strict";var lr=eg.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(){};yi(e,n,o,t,"",t)};lr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};lr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};lr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};lr.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 yi(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 lr.arrayKeywords)for(var f=0;f<d.length;f++)yi(t,e,r,d[f],o+"/"+l+"/"+f,s,o,l,n,f)}else if(l in lr.propsKeywords){if(d&&typeof d=="object")for(var m in d)yi(t,e,r,d[m],o+"/"+l+"/"+a0(m),s,o,l,n,m)}else(l in lr.keywords||t.allKeys&&!(l in lr.skipKeywords))&&yi(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function a0(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Po=T(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.getSchemaRefs=Je.resolveUrl=Je.normalizeId=Je._getFullPath=Je.getFullPath=Je.inlineRef=void 0;var c0=X(),u0=El(),l0=tg(),d0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function p0(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Pl(t):e?rg(t)<=e:!1}Je.inlineRef=p0;var f0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Pl(t){for(let e in t){if(f0.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Pl)||typeof r=="object"&&Pl(r))return!0}return!1}function rg(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!d0.has(r)&&(typeof t[r]=="object"&&(0,c0.eachItem)(t[r],n=>e+=rg(n)),e===1/0))return 1/0}return e}function ng(t,e="",r){r!==!1&&(e=$n(e));let n=t.parse(e);return og(t,n)}Je.getFullPath=ng;function og(t,e){return t.serialize(e).split("#")[0]+"#"}Je._getFullPath=og;var m0=/#\/?$/;function $n(t){return t?t.replace(m0,""):""}Je.normalizeId=$n;function h0(t,e,r){return r=$n(r),t.resolve(e,r)}Je.resolveUrl=h0;var g0=/^[a-z_][-a-z0-9._]*$/i;function _0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=$n(t[r]||e),s={"":o},i=ng(n,o,!1),a={},c=new Set;return l0(t,{allKeys:!0},(d,f,m,p)=>{if(p===void 0)return;let h=i+f,g=s[p];typeof d[r]=="string"&&(g=y.call(this,d[r])),x.call(this,d.$anchor),x.call(this,d.$dynamicAnchor),s[f]=g;function y(b){let w=this.opts.uriResolver.resolve;if(b=$n(g?w(g,b):b),c.has(b))throw l(b);c.add(b);let R=this.refs[b];return typeof R=="string"&&(R=this.refs[R]),typeof R=="object"?u(d,R.schema,b):b!==$n(h)&&(b[0]==="#"?(u(d,a[b],b),a[b]=d):this.refs[b]=h),b}function x(b){if(typeof b=="string"){if(!g0.test(b))throw new Error(`invalid anchor "${b}"`);y.call(this,`#${b}`)}}}),a;function u(d,f,m){if(f!==void 0&&!u0(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Je.getSchemaRefs=_0});var Io=T(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.getData=dr.KeywordCxt=dr.validateFunctionCode=void 0;var ug=Dh(),sg=Eo(),Ol=xl(),vi=Eo(),y0=Vh(),Oo=Wh(),Rl=Xh(),z=q(),D=Bt(),v0=Po(),Kt=X(),Ro=To();function x0(t){if(pg(t)&&(fg(t),dg(t))){S0(t);return}lg(t,()=>(0,ug.topBoolOrEmptySchema)(t))}dr.validateFunctionCode=x0;function lg({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,z._)`${D.default.data}, ${D.default.valCxt}`,n.$async,()=>{t.code((0,z._)`"use strict"; ${ig(r,o)}`),k0(t,o),t.code(s)}):t.func(e,(0,z._)`${D.default.data}, ${b0(o)}`,n.$async,()=>t.code(ig(r,o)).code(s))}function b0(t){return(0,z._)`{${D.default.instancePath}="", ${D.default.parentData}, ${D.default.parentDataProperty}, ${D.default.rootData}=${D.default.data}${t.dynamicRef?(0,z._)`, ${D.default.dynamicAnchors}={}`:z.nil}}={}`}function k0(t,e){t.if(D.default.valCxt,()=>{t.var(D.default.instancePath,(0,z._)`${D.default.valCxt}.${D.default.instancePath}`),t.var(D.default.parentData,(0,z._)`${D.default.valCxt}.${D.default.parentData}`),t.var(D.default.parentDataProperty,(0,z._)`${D.default.valCxt}.${D.default.parentDataProperty}`),t.var(D.default.rootData,(0,z._)`${D.default.valCxt}.${D.default.rootData}`),e.dynamicRef&&t.var(D.default.dynamicAnchors,(0,z._)`${D.default.valCxt}.${D.default.dynamicAnchors}`)},()=>{t.var(D.default.instancePath,(0,z._)`""`),t.var(D.default.parentData,(0,z._)`undefined`),t.var(D.default.parentDataProperty,(0,z._)`undefined`),t.var(D.default.rootData,D.default.data),e.dynamicRef&&t.var(D.default.dynamicAnchors,(0,z._)`{}`)})}function S0(t){let{schema:e,opts:r,gen:n}=t;lg(t,()=>{r.$comment&&e.$comment&&hg(t),P0(t),n.let(D.default.vErrors,null),n.let(D.default.errors,0),r.unevaluated&&w0(t),mg(t),I0(t)})}function w0(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,z._)`${r}.evaluated`),e.if((0,z._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,z._)`${t.evaluated}.props`,(0,z._)`undefined`)),e.if((0,z._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,z._)`${t.evaluated}.items`,(0,z._)`undefined`))}function ig(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,z._)`/*# sourceURL=${r} */`:z.nil}function $0(t,e){if(pg(t)&&(fg(t),dg(t))){T0(t,e);return}(0,ug.boolOrEmptySchema)(t,e)}function dg({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 pg(t){return typeof t.schema!="boolean"}function T0(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&hg(t),R0(t),O0(t);let s=n.const("_errs",D.default.errors);mg(t,s),n.var(e,(0,z._)`${s} === ${D.default.errors}`)}function fg(t){(0,Kt.checkUnknownRules)(t),E0(t)}function mg(t,e){if(t.opts.jtd)return ag(t,[],!1,e);let r=(0,sg.getSchemaTypes)(t.schema),n=(0,sg.coerceAndCheckDataType)(t,r);ag(t,r,!n,e)}function E0(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Kt.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function P0(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Kt.checkStrictMode)(t,"default is ignored in the schema root")}function R0(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,v0.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function O0(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function hg({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,z._)`${D.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,z.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,z._)`${D.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function I0(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,z._)`${D.default.errors} === 0`,()=>e.return(D.default.data),()=>e.throw((0,z._)`new ${o}(${D.default.vErrors})`)):(e.assign((0,z._)`${n}.errors`,D.default.vErrors),s.unevaluated&&C0(t),e.return((0,z._)`${D.default.errors} === 0`))}function C0({gen:t,evaluated:e,props:r,items:n}){r instanceof z.Name&&t.assign((0,z._)`${e}.props`,r),n instanceof z.Name&&t.assign((0,z._)`${e}.items`,n)}function ag(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,Kt.schemaHasRulesButRef)(s,l))){o.block(()=>_g(t,"$ref",l.all.$ref.definition));return}c.jtd||z0(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Ol.shouldUseGroup)(s,f)&&(f.type?(o.if((0,vi.checkDataType)(f.type,i,c.strictNumbers)),cg(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,vi.reportTypeError)(t)),o.endIf()):cg(t,f),a||o.if((0,z._)`${D.default.errors} === ${n||0}`))}}function cg(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,y0.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Ol.shouldUseRule)(n,s)&&_g(t,s.keyword,s.definition,e.type)})}function z0(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(N0(t,e),t.opts.allowUnionTypes||A0(t,e),j0(t,t.dataTypes))}function N0(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{gg(t.dataTypes,r)||Il(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),D0(t,e)}}function A0(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Il(t,"use allowUnionTypes to allow union type keyword")}function j0(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Ol.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>M0(e,i))&&Il(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function M0(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function gg(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function D0(t,e){let r=[];for(let n of t.dataTypes)gg(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Il(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Kt.checkStrictMode)(t,e,t.opts.strictTypes)}var xi=class{constructor(e,r,n){if((0,Oo.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,Kt.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",yg(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Oo.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",D.default.errors))}result(e,r,n){this.failResult((0,z.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,z.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,z._)`${r} !== undefined && (${(0,z.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?Ro.reportExtraError:Ro.reportError)(this,this.def.error,r)}$dataError(){(0,Ro.reportError)(this,this.def.$dataError||Ro.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ro.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=z.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=z.nil,r=z.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,z.or)((0,z._)`${o} === undefined`,r)),e!==z.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==z.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,z.or)(i(),a());function i(){if(n.length){if(!(r instanceof z.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,z._)`${(0,vi.checkDataTypes)(c,r,s.opts.strictNumbers,vi.DataType.Wrong)}`}return z.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,z._)`!${c}(${r})`}return z.nil}}subschema(e,r){let n=(0,Rl.getSubschema)(this.it,e);(0,Rl.extendSubschemaData)(n,this.it,e),(0,Rl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return $0(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Kt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Kt.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,z.Name)),!0}};dr.KeywordCxt=xi;function _g(t,e,r,n){let o=new xi(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Oo.funcKeywordCode)(o,r):"macro"in r?(0,Oo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Oo.funcKeywordCode)(o,r)}var Z0=/^\/(?:[^~]|~0|~1)*$/,L0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function yg(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return D.default.rootData;if(t[0]==="/"){if(!Z0.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=D.default.rootData}else{let u=L0.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,z._)`${s}${(0,z.getProperty)((0,Kt.unescapeJsonPointer)(u))}`,i=(0,z._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}dr.getData=yg});var bi=T(zl=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});var Cl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};zl.default=Cl});var Co=T(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var Nl=Po(),Al=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Nl.resolveUrl)(e,r,n),this.missingSchema=(0,Nl.normalizeId)((0,Nl.getFullPath)(e,this.missingRef))}};jl.default=Al});var Si=T(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.resolveSchema=lt.getCompilingSchema=lt.resolveRef=lt.compileSchema=lt.SchemaEnv=void 0;var _t=q(),U0=bi(),Gr=Bt(),yt=Po(),vg=X(),q0=Io(),Tn=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,yt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};lt.SchemaEnv=Tn;function Dl(t){let e=xg.call(this,t);if(e)return e;let r=(0,yt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new _t.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:U0.default,code:(0,_t._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Gr.default.data,parentData:Gr.default.parentData,parentDataProperty:Gr.default.parentDataProperty,dataNames:[Gr.default.data],dataPathArr:[_t.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,_t.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:_t.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,_t._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,q0.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Gr.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${Gr.default.self}`,`${Gr.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:h}=u;m.evaluated={props:p instanceof _t.Name?void 0:p,items:h instanceof _t.Name?void 0:h,dynamicProps:p instanceof _t.Name,dynamicItems:h instanceof _t.Name},m.source&&(m.source.evaluated=(0,_t.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}lt.compileSchema=Dl;function H0(t,e,r){var n;r=(0,yt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=B0.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 Tn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=F0.call(this,s)}lt.resolveRef=H0;function F0(t){return(0,yt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Dl.call(this,t)}function xg(t){for(let e of this._compilations)if(V0(e,t))return e}lt.getCompilingSchema=xg;function V0(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function B0(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||ki.call(this,t,e)}function ki(t,e){let r=this.opts.uriResolver.parse(e),n=(0,yt._getFullPath)(this.opts.uriResolver,r),o=(0,yt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return Ml.call(this,r,t);let s=(0,yt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=ki.call(this,t,i);return typeof a?.schema!="object"?void 0:Ml.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Dl.call(this,i),s===(0,yt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,yt.resolveUrl)(this.opts.uriResolver,o,u)),new Tn({schema:a,schemaId:c,root:t,baseId:o})}return Ml.call(this,r,i)}}lt.resolveSchema=ki;var K0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Ml(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,vg.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!K0.has(a)&&u&&(e=(0,yt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,vg.schemaHasRulesButRef)(r,this.RULES)){let a=(0,yt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=ki.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Tn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var bg=T((kj,G0)=>{G0.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 Ll=T((Sj,$g)=>{"use strict";var J0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Sg=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 Zl(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 W0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function kg(t){return t.length=0,!0}function Y0(t,e,r){if(t.length){let n=Zl(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function X0(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=Y0;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=kg}else{o.push(u);continue}}return o.length&&(a===kg?r.zone=o.join(""):i?n.push(o.join("")):n.push(Zl(o))),r.address=n.join(""),r}function wg(t){if(Q0(t,":")<2)return{host:t,isIPV6:!1};let e=X0(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 Q0(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function eT(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 tT(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 rT(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Sg(r)){let n=wg(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}$g.exports={nonSimpleDomain:W0,recomposeAuthority:rT,normalizeComponentEncoding:tT,removeDotSegments:eT,isIPv4:Sg,isUUID:J0,normalizeIPv6:wg,stringArrayToHexStripped:Zl}});var Og=T((wj,Rg)=>{"use strict";var{isUUID:nT}=Ll(),oT=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,sT=["http","https","ws","wss","urn","urn:uuid"];function iT(t){return sT.indexOf(t)!==-1}function Ul(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 Tg(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Eg(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 aT(t){return t.secure=Ul(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function cT(t){if((t.port===(Ul(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 uT(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(oT);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=ql(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function lT(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=ql(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 dT(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!nT(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function pT(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Pg={scheme:"http",domainHost:!0,parse:Tg,serialize:Eg},fT={scheme:"https",domainHost:Pg.domainHost,parse:Tg,serialize:Eg},wi={scheme:"ws",domainHost:!0,parse:aT,serialize:cT},mT={scheme:"wss",domainHost:wi.domainHost,parse:wi.parse,serialize:wi.serialize},hT={scheme:"urn",parse:uT,serialize:lT,skipNormalize:!0},gT={scheme:"urn:uuid",parse:dT,serialize:pT,skipNormalize:!0},$i={http:Pg,https:fT,ws:wi,wss:mT,urn:hT,"urn:uuid":gT};Object.setPrototypeOf($i,null);function ql(t){return t&&($i[t]||$i[t.toLowerCase()])||void 0}Rg.exports={wsIsSecure:Ul,SCHEMES:$i,isValidSchemeName:iT,getSchemeHandler:ql}});var zg=T(($j,Ei)=>{"use strict";var{normalizeIPv6:_T,removeDotSegments:zo,recomposeAuthority:yT,normalizeComponentEncoding:Ti,isIPv4:vT,nonSimpleDomain:xT}=Ll(),{SCHEMES:bT,getSchemeHandler:Ig}=Og();function kT(t,e){return typeof t=="string"?t=Ot(Gt(t,e),e):typeof t=="object"&&(t=Gt(Ot(t,e),e)),t}function ST(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Cg(Gt(t,n),Gt(e,n),n,!0);return n.skipEscape=!0,Ot(o,n)}function Cg(t,e,r,n){let o={};return n||(t=Gt(Ot(t,r),r),e=Gt(Ot(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=zo(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=zo(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=zo(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=zo(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 wT(t,e,r){return typeof t=="string"?(t=unescape(t),t=Ot(Ti(Gt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Ot(Ti(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Ot(Ti(Gt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Ot(Ti(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Ot(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=Ig(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=yT(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=zo(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 $T=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Gt(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($T);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(vT(n.host)===!1){let c=_T(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=Ig(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&xT(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 Hl={SCHEMES:bT,normalize:kT,resolve:ST,resolveComponent:Cg,equal:wT,serialize:Ot,parse:Gt};Ei.exports=Hl;Ei.exports.default=Hl;Ei.exports.fastUri=Hl});var Ag=T(Fl=>{"use strict";Object.defineProperty(Fl,"__esModule",{value:!0});var Ng=zg();Ng.code='require("ajv/dist/runtime/uri").default';Fl.default=Ng});var Hg=T(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.CodeGen=Oe.Name=Oe.nil=Oe.stringify=Oe.str=Oe._=Oe.KeywordCxt=void 0;var TT=Io();Object.defineProperty(Oe,"KeywordCxt",{enumerable:!0,get:function(){return TT.KeywordCxt}});var En=q();Object.defineProperty(Oe,"_",{enumerable:!0,get:function(){return En._}});Object.defineProperty(Oe,"str",{enumerable:!0,get:function(){return En.str}});Object.defineProperty(Oe,"stringify",{enumerable:!0,get:function(){return En.stringify}});Object.defineProperty(Oe,"nil",{enumerable:!0,get:function(){return En.nil}});Object.defineProperty(Oe,"Name",{enumerable:!0,get:function(){return En.Name}});Object.defineProperty(Oe,"CodeGen",{enumerable:!0,get:function(){return En.CodeGen}});var ET=bi(),Lg=Co(),PT=vl(),No=Si(),RT=q(),Ao=Po(),Pi=Eo(),Bl=X(),jg=bg(),OT=Ag(),Ug=(t,e)=>new RegExp(t,e);Ug.code="new RegExp";var IT=["removeAdditional","useDefaults","coerceTypes"],CT=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),zT={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."},NT={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Mg=200;function AT(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,y,x,b,w,R,ie,ae,Xe,Dt;let fe=t.strict,Jt=(e=t.code)===null||e===void 0?void 0:e.optimize,Me=Jt===!0||Jt===void 0?1:Jt||0,as=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Ug,ma=(o=t.uriResolver)!==null&&o!==void 0?o:OT.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:fe)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:fe)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:fe)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:fe)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:fe)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:Me,regExp:as}:{optimize:Me,regExp:as},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:Mg,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:Mg,meta:(y=t.meta)!==null&&y!==void 0?y:!0,messages:(x=t.messages)!==null&&x!==void 0?x:!0,inlineRefs:(b=t.inlineRefs)!==null&&b!==void 0?b:!0,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(R=t.addUsedSchema)!==null&&R!==void 0?R:!0,validateSchema:(ie=t.validateSchema)!==null&&ie!==void 0?ie:!0,validateFormats:(ae=t.validateFormats)!==null&&ae!==void 0?ae:!0,unicodeRegExp:(Xe=t.unicodeRegExp)!==null&&Xe!==void 0?Xe:!0,int32range:(Dt=t.int32range)!==null&&Dt!==void 0?Dt:!0,uriResolver:ma}}var jo=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...AT(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new RT.ValueScope({scope:{},prefixes:CT,es5:r,lines:n}),this.logger=UT(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,PT.getRules)(),Dg.call(this,zT,e,"NOT SUPPORTED"),Dg.call(this,NT,e,"DEPRECATED","warn"),this._metaOpts=ZT.call(this),e.formats&&MT.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&DT.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),jT.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=jg;n==="id"&&(o={...jg},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||i.call(this,f)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Lg.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,Ao.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=Zg.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new No.SchemaEnv({schema:{},schemaId:n});if(r=No.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=Zg.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,Ao.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(HT.call(this,n,r),!r)return(0,Bl.eachItem)(n,s=>Vl.call(this,s)),this;VT.call(this,r);let o={...r,type:(0,Pi.getJSONTypes)(r.type),schemaType:(0,Pi.getJSONTypes)(r.schemaType)};return(0,Bl.eachItem)(n,o.type.length===0?s=>Vl.call(this,s,o):s=>o.type.forEach(i=>Vl.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]=qg(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,Ao.normalizeId)(i||n);let u=Ao.getSchemaRefs.call(this,e,n);return c=new No.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):No.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{No.compileSchema.call(this,e)}finally{this.opts=r}}};jo.ValidationError=ET.default;jo.MissingRefError=Lg.default;Oe.default=jo;function Dg(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 Zg(t){return t=(0,Ao.normalizeId)(t),this.schemas[t]||this.refs[t]}function jT(){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 MT(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function DT(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 ZT(){let t={...this.opts};for(let e of IT)delete t[e];return t}var LT={log(){},warn(){},error(){}};function UT(t){if(t===!1)return LT;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 qT=/^[a-z_$][a-z0-9_$:-]*$/i;function HT(t,e){let{RULES:r}=this;if((0,Bl.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!qT.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 Vl(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,Pi.getJSONTypes)(e.type),schemaType:(0,Pi.getJSONTypes)(e.schemaType)}};e.before?FT.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 FT(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 VT(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=qg(e)),t.validateSchema=this.compile(e,!0))}var BT={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function qg(t){return{anyOf:[t,BT]}}});var Fg=T(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var KT={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Kl.default=KT});var Gg=T(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.callRef=Jr.getValidate=void 0;var GT=Co(),Vg=ut(),We=q(),Pn=Bt(),Bg=Si(),Ri=X(),JT={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=Bg.resolveRef.call(c,u,o,r);if(l===void 0)throw new GT.default(n.opts.uriResolver,o,r);if(l instanceof Bg.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return Oi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Oi(t,(0,We._)`${p}.validate`,u,u.$async)}function f(p){let h=Kg(t,p);Oi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,We.stringify)(p)}:{ref:p}),g=e.name("valid"),y=t.subschema({schema:p,dataTypes:[],schemaPath:We.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(y),t.ok(g)}}};function Kg(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,We._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Jr.getValidate=Kg;function Oi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Pn.default.this:We.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=o.let("valid");o.try(()=>{o.code((0,We._)`await ${(0,Vg.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,We._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,Vg.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,We._)`${p}.errors`;o.assign(Pn.default.vErrors,(0,We._)`${Pn.default.vErrors} === null ? ${h} : ${Pn.default.vErrors}.concat(${h})`),o.assign(Pn.default.errors,(0,We._)`${Pn.default.vErrors}.length`)}function m(p){var h;if(!s.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=Ri.mergeEvaluated.props(o,g.props,s.props));else{let y=o.var("props",(0,We._)`${p}.evaluated.props`);s.props=Ri.mergeEvaluated.props(o,y,s.props,We.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Ri.mergeEvaluated.items(o,g.items,s.items));else{let y=o.var("items",(0,We._)`${p}.evaluated.items`);s.items=Ri.mergeEvaluated.items(o,y,s.items,We.Name)}}}Jr.callRef=Oi;Jr.default=JT});var Jg=T(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});var WT=Fg(),YT=Gg(),XT=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",WT.default,YT.default];Gl.default=XT});var Wg=T(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var Ii=q(),pr=Ii.operators,Ci={maximum:{okStr:"<=",ok:pr.LTE,fail:pr.GT},minimum:{okStr:">=",ok:pr.GTE,fail:pr.LT},exclusiveMaximum:{okStr:"<",ok:pr.LT,fail:pr.GTE},exclusiveMinimum:{okStr:">",ok:pr.GT,fail:pr.LTE}},QT={message:({keyword:t,schemaCode:e})=>(0,Ii.str)`must be ${Ci[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ii._)`{comparison: ${Ci[t].okStr}, limit: ${e}}`},eE={keyword:Object.keys(Ci),type:"number",schemaType:"number",$data:!0,error:QT,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Ii._)`${r} ${Ci[e].fail} ${n} || isNaN(${r})`)}};Jl.default=eE});var Yg=T(Wl=>{"use strict";Object.defineProperty(Wl,"__esModule",{value:!0});var Mo=q(),tE={message:({schemaCode:t})=>(0,Mo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Mo._)`{multipleOf: ${t}}`},rE={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:tE,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,Mo._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Mo._)`${i} !== parseInt(${i})`;t.fail$data((0,Mo._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};Wl.default=rE});var Qg=T(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});function Xg(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}Yl.default=Xg;Xg.code='require("ajv/dist/runtime/ucs2length").default'});var e_=T(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var Wr=q(),nE=X(),oE=Qg(),sE={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Wr.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Wr._)`{limit: ${t}}`},iE={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:sE,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?Wr.operators.GT:Wr.operators.LT,i=o.opts.unicode===!1?(0,Wr._)`${r}.length`:(0,Wr._)`${(0,nE.useFunc)(t.gen,oE.default)}(${r})`;t.fail$data((0,Wr._)`${i} ${s} ${n}`)}};Xl.default=iE});var t_=T(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var aE=ut(),cE=X(),Rn=q(),uE={message:({schemaCode:t})=>(0,Rn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Rn._)`{pattern: ${t}}`},lE={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:uE,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,Rn._)`new RegExp`:(0,cE.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Rn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Rn._)`!${l}`)}else{let c=(0,aE.usePattern)(t,o);t.fail$data((0,Rn._)`!${c}.test(${r})`)}}};Ql.default=lE});var r_=T(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});var Do=q(),dE={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Do.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Do._)`{limit: ${t}}`},pE={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:dE,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Do.operators.GT:Do.operators.LT;t.fail$data((0,Do._)`Object.keys(${r}).length ${o} ${n}`)}};ed.default=pE});var n_=T(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});var Zo=ut(),Lo=q(),fE=X(),mE={message:({params:{missingProperty:t}})=>(0,Lo.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Lo._)`{missingProperty: ${t}}`},hE={keyword:"required",type:"object",schemaType:"array",$data:!0,error:mE,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:p}=t.it;for(let h of r)if(m?.[h]===void 0&&!p.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,y=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,fE.checkStrictMode)(i,y,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(Lo.nil,d);else for(let m of r)(0,Zo.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>f(m,p)),t.ok(p)}else e.if((0,Zo.checkMissingProp)(t,r,m)),(0,Zo.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",n,m=>{t.setParams({missingProperty:m}),e.if((0,Zo.noPropertyInData)(e,o,m,a.ownProperties),()=>t.error())})}function f(m,p){t.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(p,(0,Zo.propertyInData)(e,o,m,a.ownProperties)),e.if((0,Lo.not)(p),()=>{t.error(),e.break()})},Lo.nil)}}};td.default=hE});var o_=T(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});var Uo=q(),gE={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Uo.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Uo._)`{limit: ${t}}`},_E={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:gE,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?Uo.operators.GT:Uo.operators.LT;t.fail$data((0,Uo._)`${r}.length ${o} ${n}`)}};rd.default=_E});var zi=T(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var s_=El();s_.code='require("ajv/dist/runtime/equal").default';nd.default=s_});var i_=T(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});var od=Eo(),Ie=q(),yE=X(),vE=zi(),xE={message:({params:{i:t,j:e}})=>(0,Ie.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Ie._)`{i: ${t}, j: ${e}}`},bE={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:xE,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,od.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,Ie._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,Ie._)`${r}.length`),h=e.let("j");t.setParams({i:p,j:h}),e.assign(c,!0),e.if((0,Ie._)`${p} > 1`,()=>(d()?f:m)(p,h))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,h){let g=e.name("item"),y=(0,od.checkDataTypes)(u,g,a.opts.strictNumbers,od.DataType.Wrong),x=e.const("indices",(0,Ie._)`{}`);e.for((0,Ie._)`;${p}--;`,()=>{e.let(g,(0,Ie._)`${r}[${p}]`),e.if(y,(0,Ie._)`continue`),u.length>1&&e.if((0,Ie._)`typeof ${g} == "string"`,(0,Ie._)`${g} += "_"`),e.if((0,Ie._)`typeof ${x}[${g}] == "number"`,()=>{e.assign(h,(0,Ie._)`${x}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,Ie._)`${x}[${g}] = ${p}`)})}function m(p,h){let g=(0,yE.useFunc)(e,vE.default),y=e.name("outer");e.label(y).for((0,Ie._)`;${p}--;`,()=>e.for((0,Ie._)`${h} = ${p}; ${h}--;`,()=>e.if((0,Ie._)`${g}(${r}[${p}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(y)})))}}};sd.default=bE});var a_=T(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var id=q(),kE=X(),SE=zi(),wE={message:"must be equal to constant",params:({schemaCode:t})=>(0,id._)`{allowedValue: ${t}}`},$E={keyword:"const",$data:!0,error:wE,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,id._)`!${(0,kE.useFunc)(e,SE.default)}(${r}, ${o})`):t.fail((0,id._)`${s} !== ${r}`)}};ad.default=$E});var c_=T(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});var qo=q(),TE=X(),EE=zi(),PE={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,qo._)`{allowedValues: ${t}}`},RE={keyword:"enum",schemaType:"array",$data:!0,error:PE,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,TE.useFunc)(e,EE.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=e.const("vSchema",s);l=(0,qo.or)(...o.map((p,h)=>f(m,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,m=>e.if((0,qo._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function f(m,p){let h=o[p];return typeof h=="object"&&h!==null?(0,qo._)`${u()}(${r}, ${m}[${p}])`:(0,qo._)`${r} === ${h}`}}};cd.default=RE});var u_=T(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var OE=Wg(),IE=Yg(),CE=e_(),zE=t_(),NE=r_(),AE=n_(),jE=o_(),ME=i_(),DE=a_(),ZE=c_(),LE=[OE.default,IE.default,CE.default,zE.default,NE.default,AE.default,jE.default,ME.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},DE.default,ZE.default];ud.default=LE});var dd=T(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.validateAdditionalItems=void 0;var Yr=q(),ld=X(),UE={message:({params:{len:t}})=>(0,Yr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Yr._)`{limit: ${t}}`},qE={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:UE,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,ld.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}l_(t,n)}};function l_(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Yr._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Yr._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,ld.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Yr._)`${a} <= ${e.length}`);r.if((0,Yr.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:ld.Type.Num},u),i.allErrors||r.if((0,Yr.not)(u),()=>r.break())})}}Ho.validateAdditionalItems=l_;Ho.default=qE});var pd=T(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.validateTuple=void 0;var d_=q(),Ni=X(),HE=ut(),FE={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return p_(t,"additionalItems",e);r.items=!0,!(0,Ni.alwaysValidSchema)(r,e)&&t.ok((0,HE.validateArray)(t))}};function p_(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=Ni.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,d_._)`${s}.length`);r.forEach((d,f)=>{(0,Ni.alwaysValidSchema)(a,d)||(n.if((0,d_._)`${u} > ${f}`,()=>t.subschema({keyword:i,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:m}=a,p=r.length,h=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,Ni.checkStrictMode)(a,g,f.strictTuples)}}}Fo.validateTuple=p_;Fo.default=FE});var f_=T(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var VE=pd(),BE={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,VE.validateTuple)(t,"items")};fd.default=BE});var h_=T(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var m_=q(),KE=X(),GE=ut(),JE=dd(),WE={message:({params:{len:t}})=>(0,m_.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,m_._)`{limit: ${t}}`},YE={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:WE,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,KE.alwaysValidSchema)(n,e)&&(o?(0,JE.validateAdditionalItems)(t,o):t.ok((0,GE.validateArray)(t)))}};md.default=YE});var g_=T(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var dt=q(),Ai=X(),XE={message:({params:{min:t,max:e}})=>e===void 0?(0,dt.str)`must contain at least ${t} valid item(s)`:(0,dt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,dt._)`{minContains: ${t}}`:(0,dt._)`{minContains: ${t}, maxContains: ${e}}`},QE={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:XE,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,dt._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Ai.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Ai.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Ai.alwaysValidSchema)(s,r)){let h=(0,dt._)`${l} >= ${i}`;a!==void 0&&(h=(0,dt._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,dt._)`${o}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>p(g)))}function m(h,g){e.forRange("i",0,l,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:Ai.Type.Num,compositeRule:!0},h),g()})}function p(h){e.code((0,dt._)`${h}++`),a===void 0?e.if((0,dt._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,dt._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,dt._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};hd.default=QE});var v_=T(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.validateSchemaDeps=It.validatePropertyDeps=It.error=void 0;var gd=q(),eP=X(),Vo=ut();It.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,gd.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,gd._)`{property: ${t},
2
+ var wx=Object.create;var Ca=Object.defineProperty;var Ex=Object.getOwnPropertyDescriptor;var $x=Object.getOwnPropertyNames;var Tx=Object.getPrototypeOf,Px=Object.prototype.hasOwnProperty;var we=(t,e)=>()=>(t&&(e=t(t=0)),e);var $=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),tt=(t,e)=>{for(var r in e)Ca(t,r,{get:e[r],enumerable:!0})},Rx=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of $x(e))!Px.call(t,o)&&o!==r&&Ca(t,o,{get:()=>e[o],enumerable:!(n=Ex(e,o))||n.enumerable});return t};var Yp=(t,e,r)=>(r=t!=null?wx(Tx(t)):{},Rx(e||!t||!t.__esModule?Ca(r,"default",{value:t,enumerable:!0}):r,t));var Io=$(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.regexpCode=ee.getEsmExportName=ee.getProperty=ee.safeStringify=ee.stringify=ee.strConcat=ee.addCodeArg=ee.str=ee._=ee.nil=ee._Code=ee.Name=ee.IDENTIFIER=ee._CodeOrName=void 0;var Oo=class{};ee._CodeOrName=Oo;ee.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Kr=class extends Oo{constructor(e){if(super(),!ee.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}}};ee.Name=Kr;var lt=class extends Oo{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 Kr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ee._Code=lt;ee.nil=new lt("");function Kh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)hl(r,e[n]),r.push(t[++n]);return new lt(r)}ee._=Kh;var ml=new lt("+");function Jh(t,...e){let r=[Co(t[0])],n=0;for(;n<e.length;)r.push(ml),hl(r,e[n]),r.push(ml,Co(t[++n]));return $E(r),new lt(r)}ee.str=Jh;function hl(t,e){e instanceof lt?t.push(...e._items):e instanceof Kr?t.push(e):t.push(RE(e))}ee.addCodeArg=hl;function $E(t){let e=1;for(;e<t.length-1;){if(t[e]===ml){let r=TE(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function TE(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Kr||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 Kr))return`"${t}${e.slice(1)}`}function PE(t,e){return e.emptyStr()?t:t.emptyStr()?e:Jh`${t}${e}`}ee.strConcat=PE;function RE(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Co(Array.isArray(t)?t.join(","):t)}function OE(t){return new lt(Co(t))}ee.stringify=OE;function Co(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ee.safeStringify=Co;function CE(t){return typeof t=="string"&&ee.IDENTIFIER.test(t)?new lt(`.${t}`):Kh`[${t}]`}ee.getProperty=CE;function IE(t){if(typeof t=="string"&&ee.IDENTIFIER.test(t))return new lt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ee.getEsmExportName=IE;function zE(t){return new lt(t.toString())}ee.regexpCode=zE});var yl=$(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.ValueScope=Ye.ValueScopeName=Ye.Scope=Ye.varKinds=Ye.UsedValueState=void 0;var We=Io(),gl=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},ki;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(ki||(Ye.UsedValueState=ki={}));Ye.varKinds={const:new We.Name("const"),let:new We.Name("let"),var:new We.Name("var")};var bi=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof We.Name?e:this.name(e)}name(e){return new We.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}}};Ye.Scope=bi;var wi=class extends We.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,We._)`.${new We.Name(r)}[${n}]`}};Ye.ValueScopeName=wi;var NE=(0,We._)`\n`,_l=class extends bi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?NE:We.nil}}get(){return this._scope}name(e){return new wi(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,We._)`${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=We.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,ki.Started);let l=r(u);if(l){let d=this.opts.es5?Ye.varKinds.var:Ye.varKinds.const;s=(0,We._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,We._)`${s}${l}${this.opts._n}`;else throw new gl(u);c.set(u,ki.Completed)})}return s}};Ye.ValueScope=_l});var q=$(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.or=F.and=F.not=F.CodeGen=F.operators=F.varKinds=F.ValueScopeName=F.ValueScope=F.Scope=F.Name=F.regexpCode=F.stringify=F.getProperty=F.nil=F.strConcat=F.str=F._=void 0;var Y=Io(),xt=yl(),ur=Io();Object.defineProperty(F,"_",{enumerable:!0,get:function(){return ur._}});Object.defineProperty(F,"str",{enumerable:!0,get:function(){return ur.str}});Object.defineProperty(F,"strConcat",{enumerable:!0,get:function(){return ur.strConcat}});Object.defineProperty(F,"nil",{enumerable:!0,get:function(){return ur.nil}});Object.defineProperty(F,"getProperty",{enumerable:!0,get:function(){return ur.getProperty}});Object.defineProperty(F,"stringify",{enumerable:!0,get:function(){return ur.stringify}});Object.defineProperty(F,"regexpCode",{enumerable:!0,get:function(){return ur.regexpCode}});Object.defineProperty(F,"Name",{enumerable:!0,get:function(){return ur.Name}});var Pi=yl();Object.defineProperty(F,"Scope",{enumerable:!0,get:function(){return Pi.Scope}});Object.defineProperty(F,"ValueScope",{enumerable:!0,get:function(){return Pi.ValueScope}});Object.defineProperty(F,"ValueScopeName",{enumerable:!0,get:function(){return Pi.ValueScopeName}});Object.defineProperty(F,"varKinds",{enumerable:!0,get:function(){return Pi.varKinds}});F.operators={GT:new Y._Code(">"),GTE:new Y._Code(">="),LT:new Y._Code("<"),LTE:new Y._Code("<="),EQ:new Y._Code("==="),NEQ:new Y._Code("!=="),NOT:new Y._Code("!"),OR:new Y._Code("||"),AND:new Y._Code("&&"),ADD:new Y._Code("+")};var Kt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},vl=class extends Kt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?xt.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=$n(this.rhs,e,r)),this}get names(){return this.rhs instanceof Y._CodeOrName?this.rhs.names:{}}},Ei=class extends Kt{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 Y.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=$n(this.rhs,e,r),this}get names(){let e=this.lhs instanceof Y.Name?{}:{...this.lhs.names};return Ti(e,this.rhs)}},xl=class extends Ei{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Sl=class extends Kt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},kl=class extends Kt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},bl=class extends Kt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},wl=class extends Kt{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=$n(this.code,e,r),this}get names(){return this.code instanceof Y._CodeOrName?this.code.names:{}}},zo=class extends Kt{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)||(AE(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Wr(e,r.names),{})}},Jt=class extends zo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},El=class extends zo{},En=class extends Jt{};En.kind="else";var Jr=class t extends Jt{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 En(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Gh(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=$n(this.condition,e,r),this}get names(){let e=super.names;return Ti(e,this.condition),this.else&&Wr(e,this.else.names),e}};Jr.kind="if";var Gr=class extends Jt{};Gr.kind="for";var $l=class extends Gr{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=$n(this.iteration,e,r),this}get names(){return Wr(super.names,this.iteration.names)}},Tl=class extends Gr{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?xt.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=Ti(super.names,this.from);return Ti(e,this.to)}},$i=class extends Gr{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=$n(this.iterable,e,r),this}get names(){return Wr(super.names,this.iterable.names)}},No=class extends Jt{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)}};No.kind="func";var Ao=class extends zo{render(e){return"return "+super.render(e)}};Ao.kind="return";var Pl=class extends Jt{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&&Wr(e,this.catch.names),this.finally&&Wr(e,this.finally.names),e}},jo=class extends Jt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};jo.kind="catch";var Mo=class extends Jt{render(e){return"finally"+super.render(e)}};Mo.kind="finally";var Rl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
+ `:""},this._extScope=e,this._scope=new xt.Scope({parent:e}),this._nodes=[new El]}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 vl(e,s,n)),s}const(e,r,n){return this._def(xt.varKinds.const,e,r,n)}let(e,r,n){return this._def(xt.varKinds.let,e,r,n)}var(e,r,n){return this._def(xt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Ei(e,r,n))}add(e,r){return this._leafNode(new xl(e,F.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==Y.nil&&this._leafNode(new wl(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,Y.addCodeArg)(r,o));return r.push("}"),new Y._Code(r)}if(e,r,n){if(this._blockNode(new Jr(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 Jr(e))}else(){return this._elseNode(new En)}endIf(){return this._endBlockNode(Jr,En)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new $l(e),r)}forRange(e,r,n,o,s=this.opts.es5?xt.varKinds.var:xt.varKinds.let){let i=this._scope.toName(e);return this._for(new Tl(s,i,r,n),()=>o(i))}forOf(e,r,n,o=xt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof Y.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Y._)`${i}.length`,a=>{this.var(s,(0,Y._)`${i}[${a}]`),n(s)})}return this._for(new $i("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?xt.varKinds.var:xt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Y._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new $i("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Gr)}label(e){return this._leafNode(new Sl(e))}break(e){return this._leafNode(new kl(e))}return(e){let r=new Ao;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Ao)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Pl;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new jo(s),r(s)}return n&&(this._currNode=o.finally=new Mo,this.code(n)),this._endBlockNode(jo,Mo)}throw(e){return this._leafNode(new bl(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=Y.nil,n,o){return this._blockNode(new No(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(No)}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 Jr))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}};F.CodeGen=Rl;function Wr(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ti(t,e){return e instanceof Y._CodeOrName?Wr(t,e.names):t}function $n(t,e,r){if(t instanceof Y.Name)return n(t);if(!o(t))return t;return new Y._Code(t._items.reduce((s,i)=>(i instanceof Y.Name&&(i=n(i)),i instanceof Y._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 Y._Code&&s._items.some(i=>i instanceof Y.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function AE(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Gh(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,Y._)`!${Ol(t)}`}F.not=Gh;var jE=Wh(F.operators.AND);function ME(...t){return t.reduce(jE)}F.and=ME;var DE=Wh(F.operators.OR);function LE(...t){return t.reduce(DE)}F.or=LE;function Wh(t){return(e,r)=>e===Y.nil?r:r===Y.nil?e:(0,Y._)`${Ol(e)} ${t} ${Ol(r)}`}function Ol(t){return t instanceof Y.Name?t:(0,Y._)`(${t})`}});var X=$(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var se=q(),ZE=Io();function UE(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=UE;function HE(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Qh(t,e),!eg(e,t.self.RULES.all))}V.alwaysValidSchema=HE;function Qh(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]||ng(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=Qh;function eg(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=eg;function qE(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}V.schemaHasRulesButRef=qE;function FE({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,se._)`${r}`}return(0,se._)`${t}${e}${(0,se.getProperty)(n)}`}V.schemaRefOrVal=FE;function VE(t){return tg(decodeURIComponent(t))}V.unescapeFragment=VE;function BE(t){return encodeURIComponent(Il(t))}V.escapeFragment=BE;function Il(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Il;function tg(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=tg;function KE(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=KE;function Yh({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?t(o,s,i):e(o,s,i),i):s instanceof se.Name?(e(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}V.mergeEvaluated={props:Yh({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,se._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,se._)`${r} || {}`),zl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:rg}),items:Yh({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,se._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,se._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function rg(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,se._)`{}`);return e!==void 0&&zl(t,r,e),r}V.evaluatedPropsToName=rg;function zl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,se._)`${e}${(0,se.getProperty)(n)}`,!0))}V.setEvaluated=zl;var Xh={};function JE(t,e){return t.scopeValue("func",{ref:e,code:Xh[e.code]||(Xh[e.code]=new ZE._Code(e.code))})}V.useFunc=JE;var Cl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Cl||(V.Type=Cl={}));function GE(t,e,r){if(t instanceof se.Name){let n=e===Cl.Num;return r?n?(0,se._)`"[" + ${t} + "]"`:(0,se._)`"['" + ${t} + "']"`:n?(0,se._)`"/" + ${t}`:(0,se._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(t).toString():"/"+Il(t)}V.getErrorPath=GE;function ng(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}V.checkStrictMode=ng});var Gt=$(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var Me=q(),WE={data:new Me.Name("data"),valCxt:new Me.Name("valCxt"),instancePath:new Me.Name("instancePath"),parentData:new Me.Name("parentData"),parentDataProperty:new Me.Name("parentDataProperty"),rootData:new Me.Name("rootData"),dynamicAnchors:new Me.Name("dynamicAnchors"),vErrors:new Me.Name("vErrors"),errors:new Me.Name("errors"),this:new Me.Name("this"),self:new Me.Name("self"),scope:new Me.Name("scope"),json:new Me.Name("json"),jsonPos:new Me.Name("jsonPos"),jsonLen:new Me.Name("jsonLen"),jsonPart:new Me.Name("jsonPart")};Nl.default=WE});var Do=$(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.extendErrors=De.resetErrorsCount=De.reportExtraError=De.reportError=De.keyword$DataError=De.keywordError=void 0;var Q=q(),Ri=X(),qe=Gt();De.keywordError={message:({keyword:t})=>(0,Q.str)`must pass "${t}" keyword validation`};De.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 YE(t,e=De.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=ig(t,e,r);n??(i||a)?og(s,c):sg(o,(0,Q._)`[${c}]`)}De.reportError=YE;function XE(t,e=De.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=ig(t,e,r);og(o,a),s||i||sg(n,qe.default.vErrors)}De.reportExtraError=XE;function QE(t,e){t.assign(qe.default.errors,e),t.if((0,Q._)`${qe.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Q._)`${qe.default.vErrors}.length`,e),()=>t.assign(qe.default.vErrors,null)))}De.resetErrorsCount=QE;function e$({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,qe.default.errors,a=>{t.const(i,(0,Q._)`${qe.default.vErrors}[${a}]`),t.if((0,Q._)`${i}.instancePath === undefined`,()=>t.assign((0,Q._)`${i}.instancePath`,(0,Q.strConcat)(qe.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))})}De.extendErrors=e$;function og(t,e){let r=t.const("err",e);t.if((0,Q._)`${qe.default.vErrors} === null`,()=>t.assign(qe.default.vErrors,(0,Q._)`[${r}]`),(0,Q._)`${qe.default.vErrors}.push(${r})`),t.code((0,Q._)`${qe.default.errors}++`)}function sg(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 Yr={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 ig(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Q._)`{}`:t$(t,e,r)}function t$(t,e,r={}){let{gen:n,it:o}=t,s=[r$(o,r),n$(t,r)];return o$(t,e,s),n.object(...s)}function r$({errorPath:t},{instancePath:e}){let r=e?(0,Q.str)`${t}${(0,Ri.getErrorPath)(e,Ri.Type.Str)}`:t;return[qe.default.instancePath,(0,Q.strConcat)(qe.default.instancePath,r)]}function n$({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,Ri.getErrorPath)(r,Ri.Type.Str)}`),[Yr.schemaPath,o]}function o$(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([Yr.keyword,o],[Yr.params,typeof e=="function"?e(t):e||(0,Q._)`{}`]),c.messages&&n.push([Yr.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Yr.schema,i],[Yr.parentSchema,(0,Q._)`${l}${d}`],[qe.default.data,s]),u&&n.push([Yr.propertyName,u])}});var cg=$(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.boolOrEmptySchema=Tn.topBoolOrEmptySchema=void 0;var s$=Do(),i$=q(),a$=Gt(),c$={message:"boolean schema is false"};function u$(t){let{gen:e,schema:r,validateName:n}=t;r===!1?ag(t,!1):typeof r=="object"&&r.$async===!0?e.return(a$.default.data):(e.assign((0,i$._)`${n}.errors`,null),e.return(!0))}Tn.topBoolOrEmptySchema=u$;function l$(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),ag(t)):r.var(e,!0)}Tn.boolOrEmptySchema=l$;function ag(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,s$.reportError)(o,c$,void 0,e)}});var Al=$(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.getRules=Pn.isJSONType=void 0;var d$=["string","number","integer","boolean","null","object","array"],p$=new Set(d$);function f$(t){return typeof t=="string"&&p$.has(t)}Pn.isJSONType=f$;function m$(){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:{}}}Pn.getRules=m$});var jl=$(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.shouldUseRule=lr.shouldUseGroup=lr.schemaHasRulesForType=void 0;function h$({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&ug(t,n)}lr.schemaHasRulesForType=h$;function ug(t,e){return e.rules.some(r=>lg(t,r))}lr.shouldUseGroup=ug;function lg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}lr.shouldUseRule=lg});var Lo=$(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.reportTypeError=Le.checkDataTypes=Le.checkDataType=Le.coerceAndCheckDataType=Le.getJSONTypes=Le.getSchemaTypes=Le.DataType=void 0;var g$=Al(),_$=jl(),y$=Do(),U=q(),dg=X(),Rn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Rn||(Le.DataType=Rn={}));function v$(t){let e=pg(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}Le.getSchemaTypes=v$;function pg(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(g$.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Le.getJSONTypes=pg;function x$(t,e){let{gen:r,data:n,opts:o}=t,s=S$(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,_$.schemaHasRulesForType)(t,e[0]));if(i){let a=Dl(e,n,o.strictNumbers,Rn.Wrong);r.if(a,()=>{s.length?k$(t,e,s):Ll(t)})}return i}Le.coerceAndCheckDataType=x$;var fg=new Set(["string","number","integer","boolean","null"]);function S$(t,e){return e?t.filter(r=>fg.has(r)||e==="array"&&r==="array"):[]}function k$(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,U._)`typeof ${o}`),a=n.let("coerced",(0,U._)`undefined`);s.coerceTypes==="array"&&n.if((0,U._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,U._)`${o}[0]`).assign(i,(0,U._)`typeof ${o}`).if(Dl(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,U._)`${a} !== undefined`);for(let u of r)(fg.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Ll(t),n.endIf(),n.if((0,U._)`${a} !== undefined`,()=>{n.assign(o,a),b$(t,a)});function c(u){switch(u){case"string":n.elseIf((0,U._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,U._)`"" + ${o}`).elseIf((0,U._)`${o} === null`).assign(a,(0,U._)`""`);return;case"number":n.elseIf((0,U._)`${i} == "boolean" || ${o} === null
4
+ || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,U._)`+${o}`);return;case"integer":n.elseIf((0,U._)`${i} === "boolean" || ${o} === null
5
+ || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,U._)`+${o}`);return;case"boolean":n.elseIf((0,U._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,U._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,U._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,U._)`${i} === "string" || ${i} === "number"
6
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,U._)`[${o}]`)}}}function b$({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,U._)`${e} !== undefined`,()=>t.assign((0,U._)`${e}[${r}]`,n))}function Ml(t,e,r,n=Rn.Correct){let o=n===Rn.Correct?U.operators.EQ:U.operators.NEQ,s;switch(t){case"null":return(0,U._)`${e} ${o} null`;case"array":s=(0,U._)`Array.isArray(${e})`;break;case"object":s=(0,U._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,U._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,U._)`typeof ${e} ${o} ${t}`}return n===Rn.Correct?s:(0,U.not)(s);function i(a=U.nil){return(0,U.and)((0,U._)`typeof ${e} == "number"`,a,r?(0,U._)`isFinite(${e})`:U.nil)}}Le.checkDataType=Ml;function Dl(t,e,r,n){if(t.length===1)return Ml(t[0],e,r,n);let o,s=(0,dg.toHash)(t);if(s.array&&s.object){let i=(0,U._)`typeof ${e} != "object"`;o=s.null?i:(0,U._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=U.nil;s.number&&delete s.integer;for(let i in s)o=(0,U.and)(o,Ml(i,e,r,n));return o}Le.checkDataTypes=Dl;var w$={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,U._)`{type: ${t}}`:(0,U._)`{type: ${e}}`};function Ll(t){let e=E$(t);(0,y$.reportError)(e,w$)}Le.reportTypeError=Ll;function E$(t){let{gen:e,data:r,schema:n}=t,o=(0,dg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var hg=$(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.assignDefaults=void 0;var On=q(),$$=X();function T$(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)mg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>mg(t,s,o.default))}Oi.assignDefaults=T$;function mg(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,On._)`${s}${(0,On.getProperty)(e)}`;if(o){(0,$$.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,On._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,On._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,On._)`${a} = ${(0,On.stringify)(r)}`)}});var dt=$(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.validateUnion=ne.validateArray=ne.usePattern=ne.callValidateCode=ne.schemaProperties=ne.allSchemaProperties=ne.noPropertyInData=ne.propertyInData=ne.isOwnProperty=ne.hasPropFunc=ne.reportMissingProp=ne.checkMissingProp=ne.checkReportMissingProp=void 0;var le=q(),Zl=X(),dr=Gt(),P$=X();function R$(t,e){let{gen:r,data:n,it:o}=t;r.if(Hl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,le._)`${e}`},!0),t.error()})}ne.checkReportMissingProp=R$;function O$({gen:t,data:e,it:{opts:r}},n,o){return(0,le.or)(...n.map(s=>(0,le.and)(Hl(t,e,s,r.ownProperties),(0,le._)`${o} = ${s}`)))}ne.checkMissingProp=O$;function C$(t,e){t.setParams({missingProperty:e},!0),t.error()}ne.reportMissingProp=C$;function gg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,le._)`Object.prototype.hasOwnProperty`})}ne.hasPropFunc=gg;function Ul(t,e,r){return(0,le._)`${gg(t)}.call(${e}, ${r})`}ne.isOwnProperty=Ul;function I$(t,e,r,n){let o=(0,le._)`${e}${(0,le.getProperty)(r)} !== undefined`;return n?(0,le._)`${o} && ${Ul(t,e,r)}`:o}ne.propertyInData=I$;function Hl(t,e,r,n){let o=(0,le._)`${e}${(0,le.getProperty)(r)} === undefined`;return n?(0,le.or)(o,(0,le.not)(Ul(t,e,r))):o}ne.noPropertyInData=Hl;function _g(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ne.allSchemaProperties=_g;function z$(t,e){return _g(e).filter(r=>!(0,Zl.alwaysValidSchema)(t,e[r]))}ne.schemaProperties=z$;function N$({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,le._)`${t}, ${e}, ${n}${o}`:e,d=[[dr.default.instancePath,(0,le.strConcat)(dr.default.instancePath,s)],[dr.default.parentData,i.parentData],[dr.default.parentDataProperty,i.parentDataProperty],[dr.default.rootData,dr.default.rootData]];i.opts.dynamicRef&&d.push([dr.default.dynamicAnchors,dr.default.dynamicAnchors]);let f=(0,le._)`${l}, ${r.object(...d)}`;return c!==le.nil?(0,le._)`${a}.call(${c}, ${f})`:(0,le._)`${a}(${f})`}ne.callValidateCode=N$;var A$=(0,le._)`new RegExp`;function j$({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,le._)`${o.code==="new RegExp"?A$:(0,P$.useFunc)(t,o)}(${r}, ${n})`})}ne.usePattern=j$;function M$(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,le._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Zl.Type.Num},s),e.if((0,le.not)(s),a)})}}ne.validateArray=M$;function D$(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,Zl.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,le._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,le.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}ne.validateUnion=D$});var xg=$(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.validateKeywordUsage=zt.validSchemaType=zt.funcKeywordCode=zt.macroKeywordCode=void 0;var Fe=q(),Xr=Gt(),L$=dt(),Z$=Do();function U$(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=vg(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Fe.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}zt.macroKeywordCode=U$;function H$(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;F$(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=vg(n,o,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&yg(t),g(()=>t.error());else{let _=e.async?m():p();e.modifying&&yg(t),g(()=>q$(t,_))}}function m(){let _=n.let("ruleErrs",null);return n.try(()=>h((0,Fe._)`await `),x=>n.assign(d,!1).if((0,Fe._)`${x} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Fe._)`${x}.errors`),()=>n.throw(x))),_}function p(){let _=(0,Fe._)`${l}.errors`;return n.assign(_,null),h(Fe.nil),_}function h(_=e.async?(0,Fe._)`await `:Fe.nil){let x=c.opts.passContext?Xr.default.this:Xr.default.self,S=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Fe._)`${_}${(0,L$.callValidateCode)(t,l,x,S)}`,e.modifying)}function g(_){var x;n.if((0,Fe.not)((x=e.valid)!==null&&x!==void 0?x:d),_)}}zt.funcKeywordCode=H$;function yg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Fe._)`${n.parentData}[${n.parentDataProperty}]`))}function q$(t,e){let{gen:r}=t;r.if((0,Fe._)`Array.isArray(${e})`,()=>{r.assign(Xr.default.vErrors,(0,Fe._)`${Xr.default.vErrors} === null ? ${e} : ${Xr.default.vErrors}.concat(${e})`).assign(Xr.default.errors,(0,Fe._)`${Xr.default.vErrors}.length`),(0,Z$.extendErrors)(t)},()=>t.error())}function F$({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function vg(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Fe.stringify)(r)})}function V$(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")}zt.validSchemaType=V$;function B$({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)}}zt.validateKeywordUsage=B$});var kg=$(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.extendSubschemaMode=pr.extendSubschemaData=pr.getSubschema=void 0;var Nt=q(),Sg=X();function K$(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,Nt._)`${t.schemaPath}${(0,Nt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,Nt._)`${t.schemaPath}${(0,Nt.getProperty)(e)}${(0,Nt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Sg.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')}pr.getSubschema=K$;function J$(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,Nt._)`${e.data}${(0,Nt.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Nt.str)`${u}${(0,Sg.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Nt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof Nt.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]}}pr.extendSubschemaData=J$;function G$(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}pr.extendSubschemaMode=G$});var ql=$((x1,bg)=>{"use strict";bg.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 Eg=$((S1,wg)=>{"use strict";var fr=wg.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(){};Ci(e,n,o,t,"",t)};fr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};fr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};fr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};fr.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 Ci(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 fr.arrayKeywords)for(var f=0;f<d.length;f++)Ci(t,e,r,d[f],o+"/"+l+"/"+f,s,o,l,n,f)}else if(l in fr.propsKeywords){if(d&&typeof d=="object")for(var m in d)Ci(t,e,r,d[m],o+"/"+l+"/"+W$(m),s,o,l,n,m)}else(l in fr.keywords||t.allKeys&&!(l in fr.skipKeywords))&&Ci(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function W$(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Zo=$(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.getSchemaRefs=Xe.resolveUrl=Xe.normalizeId=Xe._getFullPath=Xe.getFullPath=Xe.inlineRef=void 0;var Y$=X(),X$=ql(),Q$=Eg(),eT=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function tT(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Fl(t):e?$g(t)<=e:!1}Xe.inlineRef=tT;var rT=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Fl(t){for(let e in t){if(rT.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Fl)||typeof r=="object"&&Fl(r))return!0}return!1}function $g(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!eT.has(r)&&(typeof t[r]=="object"&&(0,Y$.eachItem)(t[r],n=>e+=$g(n)),e===1/0))return 1/0}return e}function Tg(t,e="",r){r!==!1&&(e=Cn(e));let n=t.parse(e);return Pg(t,n)}Xe.getFullPath=Tg;function Pg(t,e){return t.serialize(e).split("#")[0]+"#"}Xe._getFullPath=Pg;var nT=/#\/?$/;function Cn(t){return t?t.replace(nT,""):""}Xe.normalizeId=Cn;function oT(t,e,r){return r=Cn(r),t.resolve(e,r)}Xe.resolveUrl=oT;var sT=/^[a-z_][-a-z0-9._]*$/i;function iT(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Cn(t[r]||e),s={"":o},i=Tg(n,o,!1),a={},c=new Set;return Q$(t,{allKeys:!0},(d,f,m,p)=>{if(p===void 0)return;let h=i+f,g=s[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),x.call(this,d.$anchor),x.call(this,d.$dynamicAnchor),s[f]=g;function _(S){let w=this.opts.uriResolver.resolve;if(S=Cn(g?w(g,S):S),c.has(S))throw l(S);c.add(S);let R=this.refs[S];return typeof R=="string"&&(R=this.refs[R]),typeof R=="object"?u(d,R.schema,S):S!==Cn(h)&&(S[0]==="#"?(u(d,a[S],S),a[S]=d):this.refs[S]=h),S}function x(S){if(typeof S=="string"){if(!sT.test(S))throw new Error(`invalid anchor "${S}"`);_.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!X$(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Xe.getSchemaRefs=iT});var qo=$(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.getData=mr.KeywordCxt=mr.validateFunctionCode=void 0;var zg=cg(),Rg=Lo(),Bl=jl(),Ii=Lo(),aT=hg(),Ho=xg(),Vl=kg(),z=q(),D=Gt(),cT=Zo(),Wt=X(),Uo=Do();function uT(t){if(jg(t)&&(Mg(t),Ag(t))){pT(t);return}Ng(t,()=>(0,zg.topBoolOrEmptySchema)(t))}mr.validateFunctionCode=uT;function Ng({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,z._)`${D.default.data}, ${D.default.valCxt}`,n.$async,()=>{t.code((0,z._)`"use strict"; ${Og(r,o)}`),dT(t,o),t.code(s)}):t.func(e,(0,z._)`${D.default.data}, ${lT(o)}`,n.$async,()=>t.code(Og(r,o)).code(s))}function lT(t){return(0,z._)`{${D.default.instancePath}="", ${D.default.parentData}, ${D.default.parentDataProperty}, ${D.default.rootData}=${D.default.data}${t.dynamicRef?(0,z._)`, ${D.default.dynamicAnchors}={}`:z.nil}}={}`}function dT(t,e){t.if(D.default.valCxt,()=>{t.var(D.default.instancePath,(0,z._)`${D.default.valCxt}.${D.default.instancePath}`),t.var(D.default.parentData,(0,z._)`${D.default.valCxt}.${D.default.parentData}`),t.var(D.default.parentDataProperty,(0,z._)`${D.default.valCxt}.${D.default.parentDataProperty}`),t.var(D.default.rootData,(0,z._)`${D.default.valCxt}.${D.default.rootData}`),e.dynamicRef&&t.var(D.default.dynamicAnchors,(0,z._)`${D.default.valCxt}.${D.default.dynamicAnchors}`)},()=>{t.var(D.default.instancePath,(0,z._)`""`),t.var(D.default.parentData,(0,z._)`undefined`),t.var(D.default.parentDataProperty,(0,z._)`undefined`),t.var(D.default.rootData,D.default.data),e.dynamicRef&&t.var(D.default.dynamicAnchors,(0,z._)`{}`)})}function pT(t){let{schema:e,opts:r,gen:n}=t;Ng(t,()=>{r.$comment&&e.$comment&&Lg(t),_T(t),n.let(D.default.vErrors,null),n.let(D.default.errors,0),r.unevaluated&&fT(t),Dg(t),xT(t)})}function fT(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,z._)`${r}.evaluated`),e.if((0,z._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,z._)`${t.evaluated}.props`,(0,z._)`undefined`)),e.if((0,z._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,z._)`${t.evaluated}.items`,(0,z._)`undefined`))}function Og(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,z._)`/*# sourceURL=${r} */`:z.nil}function mT(t,e){if(jg(t)&&(Mg(t),Ag(t))){hT(t,e);return}(0,zg.boolOrEmptySchema)(t,e)}function Ag({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 jg(t){return typeof t.schema!="boolean"}function hT(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Lg(t),yT(t),vT(t);let s=n.const("_errs",D.default.errors);Dg(t,s),n.var(e,(0,z._)`${s} === ${D.default.errors}`)}function Mg(t){(0,Wt.checkUnknownRules)(t),gT(t)}function Dg(t,e){if(t.opts.jtd)return Cg(t,[],!1,e);let r=(0,Rg.getSchemaTypes)(t.schema),n=(0,Rg.coerceAndCheckDataType)(t,r);Cg(t,r,!n,e)}function gT(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Wt.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function _T(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Wt.checkStrictMode)(t,"default is ignored in the schema root")}function yT(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,cT.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function vT(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Lg({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,z._)`${D.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,z.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,z._)`${D.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function xT(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,z._)`${D.default.errors} === 0`,()=>e.return(D.default.data),()=>e.throw((0,z._)`new ${o}(${D.default.vErrors})`)):(e.assign((0,z._)`${n}.errors`,D.default.vErrors),s.unevaluated&&ST(t),e.return((0,z._)`${D.default.errors} === 0`))}function ST({gen:t,evaluated:e,props:r,items:n}){r instanceof z.Name&&t.assign((0,z._)`${e}.props`,r),n instanceof z.Name&&t.assign((0,z._)`${e}.items`,n)}function Cg(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,Wt.schemaHasRulesButRef)(s,l))){o.block(()=>Ug(t,"$ref",l.all.$ref.definition));return}c.jtd||kT(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Bl.shouldUseGroup)(s,f)&&(f.type?(o.if((0,Ii.checkDataType)(f.type,i,c.strictNumbers)),Ig(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Ii.reportTypeError)(t)),o.endIf()):Ig(t,f),a||o.if((0,z._)`${D.default.errors} === ${n||0}`))}}function Ig(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,aT.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Bl.shouldUseRule)(n,s)&&Ug(t,s.keyword,s.definition,e.type)})}function kT(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(bT(t,e),t.opts.allowUnionTypes||wT(t,e),ET(t,t.dataTypes))}function bT(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Zg(t.dataTypes,r)||Kl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),TT(t,e)}}function wT(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Kl(t,"use allowUnionTypes to allow union type keyword")}function ET(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Bl.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>$T(e,i))&&Kl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function $T(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Zg(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function TT(t,e){let r=[];for(let n of t.dataTypes)Zg(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Kl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Wt.checkStrictMode)(t,e,t.opts.strictTypes)}var zi=class{constructor(e,r,n){if((0,Ho.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,Wt.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",Hg(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Ho.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",D.default.errors))}result(e,r,n){this.failResult((0,z.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,z.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,z._)`${r} !== undefined && (${(0,z.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?Uo.reportExtraError:Uo.reportError)(this,this.def.error,r)}$dataError(){(0,Uo.reportError)(this,this.def.$dataError||Uo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Uo.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=z.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=z.nil,r=z.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,z.or)((0,z._)`${o} === undefined`,r)),e!==z.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==z.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,z.or)(i(),a());function i(){if(n.length){if(!(r instanceof z.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,z._)`${(0,Ii.checkDataTypes)(c,r,s.opts.strictNumbers,Ii.DataType.Wrong)}`}return z.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,z._)`!${c}(${r})`}return z.nil}}subschema(e,r){let n=(0,Vl.getSubschema)(this.it,e);(0,Vl.extendSubschemaData)(n,this.it,e),(0,Vl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return mT(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Wt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Wt.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,z.Name)),!0}};mr.KeywordCxt=zi;function Ug(t,e,r,n){let o=new zi(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Ho.funcKeywordCode)(o,r):"macro"in r?(0,Ho.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Ho.funcKeywordCode)(o,r)}var PT=/^\/(?:[^~]|~0|~1)*$/,RT=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Hg(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return D.default.rootData;if(t[0]==="/"){if(!PT.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=D.default.rootData}else{let u=RT.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,z._)`${s}${(0,z.getProperty)((0,Wt.unescapeJsonPointer)(u))}`,i=(0,z._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}mr.getData=Hg});var Ni=$(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});var Jl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Gl.default=Jl});var Fo=$(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var Wl=Zo(),Yl=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Wl.resolveUrl)(e,r,n),this.missingSchema=(0,Wl.normalizeId)((0,Wl.getFullPath)(e,this.missingRef))}};Xl.default=Yl});var ji=$(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.resolveSchema=pt.getCompilingSchema=pt.resolveRef=pt.compileSchema=pt.SchemaEnv=void 0;var St=q(),OT=Ni(),Qr=Gt(),kt=Zo(),qg=X(),CT=qo(),In=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,kt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};pt.SchemaEnv=In;function ed(t){let e=Fg.call(this,t);if(e)return e;let r=(0,kt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new St.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:OT.default,code:(0,St._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Qr.default.data,parentData:Qr.default.parentData,parentDataProperty:Qr.default.parentDataProperty,dataNames:[Qr.default.data],dataPathArr:[St.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,St.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:St.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,St._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,CT.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Qr.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${Qr.default.self}`,`${Qr.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:h}=u;m.evaluated={props:p instanceof St.Name?void 0:p,items:h instanceof St.Name?void 0:h,dynamicProps:p instanceof St.Name,dynamicItems:h instanceof St.Name},m.source&&(m.source.evaluated=(0,St.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}pt.compileSchema=ed;function IT(t,e,r){var n;r=(0,kt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=AT.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 In({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=zT.call(this,s)}pt.resolveRef=IT;function zT(t){return(0,kt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:ed.call(this,t)}function Fg(t){for(let e of this._compilations)if(NT(e,t))return e}pt.getCompilingSchema=Fg;function NT(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function AT(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Ai.call(this,t,e)}function Ai(t,e){let r=this.opts.uriResolver.parse(e),n=(0,kt._getFullPath)(this.opts.uriResolver,r),o=(0,kt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return Ql.call(this,r,t);let s=(0,kt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Ai.call(this,t,i);return typeof a?.schema!="object"?void 0:Ql.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||ed.call(this,i),s===(0,kt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,kt.resolveUrl)(this.opts.uriResolver,o,u)),new In({schema:a,schemaId:c,root:t,baseId:o})}return Ql.call(this,r,i)}}pt.resolveSchema=Ai;var jT=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Ql(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,qg.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!jT.has(a)&&u&&(e=(0,kt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,qg.schemaHasRulesButRef)(r,this.RULES)){let a=(0,kt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Ai.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new In({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var Vg=$((T1,MT)=>{MT.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 rd=$((P1,Gg)=>{"use strict";var DT=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Kg=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 td(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 LT=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Bg(t){return t.length=0,!0}function ZT(t,e,r){if(t.length){let n=td(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function UT(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=ZT;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=Bg}else{o.push(u);continue}}return o.length&&(a===Bg?r.zone=o.join(""):i?n.push(o.join("")):n.push(td(o))),r.address=n.join(""),r}function Jg(t){if(HT(t,":")<2)return{host:t,isIPV6:!1};let e=UT(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 HT(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function qT(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 FT(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 VT(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Kg(r)){let n=Jg(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}Gg.exports={nonSimpleDomain:LT,recomposeAuthority:VT,normalizeComponentEncoding:FT,removeDotSegments:qT,isIPv4:Kg,isUUID:DT,normalizeIPv6:Jg,stringArrayToHexStripped:td}});var e_=$((R1,Qg)=>{"use strict";var{isUUID:BT}=rd(),KT=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,JT=["http","https","ws","wss","urn","urn:uuid"];function GT(t){return JT.indexOf(t)!==-1}function nd(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 Wg(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Yg(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 WT(t){return t.secure=nd(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function YT(t){if((t.port===(nd(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 XT(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(KT);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=od(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function QT(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=od(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 e0(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!BT(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function t0(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Xg={scheme:"http",domainHost:!0,parse:Wg,serialize:Yg},r0={scheme:"https",domainHost:Xg.domainHost,parse:Wg,serialize:Yg},Mi={scheme:"ws",domainHost:!0,parse:WT,serialize:YT},n0={scheme:"wss",domainHost:Mi.domainHost,parse:Mi.parse,serialize:Mi.serialize},o0={scheme:"urn",parse:XT,serialize:QT,skipNormalize:!0},s0={scheme:"urn:uuid",parse:e0,serialize:t0,skipNormalize:!0},Di={http:Xg,https:r0,ws:Mi,wss:n0,urn:o0,"urn:uuid":s0};Object.setPrototypeOf(Di,null);function od(t){return t&&(Di[t]||Di[t.toLowerCase()])||void 0}Qg.exports={wsIsSecure:nd,SCHEMES:Di,isValidSchemeName:GT,getSchemeHandler:od}});var n_=$((O1,Zi)=>{"use strict";var{normalizeIPv6:i0,removeDotSegments:Vo,recomposeAuthority:a0,normalizeComponentEncoding:Li,isIPv4:c0,nonSimpleDomain:u0}=rd(),{SCHEMES:l0,getSchemeHandler:t_}=e_();function d0(t,e){return typeof t=="string"?t=At(Yt(t,e),e):typeof t=="object"&&(t=Yt(At(t,e),e)),t}function p0(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=r_(Yt(t,n),Yt(e,n),n,!0);return n.skipEscape=!0,At(o,n)}function r_(t,e,r,n){let o={};return n||(t=Yt(At(t,r),r),e=Yt(At(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=Vo(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=Vo(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Vo(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=Vo(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 f0(t,e,r){return typeof t=="string"?(t=unescape(t),t=At(Li(Yt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=At(Li(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=At(Li(Yt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=At(Li(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function At(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=t_(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=a0(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=Vo(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var m0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Yt(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(m0);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(c0(n.host)===!1){let c=i0(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=t_(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&u0(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 sd={SCHEMES:l0,normalize:d0,resolve:p0,resolveComponent:r_,equal:f0,serialize:At,parse:Yt};Zi.exports=sd;Zi.exports.default=sd;Zi.exports.fastUri=sd});var s_=$(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});var o_=n_();o_.code='require("ajv/dist/runtime/uri").default';id.default=o_});var f_=$(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.CodeGen=Ie.Name=Ie.nil=Ie.stringify=Ie.str=Ie._=Ie.KeywordCxt=void 0;var h0=qo();Object.defineProperty(Ie,"KeywordCxt",{enumerable:!0,get:function(){return h0.KeywordCxt}});var zn=q();Object.defineProperty(Ie,"_",{enumerable:!0,get:function(){return zn._}});Object.defineProperty(Ie,"str",{enumerable:!0,get:function(){return zn.str}});Object.defineProperty(Ie,"stringify",{enumerable:!0,get:function(){return zn.stringify}});Object.defineProperty(Ie,"nil",{enumerable:!0,get:function(){return zn.nil}});Object.defineProperty(Ie,"Name",{enumerable:!0,get:function(){return zn.Name}});Object.defineProperty(Ie,"CodeGen",{enumerable:!0,get:function(){return zn.CodeGen}});var g0=Ni(),l_=Fo(),_0=Al(),Bo=ji(),y0=q(),Ko=Zo(),Ui=Lo(),cd=X(),i_=Vg(),v0=s_(),d_=(t,e)=>new RegExp(t,e);d_.code="new RegExp";var x0=["removeAdditional","useDefaults","coerceTypes"],S0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),k0={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."},b0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},a_=200;function w0(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,_,x,S,w,R,oe,ge,Ae,Ut;let ht=t.strict,be=(e=t.code)===null||e===void 0?void 0:e.optimize,br=be===!0||be===void 0?1:be||0,Ze=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:d_,Oa=(o=t.uriResolver)!==null&&o!==void 0?o:v0.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:ht)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:ht)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:ht)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:ht)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:ht)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:br,regExp:Ze}:{optimize:br,regExp:Ze},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:a_,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:a_,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(x=t.messages)!==null&&x!==void 0?x:!0,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(R=t.addUsedSchema)!==null&&R!==void 0?R:!0,validateSchema:(oe=t.validateSchema)!==null&&oe!==void 0?oe:!0,validateFormats:(ge=t.validateFormats)!==null&&ge!==void 0?ge:!0,unicodeRegExp:(Ae=t.unicodeRegExp)!==null&&Ae!==void 0?Ae:!0,int32range:(Ut=t.int32range)!==null&&Ut!==void 0?Ut:!0,uriResolver:Oa}}var Jo=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...w0(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new y0.ValueScope({scope:{},prefixes:S0,es5:r,lines:n}),this.logger=O0(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,_0.getRules)(),c_.call(this,k0,e,"NOT SUPPORTED"),c_.call(this,b0,e,"DEPRECATED","warn"),this._metaOpts=P0.call(this),e.formats&&$0.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&T0.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),E0.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=i_;n==="id"&&(o={...i_},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||i.call(this,f)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof l_.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,Ko.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=u_.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Bo.SchemaEnv({schema:{},schemaId:n});if(r=Bo.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=u_.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,Ko.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(I0.call(this,n,r),!r)return(0,cd.eachItem)(n,s=>ad.call(this,s)),this;N0.call(this,r);let o={...r,type:(0,Ui.getJSONTypes)(r.type),schemaType:(0,Ui.getJSONTypes)(r.schemaType)};return(0,cd.eachItem)(n,o.type.length===0?s=>ad.call(this,s,o):s=>o.type.forEach(i=>ad.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]=p_(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,Ko.normalizeId)(i||n);let u=Ko.getSchemaRefs.call(this,e,n);return c=new Bo.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):Bo.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{Bo.compileSchema.call(this,e)}finally{this.opts=r}}};Jo.ValidationError=g0.default;Jo.MissingRefError=l_.default;Ie.default=Jo;function c_(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 u_(t){return t=(0,Ko.normalizeId)(t),this.schemas[t]||this.refs[t]}function E0(){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 $0(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function T0(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 P0(){let t={...this.opts};for(let e of x0)delete t[e];return t}var R0={log(){},warn(){},error(){}};function O0(t){if(t===!1)return R0;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 C0=/^[a-z_$][a-z0-9_$:-]*$/i;function I0(t,e){let{RULES:r}=this;if((0,cd.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!C0.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 ad(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,Ui.getJSONTypes)(e.type),schemaType:(0,Ui.getJSONTypes)(e.schemaType)}};e.before?z0.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 z0(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 N0(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=p_(e)),t.validateSchema=this.compile(e,!0))}var A0={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function p_(t){return{anyOf:[t,A0]}}});var m_=$(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var j0={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ud.default=j0});var y_=$(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.callRef=en.getValidate=void 0;var M0=Fo(),h_=dt(),Qe=q(),Nn=Gt(),g_=ji(),Hi=X(),D0={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=g_.resolveRef.call(c,u,o,r);if(l===void 0)throw new M0.default(n.opts.uriResolver,o,r);if(l instanceof g_.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return qi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return qi(t,(0,Qe._)`${p}.validate`,u,u.$async)}function f(p){let h=__(t,p);qi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,Qe.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:Qe.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function __(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Qe._)`${r.scopeValue("wrapper",{ref:e})}.validate`}en.getValidate=__;function qi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Nn.default.this:Qe.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=o.let("valid");o.try(()=>{o.code((0,Qe._)`await ${(0,h_.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,Qe._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,h_.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,Qe._)`${p}.errors`;o.assign(Nn.default.vErrors,(0,Qe._)`${Nn.default.vErrors} === null ? ${h} : ${Nn.default.vErrors}.concat(${h})`),o.assign(Nn.default.errors,(0,Qe._)`${Nn.default.vErrors}.length`)}function m(p){var h;if(!s.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=Hi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,Qe._)`${p}.evaluated.props`);s.props=Hi.mergeEvaluated.props(o,_,s.props,Qe.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Hi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,Qe._)`${p}.evaluated.items`);s.items=Hi.mergeEvaluated.items(o,_,s.items,Qe.Name)}}}en.callRef=qi;en.default=D0});var v_=$(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});var L0=m_(),Z0=y_(),U0=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",L0.default,Z0.default];ld.default=U0});var x_=$(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var Fi=q(),hr=Fi.operators,Vi={maximum:{okStr:"<=",ok:hr.LTE,fail:hr.GT},minimum:{okStr:">=",ok:hr.GTE,fail:hr.LT},exclusiveMaximum:{okStr:"<",ok:hr.LT,fail:hr.GTE},exclusiveMinimum:{okStr:">",ok:hr.GT,fail:hr.LTE}},H0={message:({keyword:t,schemaCode:e})=>(0,Fi.str)`must be ${Vi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Fi._)`{comparison: ${Vi[t].okStr}, limit: ${e}}`},q0={keyword:Object.keys(Vi),type:"number",schemaType:"number",$data:!0,error:H0,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Fi._)`${r} ${Vi[e].fail} ${n} || isNaN(${r})`)}};dd.default=q0});var S_=$(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var Go=q(),F0={message:({schemaCode:t})=>(0,Go.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Go._)`{multipleOf: ${t}}`},V0={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:F0,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,Go._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Go._)`${i} !== parseInt(${i})`;t.fail$data((0,Go._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};pd.default=V0});var b_=$(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});function k_(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}fd.default=k_;k_.code='require("ajv/dist/runtime/ucs2length").default'});var w_=$(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var tn=q(),B0=X(),K0=b_(),J0={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,tn.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,tn._)`{limit: ${t}}`},G0={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:J0,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?tn.operators.GT:tn.operators.LT,i=o.opts.unicode===!1?(0,tn._)`${r}.length`:(0,tn._)`${(0,B0.useFunc)(t.gen,K0.default)}(${r})`;t.fail$data((0,tn._)`${i} ${s} ${n}`)}};md.default=G0});var E_=$(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var W0=dt(),Y0=X(),An=q(),X0={message:({schemaCode:t})=>(0,An.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,An._)`{pattern: ${t}}`},Q0={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:X0,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,An._)`new RegExp`:(0,Y0.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,An._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,An._)`!${l}`)}else{let c=(0,W0.usePattern)(t,o);t.fail$data((0,An._)`!${c}.test(${r})`)}}};hd.default=Q0});var $_=$(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Wo=q(),eP={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Wo.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Wo._)`{limit: ${t}}`},tP={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:eP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Wo.operators.GT:Wo.operators.LT;t.fail$data((0,Wo._)`Object.keys(${r}).length ${o} ${n}`)}};gd.default=tP});var T_=$(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var Yo=dt(),Xo=q(),rP=X(),nP={message:({params:{missingProperty:t}})=>(0,Xo.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Xo._)`{missingProperty: ${t}}`},oP={keyword:"required",type:"object",schemaType:"array",$data:!0,error:nP,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:p}=t.it;for(let h of r)if(m?.[h]===void 0&&!p.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,rP.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(Xo.nil,d);else for(let m of r)(0,Yo.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>f(m,p)),t.ok(p)}else e.if((0,Yo.checkMissingProp)(t,r,m)),(0,Yo.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",n,m=>{t.setParams({missingProperty:m}),e.if((0,Yo.noPropertyInData)(e,o,m,a.ownProperties),()=>t.error())})}function f(m,p){t.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(p,(0,Yo.propertyInData)(e,o,m,a.ownProperties)),e.if((0,Xo.not)(p),()=>{t.error(),e.break()})},Xo.nil)}}};_d.default=oP});var P_=$(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var Qo=q(),sP={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Qo.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Qo._)`{limit: ${t}}`},iP={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:sP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?Qo.operators.GT:Qo.operators.LT;t.fail$data((0,Qo._)`${r}.length ${o} ${n}`)}};yd.default=iP});var Bi=$(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var R_=ql();R_.code='require("ajv/dist/runtime/equal").default';vd.default=R_});var O_=$(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var xd=Lo(),ze=q(),aP=X(),cP=Bi(),uP={message:({params:{i:t,j:e}})=>(0,ze.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,ze._)`{i: ${t}, j: ${e}}`},lP={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:uP,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,xd.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,ze._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,ze._)`${r}.length`),h=e.let("j");t.setParams({i:p,j:h}),e.assign(c,!0),e.if((0,ze._)`${p} > 1`,()=>(d()?f:m)(p,h))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,h){let g=e.name("item"),_=(0,xd.checkDataTypes)(u,g,a.opts.strictNumbers,xd.DataType.Wrong),x=e.const("indices",(0,ze._)`{}`);e.for((0,ze._)`;${p}--;`,()=>{e.let(g,(0,ze._)`${r}[${p}]`),e.if(_,(0,ze._)`continue`),u.length>1&&e.if((0,ze._)`typeof ${g} == "string"`,(0,ze._)`${g} += "_"`),e.if((0,ze._)`typeof ${x}[${g}] == "number"`,()=>{e.assign(h,(0,ze._)`${x}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,ze._)`${x}[${g}] = ${p}`)})}function m(p,h){let g=(0,aP.useFunc)(e,cP.default),_=e.name("outer");e.label(_).for((0,ze._)`;${p}--;`,()=>e.for((0,ze._)`${h} = ${p}; ${h}--;`,()=>e.if((0,ze._)`${g}(${r}[${p}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Sd.default=lP});var C_=$(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var kd=q(),dP=X(),pP=Bi(),fP={message:"must be equal to constant",params:({schemaCode:t})=>(0,kd._)`{allowedValue: ${t}}`},mP={keyword:"const",$data:!0,error:fP,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,kd._)`!${(0,dP.useFunc)(e,pP.default)}(${r}, ${o})`):t.fail((0,kd._)`${s} !== ${r}`)}};bd.default=mP});var I_=$(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var es=q(),hP=X(),gP=Bi(),_P={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,es._)`{allowedValues: ${t}}`},yP={keyword:"enum",schemaType:"array",$data:!0,error:_P,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,hP.useFunc)(e,gP.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=e.const("vSchema",s);l=(0,es.or)(...o.map((p,h)=>f(m,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,m=>e.if((0,es._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function f(m,p){let h=o[p];return typeof h=="object"&&h!==null?(0,es._)`${u()}(${r}, ${m}[${p}])`:(0,es._)`${r} === ${h}`}}};wd.default=yP});var z_=$(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var vP=x_(),xP=S_(),SP=w_(),kP=E_(),bP=$_(),wP=T_(),EP=P_(),$P=O_(),TP=C_(),PP=I_(),RP=[vP.default,xP.default,SP.default,kP.default,bP.default,wP.default,EP.default,$P.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},TP.default,PP.default];Ed.default=RP});var Td=$(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.validateAdditionalItems=void 0;var rn=q(),$d=X(),OP={message:({params:{len:t}})=>(0,rn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,rn._)`{limit: ${t}}`},CP={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:OP,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,$d.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}N_(t,n)}};function N_(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,rn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,rn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,$d.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,rn._)`${a} <= ${e.length}`);r.if((0,rn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:$d.Type.Num},u),i.allErrors||r.if((0,rn.not)(u),()=>r.break())})}}ts.validateAdditionalItems=N_;ts.default=CP});var Pd=$(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.validateTuple=void 0;var A_=q(),Ki=X(),IP=dt(),zP={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return j_(t,"additionalItems",e);r.items=!0,!(0,Ki.alwaysValidSchema)(r,e)&&t.ok((0,IP.validateArray)(t))}};function j_(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=Ki.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,A_._)`${s}.length`);r.forEach((d,f)=>{(0,Ki.alwaysValidSchema)(a,d)||(n.if((0,A_._)`${u} > ${f}`,()=>t.subschema({keyword:i,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:m}=a,p=r.length,h=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,Ki.checkStrictMode)(a,g,f.strictTuples)}}}rs.validateTuple=j_;rs.default=zP});var M_=$(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var NP=Pd(),AP={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,NP.validateTuple)(t,"items")};Rd.default=AP});var L_=$(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var D_=q(),jP=X(),MP=dt(),DP=Td(),LP={message:({params:{len:t}})=>(0,D_.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,D_._)`{limit: ${t}}`},ZP={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:LP,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,jP.alwaysValidSchema)(n,e)&&(o?(0,DP.validateAdditionalItems)(t,o):t.ok((0,MP.validateArray)(t)))}};Od.default=ZP});var Z_=$(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var ft=q(),Ji=X(),UP={message:({params:{min:t,max:e}})=>e===void 0?(0,ft.str)`must contain at least ${t} valid item(s)`:(0,ft.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ft._)`{minContains: ${t}}`:(0,ft._)`{minContains: ${t}, maxContains: ${e}}`},HP={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:UP,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,ft._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Ji.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Ji.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Ji.alwaysValidSchema)(s,r)){let h=(0,ft._)`${l} >= ${i}`;a!==void 0&&(h=(0,ft._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,ft._)`${o}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>p(g)))}function m(h,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:Ji.Type.Num,compositeRule:!0},h),g()})}function p(h){e.code((0,ft._)`${h}++`),a===void 0?e.if((0,ft._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,ft._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,ft._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};Cd.default=HP});var q_=$(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.validateSchemaDeps=jt.validatePropertyDeps=jt.error=void 0;var Id=q(),qP=X(),ns=dt();jt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Id.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Id._)`{property: ${t},
7
7
  missingProperty: ${n},
8
8
  depsCount: ${e},
9
- deps: ${r}}`};var tP={keyword:"dependencies",type:"object",schemaType:"object",error:It.error,code(t){let[e,r]=rP(t);__(t,e),y_(t,r)}};function rP({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 __(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,Vo.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,Vo.checkReportMissingProp)(t,u)}):(r.if((0,gd._)`${c} && (${(0,Vo.checkMissingProp)(t,a,s)})`),(0,Vo.reportMissingProp)(t,s),r.else())}}It.validatePropertyDeps=__;function y_(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,eP.alwaysValidSchema)(s,e[a])||(r.if((0,Vo.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}It.validateSchemaDeps=y_;It.default=tP});var b_=T(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var x_=q(),nP=X(),oP={message:"property name must be valid",params:({params:t})=>(0,x_._)`{propertyName: ${t.propertyName}}`},sP={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:oP,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,nP.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,x_.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};_d.default=sP});var vd=T(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var ji=ut(),vt=q(),iP=Bt(),Mi=X(),aP={message:"must NOT have additional properties",params:({params:t})=>(0,vt._)`{additionalProperty: ${t.additionalProperty}}`},cP={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:aP,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,Mi.alwaysValidSchema)(i,r))return;let u=(0,ji.allSchemaProperties)(n.properties),l=(0,ji.allSchemaProperties)(n.patternProperties);d(),t.ok((0,vt._)`${s} === ${iP.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(f(g),()=>p(g))})}function f(g){let y;if(u.length>8){let x=(0,Mi.schemaRefOrVal)(i,n.properties,"properties");y=(0,ji.isOwnProperty)(e,x,g)}else u.length?y=(0,vt.or)(...u.map(x=>(0,vt._)`${g} === ${x}`)):y=vt.nil;return l.length&&(y=(0,vt.or)(y,...l.map(x=>(0,vt._)`${(0,ji.usePattern)(t,x)}.test(${g})`))),(0,vt.not)(y)}function m(g){e.code((0,vt._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Mi.alwaysValidSchema)(i,r)){let y=e.name("valid");c.removeAdditional==="failing"?(h(g,y,!1),e.if((0,vt.not)(y),()=>{t.reset(),m(g)})):(h(g,y),a||e.if((0,vt.not)(y),()=>e.break()))}}function h(g,y,x){let b={keyword:"additionalProperties",dataProp:g,dataPropType:Mi.Type.Str};x===!1&&Object.assign(b,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(b,y)}}};yd.default=cP});var w_=T(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var uP=Io(),k_=ut(),xd=X(),S_=vd(),lP={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&&S_.default.code(new uP.KeywordCxt(s,S_.default,"additionalProperties"));let i=(0,k_.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=xd.mergeEvaluated.props(e,(0,xd.toHash)(i),s.props));let a=i.filter(d=>!(0,xd.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,k_.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)}}};bd.default=lP});var P_=T(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var $_=ut(),Di=q(),T_=X(),E_=X(),dP={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,$_.allSchemaProperties)(r),c=a.filter(h=>(0,T_.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof Di.Name)&&(s.props=(0,E_.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let h of a)u&&m(h),s.allErrors?p(h):(e.var(l,!0),p(h),e.if(l))}function m(h){for(let g in u)new RegExp(h).test(g)&&(0,T_.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,Di._)`${(0,$_.usePattern)(t,h)}.test(${g})`,()=>{let y=c.includes(h);y||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:E_.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Di._)`${d}[${g}]`,!0):!y&&!s.allErrors&&e.if((0,Di.not)(l),()=>e.break())})})}}};kd.default=dP});var R_=T(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var pP=X(),fP={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,pP.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"}};Sd.default=fP});var O_=T(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var mP=ut(),hP={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:mP.validateUnion,error:{message:"must match a schema in anyOf"}};wd.default=hP});var I_=T($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var Zi=q(),gP=X(),_P={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Zi._)`{passingSchemas: ${t.passing}}`},yP={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:_P,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let f;(0,gP.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Zi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Zi._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,Zi.Name)})})}}};$d.default=yP});var C_=T(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var vP=X(),xP={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,vP.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Td.default=xP});var A_=T(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var Li=q(),N_=X(),bP={message:({params:t})=>(0,Li.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Li._)`{failingKeyword: ${t.ifClause}}`},kP={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:bP,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,N_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=z_(n,"then"),s=z_(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,Li.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(f,i),d?e.assign(d,(0,Li._)`${l}`):t.setParams({ifClause:l})}}}};function z_(t,e){let r=t.schema[e];return r!==void 0&&!(0,N_.alwaysValidSchema)(t,r)}Ed.default=kP});var j_=T(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var SP=X(),wP={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,SP.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Pd.default=wP});var M_=T(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var $P=dd(),TP=f_(),EP=pd(),PP=h_(),RP=g_(),OP=v_(),IP=b_(),CP=vd(),zP=w_(),NP=P_(),AP=R_(),jP=O_(),MP=I_(),DP=C_(),ZP=A_(),LP=j_();function UP(t=!1){let e=[AP.default,jP.default,MP.default,DP.default,ZP.default,LP.default,IP.default,CP.default,OP.default,zP.default,NP.default];return t?e.push(TP.default,PP.default):e.push($P.default,EP.default),e.push(RP.default),e}Rd.default=UP});var D_=T(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var xe=q(),qP={message:({schemaCode:t})=>(0,xe.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,xe._)`{format: ${t}}`},HP={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:qP,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?f():m();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,xe._)`${p}[${i}]`),g=r.let("fType"),y=r.let("format");r.if((0,xe._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,xe._)`${h}.type || "string"`).assign(y,(0,xe._)`${h}.validate`),()=>r.assign(g,(0,xe._)`"string"`).assign(y,h)),t.fail$data((0,xe.or)(x(),b()));function x(){return c.strictSchema===!1?xe.nil:(0,xe._)`${i} && !${y}`}function b(){let w=l.$async?(0,xe._)`(${h}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,xe._)`${y}(${n})`,R=(0,xe._)`(typeof ${y} == "function" ? ${w} : ${y}.test(${n}))`;return(0,xe._)`${y} && ${y} !== true && ${g} === ${e} && !${R}`}}function m(){let p=d.formats[s];if(!p){x();return}if(p===!0)return;let[h,g,y]=b(p);h===e&&t.pass(w());function x(){if(c.strictSchema===!1){d.logger.warn(R());return}throw new Error(R());function R(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function b(R){let ie=R instanceof RegExp?(0,xe.regexpCode)(R):c.code.formats?(0,xe._)`${c.code.formats}${(0,xe.getProperty)(s)}`:void 0,ae=r.scopeValue("formats",{key:s,ref:R,code:ie});return typeof R=="object"&&!(R instanceof RegExp)?[R.type||"string",R.validate,(0,xe._)`${ae}.validate`]:["string",R,ae]}function w(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,xe._)`await ${y}(${n})`}return typeof g=="function"?(0,xe._)`${y}(${n})`:(0,xe._)`${y}.test(${n})`}}}};Od.default=HP});var Z_=T(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var FP=D_(),VP=[FP.default];Id.default=VP});var L_=T(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.contentVocabulary=On.metadataVocabulary=void 0;On.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];On.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var q_=T(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var BP=Jg(),KP=u_(),GP=M_(),JP=Z_(),U_=L_(),WP=[BP.default,KP.default,(0,GP.default)(),JP.default,U_.metadataVocabulary,U_.contentVocabulary];Cd.default=WP});var F_=T(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.DiscrError=void 0;var H_;(function(t){t.Tag="tag",t.Mapping="mapping"})(H_||(Ui.DiscrError=H_={}))});var B_=T(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var In=q(),zd=F_(),V_=Si(),YP=Co(),XP=X(),QP={message:({params:{discrError:t,tagName:e}})=>t===zd.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,In._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},eR={keyword:"discriminator",type:"object",schemaType:"object",error:QP,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,In._)`${r}${(0,In.getProperty)(a)}`);e.if((0,In._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:zd.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=f();e.if(!1);for(let p in m)e.elseIf((0,In._)`${u} === ${p}`),e.assign(c,d(m[p]));e.else(),t.error(!1,{discrError:zd.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let p=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:m},p);return t.mergeEvaluated(h,In.Name),p}function f(){var m;let p={},h=y(o),g=!0;for(let w=0;w<i.length;w++){let R=i[w];if(R?.$ref&&!(0,XP.schemaHasRulesButRef)(R,s.self.RULES)){let ae=R.$ref;if(R=V_.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,ae),R instanceof V_.SchemaEnv&&(R=R.schema),R===void 0)throw new YP.default(s.opts.uriResolver,s.baseId,ae)}let ie=(m=R?.properties)===null||m===void 0?void 0:m[a];if(typeof ie!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(h||y(R)),x(ie,w)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function y({required:w}){return Array.isArray(w)&&w.includes(a)}function x(w,R){if(w.const)b(w.const,R);else if(w.enum)for(let ie of w.enum)b(ie,R);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function b(w,R){if(typeof w!="string"||w in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[w]=R}}}};Nd.default=eR});var K_=T((f1,tR)=>{tR.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 jd=T((pe,Ad)=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.MissingRefError=pe.ValidationError=pe.CodeGen=pe.Name=pe.nil=pe.stringify=pe.str=pe._=pe.KeywordCxt=pe.Ajv=void 0;var rR=Hg(),nR=q_(),oR=B_(),G_=K_(),sR=["/properties"],qi="http://json-schema.org/draft-07/schema",Cn=class extends rR.default{_addVocabularies(){super._addVocabularies(),nR.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(oR.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(G_,sR):G_;this.addMetaSchema(e,qi,!1),this.refs["http://json-schema.org/schema"]=qi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(qi)?qi:void 0)}};pe.Ajv=Cn;Ad.exports=pe=Cn;Ad.exports.Ajv=Cn;Object.defineProperty(pe,"__esModule",{value:!0});pe.default=Cn;var iR=Io();Object.defineProperty(pe,"KeywordCxt",{enumerable:!0,get:function(){return iR.KeywordCxt}});var zn=q();Object.defineProperty(pe,"_",{enumerable:!0,get:function(){return zn._}});Object.defineProperty(pe,"str",{enumerable:!0,get:function(){return zn.str}});Object.defineProperty(pe,"stringify",{enumerable:!0,get:function(){return zn.stringify}});Object.defineProperty(pe,"nil",{enumerable:!0,get:function(){return zn.nil}});Object.defineProperty(pe,"Name",{enumerable:!0,get:function(){return zn.Name}});Object.defineProperty(pe,"CodeGen",{enumerable:!0,get:function(){return zn.CodeGen}});var aR=bi();Object.defineProperty(pe,"ValidationError",{enumerable:!0,get:function(){return aR.default}});var cR=Co();Object.defineProperty(pe,"MissingRefError",{enumerable:!0,get:function(){return cR.default}})});var ry=T(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.formatNames=zt.fastFormats=zt.fullFormats=void 0;function Ct(t,e){return{validate:t,compare:e}}zt.fullFormats={date:Ct(X_,Ld),time:Ct(Dd(!0),Ud),"date-time":Ct(J_(!0),ey),"iso-time":Ct(Dd(),Q_),"iso-date-time":Ct(J_(),ty),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:mR,"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:bR,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:hR,int32:{type:"number",validate:yR},int64:{type:"number",validate:vR},float:{type:"number",validate:Y_},double:{type:"number",validate:Y_},password:!0,binary:!0};zt.fastFormats={...zt.fullFormats,date:Ct(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Ld),time:Ct(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ud),"date-time":Ct(/^\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,ey),"iso-time":Ct(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Q_),"iso-date-time":Ct(/^\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,ty),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};zt.formatNames=Object.keys(zt.fullFormats);function uR(t){return t%4===0&&(t%100!==0||t%400===0)}var lR=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,dR=[0,31,28,31,30,31,30,31,31,30,31,30,31];function X_(t){let e=lR.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&&uR(r)?29:dR[n])}function Ld(t,e){if(t&&e)return t>e?1:t<e?-1:0}var Md=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Dd(t){return function(r){let n=Md.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function Ud(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 Q_(t,e){if(!(t&&e))return;let r=Md.exec(t),n=Md.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 Zd=/t|\s/i;function J_(t){let e=Dd(t);return function(n){let o=n.split(Zd);return o.length===2&&X_(o[0])&&e(o[1])}}function ey(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function ty(t,e){if(!(t&&e))return;let[r,n]=t.split(Zd),[o,s]=e.split(Zd),i=Ld(r,o);if(i!==void 0)return i||Ud(n,s)}var pR=/\/|:/,fR=/^(?:[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 mR(t){return pR.test(t)&&fR.test(t)}var W_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function hR(t){return W_.lastIndex=0,W_.test(t)}var gR=-(2**31),_R=2**31-1;function yR(t){return Number.isInteger(t)&&t<=_R&&t>=gR}function vR(t){return Number.isInteger(t)}function Y_(){return!0}var xR=/[^\\]\\Z/;function bR(t){if(xR.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var ny=T(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.formatLimitDefinition=void 0;var kR=jd(),xt=q(),fr=xt.operators,Hi={formatMaximum:{okStr:"<=",ok:fr.LTE,fail:fr.GT},formatMinimum:{okStr:">=",ok:fr.GTE,fail:fr.LT},formatExclusiveMaximum:{okStr:"<",ok:fr.LT,fail:fr.GTE},formatExclusiveMinimum:{okStr:">",ok:fr.GT,fail:fr.LTE}},SR={message:({keyword:t,schemaCode:e})=>(0,xt.str)`should be ${Hi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,xt._)`{comparison: ${Hi[t].okStr}, limit: ${e}}`};Nn.formatLimitDefinition={keyword:Object.keys(Hi),type:"string",schemaType:"string",$data:!0,error:SR,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 kR.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,xt._)`${f}[${c.schemaCode}]`);t.fail$data((0,xt.or)((0,xt._)`typeof ${m} != "object"`,(0,xt._)`${m} instanceof RegExp`,(0,xt._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let p=e.scopeValue("formats",{key:f,ref:m,code:i.code.formats?(0,xt._)`${i.code.formats}${(0,xt.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,xt._)`${f}.compare(${r}, ${n}) ${Hi[o].fail} 0`}},dependencies:["format"]};var wR=t=>(t.addKeyword(Nn.formatLimitDefinition),t);Nn.default=wR});var ay=T((Bo,iy)=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});var An=ry(),$R=ny(),qd=q(),oy=new qd.Name("fullFormats"),TR=new qd.Name("fastFormats"),Hd=(t,e={keywords:!0})=>{if(Array.isArray(e))return sy(t,e,An.fullFormats,oy),t;let[r,n]=e.mode==="fast"?[An.fastFormats,TR]:[An.fullFormats,oy],o=e.formats||An.formatNames;return sy(t,o,r,n),e.keywords&&(0,$R.default)(t),t};Hd.get=(t,e="full")=>{let n=(e==="fast"?An.fastFormats:An.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function sy(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,qd._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}iy.exports=Bo=Hd;Object.defineProperty(Bo,"__esModule",{value:!0});Bo.default=Hd});function Jo(t,e){let r=ta[e],n=tp(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function tp(t,e){if(e){let r=ta[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}var kt,oO,Fy,ta,vM,xM,Vy=rt(()=>{"use strict";kt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},oO=["Bash","WebFetch","Read","Grep","Agent","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],Fy=oO.join("|"),ta={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},vM=[kt.PRE_TOOL_USE,kt.SESSION_START],xM=[kt.POST_TOOL_USE,kt.PRE_COMPACT,kt.USER_PROMPT_SUBMIT]});var np={};St(np,{ClaudeCodeAdapter:()=>rp});import{createHash as By}from"node:crypto";import{readFileSync as Mn,writeFileSync as ra,mkdirSync as sO,copyFileSync as iO,accessSync as Ky,readdirSync as aO,chmodSync as cO,constants as Gy}from"node:fs";import{resolve as At,join as Wo}from"node:path";import{homedir as Xr}from"node:os";var rp,op=rt(()=>{"use strict";Vy();rp=class{name="Claude Code";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{updatedInput:e.updatedInput};if(e.decision==="context"&&e.additionalContext)return{additionalContext:e.additionalContext};if(e.decision==="ask")return{permissionDecision:"ask"}}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),e.updatedOutput&&(r.updatedMCPToolOutput=e.updatedOutput),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return At(Xr(),".claude","settings.json")}getSessionDir(){let e=Wo(Xr(),".claude","context-mode","sessions");return sO(e,{recursive:!0}),e}getSessionDBPath(e){let r=By("sha256").update(e).digest("hex").slice(0,16);return Wo(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=By("sha256").update(e).digest("hex").slice(0,16);return Wo(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){let r=`node ${e}/hooks/pretooluse.mjs`;return{PreToolUse:["Bash","WebFetch","Read","Grep","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"].map(o=>({matcher:o,hooks:[{type:"command",command:r}]})),PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{let e=Mn(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){ra(this.getSettingsPath(),JSON.stringify(e,null,2)+`
10
- `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=this.readPluginHooks(e),i=this.checkHookType(o,s,kt.PRE_TOOL_USE);r.push({check:"PreToolUse hook",status:i?"pass":"fail",message:i?"PreToolUse hook configured":"No PreToolUse hooks found",fix:i?void 0:"context-mode upgrade"});let a=this.checkHookType(o,s,kt.SESSION_START);return r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"No SessionStart hooks found",fix:a?void 0:"context-mode upgrade"}),r}readPluginHooks(e){let r=[Wo(e,"hooks","hooks.json"),Wo(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=Mn(n,"utf-8"),s=JSON.parse(o);if(s.hooks)return s.hooks}catch{}}checkHookType(e,r,n){let o=e?.[n];if(o&&o.length>0&&o.some(i=>Jo(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>Jo(i,n)))}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read settings.json"};let r=e.enabledPlugins;if(!r)return{check:"Plugin registration",status:"warn",message:"No enabledPlugins section found (might be using standalone MCP mode)"};let n=Object.keys(r).find(o=>o.startsWith("context-mode"));return n&&r[n]?{check:"Plugin registration",status:"pass",message:`Plugin enabled: ${n}`}:{check:"Plugin registration",status:"warn",message:"context-mode not in enabledPlugins (might be using standalone MCP mode)"}}getInstalledVersion(){try{let r=At(Xr(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Mn(r,"utf-8")).plugins??{};for(let[s,i]of Object.entries(o)){if(!s.toLowerCase().includes("context-mode"))continue;let a=i;if(a.length>0&&typeof a[0].version=="string")return a[0].version}}catch{}let e=[At(Xr(),".claude"),At(Xr(),".config","claude")];for(let r of e){let n=At(r,"plugins","cache","context-mode","context-mode");try{let s=aO(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[kt.PRE_TOOL_USE,kt.SESSION_START];for(let i of s){let a=tp(i,e);if(i===kt.PRE_TOOL_USE){let c={matcher:Fy,hooks:[{type:"command",command:a}]},u=n.PreToolUse;if(u&&Array.isArray(u)){let l=u.findIndex(d=>Jo(d,i));l>=0?(u[l]=c,o.push(`Updated existing ${i} hook entry`)):(u.push(c),o.push(`Added ${i} hook entry`)),n.PreToolUse=u}else n.PreToolUse=[c],o.push(`Created ${i} hooks section`)}else{let c={matcher:"",hooks:[{type:"command",command:a}]},u=n[i];if(u&&Array.isArray(u)){let l=u.findIndex(d=>Jo(d,i));l>=0?(u[l]=c,o.push(`Updated existing ${i} hook entry`)):(u.push(c),o.push(`Added ${i} hook entry`)),n[i]=u}else n[i]=[c],o.push(`Created ${i} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{Ky(e,Gy.R_OK);let r=e+".bak";return iO(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(ta)){let o=At(e,"hooks",n);try{Ky(o,Gy.R_OK),cO(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=At(Xr(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Mn(n,"utf-8"));for(let[s,i]of Object.entries(o.plugins||{}))if(s.toLowerCase().includes("context-mode"))for(let a of i)a.installPath=e,a.version=r,a.lastUpdated=new Date().toISOString();ra(n,JSON.stringify(o,null,2)+`
11
- `,"utf-8")}catch{}}getRoutingInstructionsConfig(){return{fileName:"CLAUDE.md",globalPath:At(Xr(),".claude","CLAUDE.md"),projectRelativePath:"CLAUDE.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=At(e,n.projectRelativePath),s=At(r,"configs","claude-code",n.fileName);try{let i=Mn(s,"utf-8");try{let a=Mn(o,"utf-8");return a.includes("context-mode")?null:(ra(o,a.trimEnd()+`
9
+ deps: ${r}}`};var FP={keyword:"dependencies",type:"object",schemaType:"object",error:jt.error,code(t){let[e,r]=VP(t);U_(t,e),H_(t,r)}};function VP({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 U_(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,ns.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,ns.checkReportMissingProp)(t,u)}):(r.if((0,Id._)`${c} && (${(0,ns.checkMissingProp)(t,a,s)})`),(0,ns.reportMissingProp)(t,s),r.else())}}jt.validatePropertyDeps=U_;function H_(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,qP.alwaysValidSchema)(s,e[a])||(r.if((0,ns.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))}jt.validateSchemaDeps=H_;jt.default=FP});var V_=$(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});var F_=q(),BP=X(),KP={message:"property name must be valid",params:({params:t})=>(0,F_._)`{propertyName: ${t.propertyName}}`},JP={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:KP,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,BP.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,F_.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};zd.default=JP});var Ad=$(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var Gi=dt(),bt=q(),GP=Gt(),Wi=X(),WP={message:"must NOT have additional properties",params:({params:t})=>(0,bt._)`{additionalProperty: ${t.additionalProperty}}`},YP={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:WP,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,Wi.alwaysValidSchema)(i,r))return;let u=(0,Gi.allSchemaProperties)(n.properties),l=(0,Gi.allSchemaProperties)(n.patternProperties);d(),t.ok((0,bt._)`${s} === ${GP.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let x=(0,Wi.schemaRefOrVal)(i,n.properties,"properties");_=(0,Gi.isOwnProperty)(e,x,g)}else u.length?_=(0,bt.or)(...u.map(x=>(0,bt._)`${g} === ${x}`)):_=bt.nil;return l.length&&(_=(0,bt.or)(_,...l.map(x=>(0,bt._)`${(0,Gi.usePattern)(t,x)}.test(${g})`))),(0,bt.not)(_)}function m(g){e.code((0,bt._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Wi.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(h(g,_,!1),e.if((0,bt.not)(_),()=>{t.reset(),m(g)})):(h(g,_),a||e.if((0,bt.not)(_),()=>e.break()))}}function h(g,_,x){let S={keyword:"additionalProperties",dataProp:g,dataPropType:Wi.Type.Str};x===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,_)}}};Nd.default=YP});var J_=$(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var XP=qo(),B_=dt(),jd=X(),K_=Ad(),QP={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&&K_.default.code(new XP.KeywordCxt(s,K_.default,"additionalProperties"));let i=(0,B_.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=jd.mergeEvaluated.props(e,(0,jd.toHash)(i),s.props));let a=i.filter(d=>!(0,jd.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,B_.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)}}};Md.default=QP});var X_=$(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var G_=dt(),Yi=q(),W_=X(),Y_=X(),eR={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,G_.allSchemaProperties)(r),c=a.filter(h=>(0,W_.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof Yi.Name)&&(s.props=(0,Y_.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let h of a)u&&m(h),s.allErrors?p(h):(e.var(l,!0),p(h),e.if(l))}function m(h){for(let g in u)new RegExp(h).test(g)&&(0,W_.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,Yi._)`${(0,G_.usePattern)(t,h)}.test(${g})`,()=>{let _=c.includes(h);_||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:Y_.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Yi._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,Yi.not)(l),()=>e.break())})})}}};Dd.default=eR});var Q_=$(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var tR=X(),rR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,tR.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"}};Ld.default=rR});var ey=$(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var nR=dt(),oR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:nR.validateUnion,error:{message:"must match a schema in anyOf"}};Zd.default=oR});var ty=$(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var Xi=q(),sR=X(),iR={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Xi._)`{passingSchemas: ${t.passing}}`},aR={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:iR,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let f;(0,sR.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Xi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Xi._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,Xi.Name)})})}}};Ud.default=aR});var ry=$(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var cR=X(),uR={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,cR.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Hd.default=uR});var sy=$(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var Qi=q(),oy=X(),lR={message:({params:t})=>(0,Qi.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Qi._)`{failingKeyword: ${t.ifClause}}`},dR={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:lR,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,oy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=ny(n,"then"),s=ny(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,Qi.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(f,i),d?e.assign(d,(0,Qi._)`${l}`):t.setParams({ifClause:l})}}}};function ny(t,e){let r=t.schema[e];return r!==void 0&&!(0,oy.alwaysValidSchema)(t,r)}qd.default=dR});var iy=$(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var pR=X(),fR={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,pR.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Fd.default=fR});var ay=$(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var mR=Td(),hR=M_(),gR=Pd(),_R=L_(),yR=Z_(),vR=q_(),xR=V_(),SR=Ad(),kR=J_(),bR=X_(),wR=Q_(),ER=ey(),$R=ty(),TR=ry(),PR=sy(),RR=iy();function OR(t=!1){let e=[wR.default,ER.default,$R.default,TR.default,PR.default,RR.default,xR.default,SR.default,vR.default,kR.default,bR.default];return t?e.push(hR.default,_R.default):e.push(mR.default,gR.default),e.push(yR.default),e}Vd.default=OR});var cy=$(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var ve=q(),CR={message:({schemaCode:t})=>(0,ve.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ve._)`{format: ${t}}`},IR={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:CR,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?f():m();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ve._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,ve._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,ve._)`${h}.type || "string"`).assign(_,(0,ve._)`${h}.validate`),()=>r.assign(g,(0,ve._)`"string"`).assign(_,h)),t.fail$data((0,ve.or)(x(),S()));function x(){return c.strictSchema===!1?ve.nil:(0,ve._)`${i} && !${_}`}function S(){let w=l.$async?(0,ve._)`(${h}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,ve._)`${_}(${n})`,R=(0,ve._)`(typeof ${_} == "function" ? ${w} : ${_}.test(${n}))`;return(0,ve._)`${_} && ${_} !== true && ${g} === ${e} && !${R}`}}function m(){let p=d.formats[s];if(!p){x();return}if(p===!0)return;let[h,g,_]=S(p);h===e&&t.pass(w());function x(){if(c.strictSchema===!1){d.logger.warn(R());return}throw new Error(R());function R(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(R){let oe=R instanceof RegExp?(0,ve.regexpCode)(R):c.code.formats?(0,ve._)`${c.code.formats}${(0,ve.getProperty)(s)}`:void 0,ge=r.scopeValue("formats",{key:s,ref:R,code:oe});return typeof R=="object"&&!(R instanceof RegExp)?[R.type||"string",R.validate,(0,ve._)`${ge}.validate`]:["string",R,ge]}function w(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ve._)`await ${_}(${n})`}return typeof g=="function"?(0,ve._)`${_}(${n})`:(0,ve._)`${_}.test(${n})`}}}};Bd.default=IR});var uy=$(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var zR=cy(),NR=[zR.default];Kd.default=NR});var ly=$(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.contentVocabulary=jn.metadataVocabulary=void 0;jn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];jn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var py=$(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var AR=v_(),jR=z_(),MR=ay(),DR=uy(),dy=ly(),LR=[AR.default,jR.default,(0,MR.default)(),DR.default,dy.metadataVocabulary,dy.contentVocabulary];Jd.default=LR});var my=$(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.DiscrError=void 0;var fy;(function(t){t.Tag="tag",t.Mapping="mapping"})(fy||(ea.DiscrError=fy={}))});var gy=$(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var Mn=q(),Gd=my(),hy=ji(),ZR=Fo(),UR=X(),HR={message:({params:{discrError:t,tagName:e}})=>t===Gd.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Mn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},qR={keyword:"discriminator",type:"object",schemaType:"object",error:HR,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,Mn._)`${r}${(0,Mn.getProperty)(a)}`);e.if((0,Mn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:Gd.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=f();e.if(!1);for(let p in m)e.elseIf((0,Mn._)`${u} === ${p}`),e.assign(c,d(m[p]));e.else(),t.error(!1,{discrError:Gd.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let p=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:m},p);return t.mergeEvaluated(h,Mn.Name),p}function f(){var m;let p={},h=_(o),g=!0;for(let w=0;w<i.length;w++){let R=i[w];if(R?.$ref&&!(0,UR.schemaHasRulesButRef)(R,s.self.RULES)){let ge=R.$ref;if(R=hy.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,ge),R instanceof hy.SchemaEnv&&(R=R.schema),R===void 0)throw new ZR.default(s.opts.uriResolver,s.baseId,ge)}let oe=(m=R?.properties)===null||m===void 0?void 0:m[a];if(typeof oe!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(h||_(R)),x(oe,w)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:w}){return Array.isArray(w)&&w.includes(a)}function x(w,R){if(w.const)S(w.const,R);else if(w.enum)for(let oe of w.enum)S(oe,R);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S(w,R){if(typeof w!="string"||w in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[w]=R}}}};Wd.default=qR});var _y=$((yM,FR)=>{FR.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 Xd=$((de,Yd)=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.MissingRefError=de.ValidationError=de.CodeGen=de.Name=de.nil=de.stringify=de.str=de._=de.KeywordCxt=de.Ajv=void 0;var VR=f_(),BR=py(),KR=gy(),yy=_y(),JR=["/properties"],ta="http://json-schema.org/draft-07/schema",Dn=class extends VR.default{_addVocabularies(){super._addVocabularies(),BR.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(KR.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(yy,JR):yy;this.addMetaSchema(e,ta,!1),this.refs["http://json-schema.org/schema"]=ta}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ta)?ta:void 0)}};de.Ajv=Dn;Yd.exports=de=Dn;Yd.exports.Ajv=Dn;Object.defineProperty(de,"__esModule",{value:!0});de.default=Dn;var GR=qo();Object.defineProperty(de,"KeywordCxt",{enumerable:!0,get:function(){return GR.KeywordCxt}});var Ln=q();Object.defineProperty(de,"_",{enumerable:!0,get:function(){return Ln._}});Object.defineProperty(de,"str",{enumerable:!0,get:function(){return Ln.str}});Object.defineProperty(de,"stringify",{enumerable:!0,get:function(){return Ln.stringify}});Object.defineProperty(de,"nil",{enumerable:!0,get:function(){return Ln.nil}});Object.defineProperty(de,"Name",{enumerable:!0,get:function(){return Ln.Name}});Object.defineProperty(de,"CodeGen",{enumerable:!0,get:function(){return Ln.CodeGen}});var WR=Ni();Object.defineProperty(de,"ValidationError",{enumerable:!0,get:function(){return WR.default}});var YR=Fo();Object.defineProperty(de,"MissingRefError",{enumerable:!0,get:function(){return YR.default}})});var $y=$(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.formatNames=Dt.fastFormats=Dt.fullFormats=void 0;function Mt(t,e){return{validate:t,compare:e}}Dt.fullFormats={date:Mt(ky,rp),time:Mt(ep(!0),np),"date-time":Mt(vy(!0),wy),"iso-time":Mt(ep(),by),"iso-date-time":Mt(vy(),Ey),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:nO,"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:lO,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:oO,int32:{type:"number",validate:aO},int64:{type:"number",validate:cO},float:{type:"number",validate:Sy},double:{type:"number",validate:Sy},password:!0,binary:!0};Dt.fastFormats={...Dt.fullFormats,date:Mt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,rp),time:Mt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,np),"date-time":Mt(/^\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,wy),"iso-time":Mt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,by),"iso-date-time":Mt(/^\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,Ey),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};Dt.formatNames=Object.keys(Dt.fullFormats);function XR(t){return t%4===0&&(t%100!==0||t%400===0)}var QR=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,eO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function ky(t){let e=QR.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&&XR(r)?29:eO[n])}function rp(t,e){if(t&&e)return t>e?1:t<e?-1:0}var Qd=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function ep(t){return function(r){let n=Qd.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function np(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 by(t,e){if(!(t&&e))return;let r=Qd.exec(t),n=Qd.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 tp=/t|\s/i;function vy(t){let e=ep(t);return function(n){let o=n.split(tp);return o.length===2&&ky(o[0])&&e(o[1])}}function wy(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function Ey(t,e){if(!(t&&e))return;let[r,n]=t.split(tp),[o,s]=e.split(tp),i=rp(r,o);if(i!==void 0)return i||np(n,s)}var tO=/\/|:/,rO=/^(?:[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 nO(t){return tO.test(t)&&rO.test(t)}var xy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function oO(t){return xy.lastIndex=0,xy.test(t)}var sO=-(2**31),iO=2**31-1;function aO(t){return Number.isInteger(t)&&t<=iO&&t>=sO}function cO(t){return Number.isInteger(t)}function Sy(){return!0}var uO=/[^\\]\\Z/;function lO(t){if(uO.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var Ty=$(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.formatLimitDefinition=void 0;var dO=Xd(),wt=q(),gr=wt.operators,ra={formatMaximum:{okStr:"<=",ok:gr.LTE,fail:gr.GT},formatMinimum:{okStr:">=",ok:gr.GTE,fail:gr.LT},formatExclusiveMaximum:{okStr:"<",ok:gr.LT,fail:gr.GTE},formatExclusiveMinimum:{okStr:">",ok:gr.GT,fail:gr.LTE}},pO={message:({keyword:t,schemaCode:e})=>(0,wt.str)`should be ${ra[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,wt._)`{comparison: ${ra[t].okStr}, limit: ${e}}`};Zn.formatLimitDefinition={keyword:Object.keys(ra),type:"string",schemaType:"string",$data:!0,error:pO,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 dO.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,wt._)`${f}[${c.schemaCode}]`);t.fail$data((0,wt.or)((0,wt._)`typeof ${m} != "object"`,(0,wt._)`${m} instanceof RegExp`,(0,wt._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let p=e.scopeValue("formats",{key:f,ref:m,code:i.code.formats?(0,wt._)`${i.code.formats}${(0,wt.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,wt._)`${f}.compare(${r}, ${n}) ${ra[o].fail} 0`}},dependencies:["format"]};var fO=t=>(t.addKeyword(Zn.formatLimitDefinition),t);Zn.default=fO});var Cy=$((os,Oy)=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});var Un=$y(),mO=Ty(),op=q(),Py=new op.Name("fullFormats"),hO=new op.Name("fastFormats"),sp=(t,e={keywords:!0})=>{if(Array.isArray(e))return Ry(t,e,Un.fullFormats,Py),t;let[r,n]=e.mode==="fast"?[Un.fastFormats,hO]:[Un.fullFormats,Py],o=e.formats||Un.formatNames;return Ry(t,o,r,n),e.keywords&&(0,mO.default)(t),t};sp.get=(t,e="full")=>{let n=(e==="fast"?Un.fastFormats:Un.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function Ry(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,op._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}Oy.exports=os=sp;Object.defineProperty(os,"__esModule",{value:!0});os.default=sp});var hv,gv=we(()=>{"use strict";hv={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot",Codex:"codex","codex-mcp-client":"codex","Kiro CLI":"kiro"}});function as(t,e){let r=ma[e],n=_p(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function _p(t,e){if(e){let r=ma[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}var Tt,GO,_v,ma,CD,ID,yv=we(()=>{"use strict";Tt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},GO=["Bash","WebFetch","Read","Grep","Agent","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],_v=GO.join("|"),ma={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},CD=[Tt.PRE_TOOL_USE,Tt.SESSION_START],ID=[Tt.POST_TOOL_USE,Tt.PRE_COMPACT,Tt.USER_PROMPT_SUBMIT]});var vp={};tt(vp,{ClaudeCodeAdapter:()=>yp});import{createHash as vv}from"node:crypto";import{readFileSync as qn,writeFileSync as ha,mkdirSync as WO,copyFileSync as YO,accessSync as xv,readdirSync as XO,chmodSync as QO,constants as Sv}from"node:fs";import{resolve as Lt,join as cs}from"node:path";import{homedir as nn}from"node:os";var yp,xp=we(()=>{"use strict";yv();yp=class{name="Claude Code";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{updatedInput:e.updatedInput};if(e.decision==="context"&&e.additionalContext)return{additionalContext:e.additionalContext};if(e.decision==="ask")return{permissionDecision:"ask"}}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),e.updatedOutput&&(r.updatedMCPToolOutput=e.updatedOutput),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Lt(nn(),".claude","settings.json")}getSessionDir(){let e=cs(nn(),".claude","context-mode","sessions");return WO(e,{recursive:!0}),e}getSessionDBPath(e){let r=vv("sha256").update(e).digest("hex").slice(0,16);return cs(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=vv("sha256").update(e).digest("hex").slice(0,16);return cs(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){let r=`node ${e}/hooks/pretooluse.mjs`;return{PreToolUse:["Bash","WebFetch","Read","Grep","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"].map(o=>({matcher:o,hooks:[{type:"command",command:r}]})),PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{let e=qn(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){ha(this.getSettingsPath(),JSON.stringify(e,null,2)+`
10
+ `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=this.readPluginHooks(e),i=this.checkHookType(o,s,Tt.PRE_TOOL_USE);r.push({check:"PreToolUse hook",status:i?"pass":"fail",message:i?"PreToolUse hook configured":"No PreToolUse hooks found",fix:i?void 0:"context-mode upgrade"});let a=this.checkHookType(o,s,Tt.SESSION_START);return r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"No SessionStart hooks found",fix:a?void 0:"context-mode upgrade"}),r}readPluginHooks(e){let r=[cs(e,"hooks","hooks.json"),cs(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=qn(n,"utf-8"),s=JSON.parse(o);if(s.hooks)return s.hooks}catch{}}checkHookType(e,r,n){let o=e?.[n];if(o&&o.length>0&&o.some(i=>as(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>as(i,n)))}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read settings.json"};let r=e.enabledPlugins;if(!r)return{check:"Plugin registration",status:"warn",message:"No enabledPlugins section found (might be using standalone MCP mode)"};let n=Object.keys(r).find(o=>o.startsWith("context-mode"));return n&&r[n]?{check:"Plugin registration",status:"pass",message:`Plugin enabled: ${n}`}:{check:"Plugin registration",status:"warn",message:"context-mode not in enabledPlugins (might be using standalone MCP mode)"}}getInstalledVersion(){try{let r=Lt(nn(),".claude","plugins","installed_plugins.json"),o=JSON.parse(qn(r,"utf-8")).plugins??{};for(let[s,i]of Object.entries(o)){if(!s.toLowerCase().includes("context-mode"))continue;let a=i;if(a.length>0&&typeof a[0].version=="string")return a[0].version}}catch{}let e=[Lt(nn(),".claude"),Lt(nn(),".config","claude")];for(let r of e){let n=Lt(r,"plugins","cache","context-mode","context-mode");try{let s=XO(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[Tt.PRE_TOOL_USE,Tt.SESSION_START];for(let i of s){let a=_p(i,e);if(i===Tt.PRE_TOOL_USE){let c={matcher:_v,hooks:[{type:"command",command:a}]},u=n.PreToolUse;if(u&&Array.isArray(u)){let l=u.findIndex(d=>as(d,i));l>=0?(u[l]=c,o.push(`Updated existing ${i} hook entry`)):(u.push(c),o.push(`Added ${i} hook entry`)),n.PreToolUse=u}else n.PreToolUse=[c],o.push(`Created ${i} hooks section`)}else{let c={matcher:"",hooks:[{type:"command",command:a}]},u=n[i];if(u&&Array.isArray(u)){let l=u.findIndex(d=>as(d,i));l>=0?(u[l]=c,o.push(`Updated existing ${i} hook entry`)):(u.push(c),o.push(`Added ${i} hook entry`)),n[i]=u}else n[i]=[c],o.push(`Created ${i} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{xv(e,Sv.R_OK);let r=e+".bak";return YO(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(ma)){let o=Lt(e,"hooks",n);try{xv(o,Sv.R_OK),QO(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=Lt(nn(),".claude","plugins","installed_plugins.json"),o=JSON.parse(qn(n,"utf-8"));for(let[s,i]of Object.entries(o.plugins||{}))if(s.toLowerCase().includes("context-mode"))for(let a of i)a.installPath=e,a.version=r,a.lastUpdated=new Date().toISOString();ha(n,JSON.stringify(o,null,2)+`
11
+ `,"utf-8")}catch{}}getRoutingInstructionsConfig(){return{fileName:"CLAUDE.md",globalPath:Lt(nn(),".claude","CLAUDE.md"),projectRelativePath:"CLAUDE.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=Lt(e,n.projectRelativePath),s=Lt(r,"configs","claude-code",n.fileName);try{let i=qn(s,"utf-8");try{let a=qn(o,"utf-8");return a.includes("context-mode")?null:(ha(o,a.trimEnd()+`
12
12
 
13
- `+i,"utf-8"),o)}catch{return ra(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function Dn(t,e){let r=sp[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var be,sp,EM,PM,Jy=rt(()=>{"use strict";be={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},sp={[be.BEFORE_TOOL]:"beforetool.mjs",[be.AFTER_TOOL]:"aftertool.mjs",[be.PRE_COMPRESS]:"precompress.mjs",[be.SESSION_START]:"sessionstart.mjs"},EM=[be.BEFORE_TOOL,be.SESSION_START],PM=[be.AFTER_TOOL,be.PRE_COMPRESS]});var ev={};St(ev,{GeminiCLIAdapter:()=>ip});import{createHash as Wy}from"node:crypto";import{readFileSync as Yo,writeFileSync as na,mkdirSync as Yy,copyFileSync as uO,accessSync as Xy,chmodSync as lO,constants as Qy}from"node:fs";import{resolve as hr,join as oa}from"node:path";import{homedir as Zn}from"node:os";var ip,tv=rt(()=>{"use strict";Jy();ip=class{name="Gemini CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{decision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{tool_input:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}};if(e.decision==="ask")return{decision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{decision:"deny",reason:e.updatedOutput};if(e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return hr(Zn(),".gemini","settings.json")}getSessionDir(){let e=oa(Zn(),".gemini","context-mode","sessions");return Yy(e,{recursive:!0}),e}getSessionDBPath(e){let r=Wy("sha256").update(e).digest("hex").slice(0,16);return oa(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Wy("sha256").update(e).digest("hex").slice(0,16);return oa(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[be.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:Dn(be.BEFORE_TOOL,e)}]}],[be.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:Dn(be.AFTER_TOOL,e)}]}],[be.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:Dn(be.PRE_COMPRESS,e)}]}],[be.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Dn(be.SESSION_START,e)}]}]}}readSettings(){try{let e=Yo(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=hr(Zn(),".gemini");Yy(r,{recursive:!0}),na(this.getSettingsPath(),JSON.stringify(e,null,2)+`
14
- `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[be.BEFORE_TOOL];if(s&&s.length>0){let a=s.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"BeforeTool hook",status:a?"pass":"fail",message:a?"BeforeTool hook configured":"BeforeTool exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"BeforeTool hook",status:"fail",message:"No BeforeTool hooks found",fix:"context-mode upgrade"});let i=o?.[be.SESSION_START];if(i&&i.length>0){let a=i.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"SessionStart exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"SessionStart hook",status:"fail",message:"No SessionStart hooks found",fix:"context-mode upgrade"});return r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read ~/.gemini/settings.json"};let r=e.extensions;return r&&(Array.isArray(r)?r.some(o=>typeof o=="string"&&o.includes("context-mode")):Object.keys(r).some(o=>o.includes("context-mode")))?{check:"Plugin registration",status:"pass",message:"context-mode found in extensions"}:{check:"Plugin registration",status:"warn",message:"context-mode not found in extensions (might be using standalone MCP mode)"}}getInstalledVersion(){try{let e=hr(Zn(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Yo(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[{name:be.BEFORE_TOOL},{name:be.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:Dn(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(m=>m.command?.includes("context-mode")));l>=0?(u[l]=c,o.push(`Updated existing ${i.name} hook entry`)):(u.push(c),o.push(`Added ${i.name} hook entry`)),n[i.name]=u}else n[i.name]=[c],o.push(`Created ${i.name} hooks section`)}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{Xy(e,Qy.R_OK);let r=e+".bak";return uO(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=oa(e,"hooks","gemini-cli");for(let o of Object.values(sp)){let s=hr(n,o);try{Xy(s,Qy.R_OK),lO(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=hr(Zn(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Yo(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),na(n,JSON.stringify(o,null,2)+`
15
- `,"utf-8")}catch{}}getRoutingInstructionsConfig(){return{fileName:"GEMINI.md",globalPath:hr(Zn(),".gemini","GEMINI.md"),projectRelativePath:"GEMINI.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=hr(e,n.projectRelativePath),s=hr(r,"configs","gemini-cli",n.fileName);try{let i=Yo(s,"utf-8");try{let a=Yo(o,"utf-8");return a.includes("context-mode")?null:(na(o,a.trimEnd()+`
13
+ `+i,"utf-8"),o)}catch{return ha(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function Fn(t,e){let r=Sp[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var xe,Sp,LD,ZD,kv=we(()=>{"use strict";xe={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Sp={[xe.BEFORE_TOOL]:"beforetool.mjs",[xe.AFTER_TOOL]:"aftertool.mjs",[xe.PRE_COMPRESS]:"precompress.mjs",[xe.SESSION_START]:"sessionstart.mjs"},LD=[xe.BEFORE_TOOL,xe.SESSION_START],ZD=[xe.AFTER_TOOL,xe.PRE_COMPRESS]});var Tv={};tt(Tv,{GeminiCLIAdapter:()=>kp});import{createHash as bv}from"node:crypto";import{readFileSync as us,writeFileSync as ga,mkdirSync as wv,copyFileSync as eC,accessSync as Ev,chmodSync as tC,constants as $v}from"node:fs";import{resolve as yr,join as _a}from"node:path";import{homedir as Vn}from"node:os";var kp,Pv=we(()=>{"use strict";kv();kp=class{name="Gemini CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{decision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{tool_input:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}};if(e.decision==="ask")return{decision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{decision:"deny",reason:e.updatedOutput};if(e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return yr(Vn(),".gemini","settings.json")}getSessionDir(){let e=_a(Vn(),".gemini","context-mode","sessions");return wv(e,{recursive:!0}),e}getSessionDBPath(e){let r=bv("sha256").update(e).digest("hex").slice(0,16);return _a(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=bv("sha256").update(e).digest("hex").slice(0,16);return _a(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[xe.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:Fn(xe.BEFORE_TOOL,e)}]}],[xe.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:Fn(xe.AFTER_TOOL,e)}]}],[xe.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:Fn(xe.PRE_COMPRESS,e)}]}],[xe.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Fn(xe.SESSION_START,e)}]}]}}readSettings(){try{let e=us(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=yr(Vn(),".gemini");wv(r,{recursive:!0}),ga(this.getSettingsPath(),JSON.stringify(e,null,2)+`
14
+ `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[xe.BEFORE_TOOL];if(s&&s.length>0){let a=s.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"BeforeTool hook",status:a?"pass":"fail",message:a?"BeforeTool hook configured":"BeforeTool exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"BeforeTool hook",status:"fail",message:"No BeforeTool hooks found",fix:"context-mode upgrade"});let i=o?.[xe.SESSION_START];if(i&&i.length>0){let a=i.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"SessionStart exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"SessionStart hook",status:"fail",message:"No SessionStart hooks found",fix:"context-mode upgrade"});return r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read ~/.gemini/settings.json"};let r=e.extensions;return r&&(Array.isArray(r)?r.some(o=>typeof o=="string"&&o.includes("context-mode")):Object.keys(r).some(o=>o.includes("context-mode")))?{check:"Plugin registration",status:"pass",message:"context-mode found in extensions"}:{check:"Plugin registration",status:"warn",message:"context-mode not found in extensions (might be using standalone MCP mode)"}}getInstalledVersion(){try{let e=yr(Vn(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(us(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[{name:xe.BEFORE_TOOL},{name:xe.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:Fn(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(m=>m.command?.includes("context-mode")));l>=0?(u[l]=c,o.push(`Updated existing ${i.name} hook entry`)):(u.push(c),o.push(`Added ${i.name} hook entry`)),n[i.name]=u}else n[i.name]=[c],o.push(`Created ${i.name} hooks section`)}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{Ev(e,$v.R_OK);let r=e+".bak";return eC(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=_a(e,"hooks","gemini-cli");for(let o of Object.values(Sp)){let s=yr(n,o);try{Ev(s,$v.R_OK),tC(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=yr(Vn(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(us(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),ga(n,JSON.stringify(o,null,2)+`
15
+ `,"utf-8")}catch{}}getRoutingInstructionsConfig(){return{fileName:"GEMINI.md",globalPath:yr(Vn(),".gemini","GEMINI.md"),projectRelativePath:"GEMINI.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=yr(e,n.projectRelativePath),s=yr(r,"configs","gemini-cli",n.fileName);try{let i=us(s,"utf-8");try{let a=us(o,"utf-8");return a.includes("context-mode")?null:(ga(o,a.trimEnd()+`
16
16
 
17
- `+i,"utf-8"),o)}catch{return na(o,i,"utf-8"),o}}catch{return null}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var Qr,AM,jM,rv=rt(()=>{"use strict";Qr={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},AM=[Qr.BEFORE,Qr.AFTER],jM=[Qr.COMPACTING]});var ov={};St(ov,{OpenCodeAdapter:()=>cp});import{createHash as nv}from"node:crypto";import{readFileSync as sa,writeFileSync as ap,mkdirSync as dO,copyFileSync as pO,accessSync as fO,constants as mO}from"node:fs";import{resolve as jt,join as Xo}from"node:path";import{homedir as Qo}from"node:os";var cp,sv=rt(()=>{"use strict";rv();cp=class{name="OpenCode";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return jt("opencode.json")}getSessionDir(){let e=Xo(Qo(),".config","opencode","context-mode","sessions");return dO(e,{recursive:!0}),e}getSessionDBPath(e){let r=nv("sha256").update(e).digest("hex").slice(0,16);return Xo(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=nv("sha256").update(e).digest("hex").slice(0,16);return Xo(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[Qr.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[Qr.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[Qr.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[jt("opencode.json"),jt(".opencode","opencode.json"),Xo(Qo(),".config","opencode","opencode.json")];for(let r of e)try{let n=sa(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=jt("opencode.json");ap(r,JSON.stringify(e,null,2)+`
18
- `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read opencode.json",fix:"context-mode upgrade"}),r;let o=n.plugin;if(o&&Array.isArray(o)){let s=o.some(i=>i.includes("context-mode"));r.push({check:"Plugin registration",status:s?"pass":"fail",message:s?"context-mode found in plugin array":"context-mode not found in plugin array",fix:s?void 0:"context-mode upgrade"})}else r.push({check:"Plugin registration",status:"fail",message:"No plugin array found in opencode.json",fix:"context-mode upgrade"});return r.push({check:"SessionStart hook",status:"warn",message:"SessionStart not supported in OpenCode (see issues #14808, #5409)"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read opencode.json"};let r=e.plugin;return r&&Array.isArray(r)&&r.some(o=>o.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in opencode.json plugin array",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=jt(Qo(),".cache","opencode","node_modules","context-mode","package.json"),r=JSON.parse(sa(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=[jt("opencode.json"),jt(".opencode","opencode.json"),Xo(Qo(),".config","opencode","opencode.json")];for(let r of e)try{fO(r,mO.R_OK);let n=r+".bak";return pO(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:jt(Qo(),".config","opencode","AGENTS.md"),projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=jt(e,n.projectRelativePath),s=jt(r,"configs","opencode",n.fileName);try{let i=sa(s,"utf-8");try{let a=sa(o,"utf-8");return a.includes("context-mode")?null:(ap(o,a.trimEnd()+`
17
+ `+i,"utf-8"),o)}catch{return ga(o,i,"utf-8"),o}}catch{return null}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var on,KD,JD,Rv=we(()=>{"use strict";on={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},KD=[on.BEFORE,on.AFTER],JD=[on.COMPACTING]});var Cv={};tt(Cv,{OpenCodeAdapter:()=>wp});import{createHash as Ov}from"node:crypto";import{readFileSync as ya,writeFileSync as bp,mkdirSync as rC,copyFileSync as nC,accessSync as oC,constants as sC}from"node:fs";import{resolve as Zt,join as ls}from"node:path";import{homedir as ds}from"node:os";var wp,Iv=we(()=>{"use strict";Rv();wp=class{name="OpenCode";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Zt("opencode.json")}getSessionDir(){let e=ls(ds(),".config","opencode","context-mode","sessions");return rC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Ov("sha256").update(e).digest("hex").slice(0,16);return ls(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Ov("sha256").update(e).digest("hex").slice(0,16);return ls(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[on.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[on.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[on.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[Zt("opencode.json"),Zt(".opencode","opencode.json"),ls(ds(),".config","opencode","opencode.json")];for(let r of e)try{let n=ya(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=Zt("opencode.json");bp(r,JSON.stringify(e,null,2)+`
18
+ `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read opencode.json",fix:"context-mode upgrade"}),r;let o=n.plugin;if(o&&Array.isArray(o)){let s=o.some(i=>i.includes("context-mode"));r.push({check:"Plugin registration",status:s?"pass":"fail",message:s?"context-mode found in plugin array":"context-mode not found in plugin array",fix:s?void 0:"context-mode upgrade"})}else r.push({check:"Plugin registration",status:"fail",message:"No plugin array found in opencode.json",fix:"context-mode upgrade"});return r.push({check:"SessionStart hook",status:"warn",message:"SessionStart not supported in OpenCode (see issues #14808, #5409)"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read opencode.json"};let r=e.plugin;return r&&Array.isArray(r)&&r.some(o=>o.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in opencode.json plugin array",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=Zt(ds(),".cache","opencode","node_modules","context-mode","package.json"),r=JSON.parse(ya(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=[Zt("opencode.json"),Zt(".opencode","opencode.json"),ls(ds(),".config","opencode","opencode.json")];for(let r of e)try{oC(r,sC.R_OK);let n=r+".bak";return nC(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:Zt(ds(),".config","opencode","AGENTS.md"),projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=Zt(e,n.projectRelativePath),s=Zt(r,"configs","opencode",n.fileName);try{let i=ya(s,"utf-8");try{let a=ya(o,"utf-8");return a.includes("context-mode")?null:(bp(o,a.trimEnd()+`
19
19
 
20
- `+i,"utf-8"),o)}catch{return ap(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var cv={};St(cv,{CodexAdapter:()=>dp});import{createHash as iv}from"node:crypto";import{readFileSync as es,writeFileSync as av,mkdirSync as hO,copyFileSync as gO,accessSync as _O,constants as yO}from"node:fs";import{resolve as ts,join as up,dirname as vO}from"node:path";import{fileURLToPath as xO}from"node:url";import{homedir as lp}from"node:os";var dp,uv=rt(()=>{"use strict";dp=class{name="Codex CLI";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Codex CLI does not support hooks")}parsePostToolUseInput(e){throw new Error("Codex CLI does not support hooks")}parsePreCompactInput(e){throw new Error("Codex CLI does not support hooks")}parseSessionStartInput(e){throw new Error("Codex CLI does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return ts(lp(),".codex","config.toml")}getSessionDir(){let e=up(lp(),".codex","context-mode","sessions");return hO(e,{recursive:!0}),e}getSessionDBPath(e){let r=iv("sha256").update(e).digest("hex").slice(0,16);return up(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=iv("sha256").update(e).digest("hex").slice(0,16);return up(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{return{_raw_toml:es(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI does not support hooks (PRs #2904, #9796 closed without merge). Only MCP integration is available."}]}checkPluginRegistration(){try{let e=es(this.getSettingsPath(),"utf-8"),r=e.includes("context-mode"),n=e.includes("[mcp_servers]")||e.includes("[mcp_servers.");return r&&n?{check:"MCP registration",status:"pass",message:"context-mode found in [mcp_servers] config"}:n?{check:"MCP registration",status:"fail",message:"[mcp_servers] section exists but context-mode not found",fix:"Add context-mode to [mcp_servers] in ~/.codex/config.toml"}:{check:"MCP registration",status:"fail",message:"No [mcp_servers] section in config.toml",fix:"Add [mcp_servers.context-mode] to ~/.codex/config.toml"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.codex/config.toml"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{_O(e,yO.R_OK);let r=e+".bak";return gO(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:ts(lp(),".codex","AGENTS.md"),projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=ts(e,n.projectRelativePath),s=ts(r,"configs","codex",n.fileName);try{let i=es(s,"utf-8");try{let a=es(o,"utf-8");return a.includes("context-mode")?null:(av(o,a.trimEnd()+`
20
+ `+i,"utf-8"),o)}catch{return bp(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var sn,tL,rL,zv=we(()=>{"use strict";sn={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},tL=[sn.TOOL_CALL_BEFORE,sn.TOOL_CALL_AFTER],rL=[sn.COMMAND_NEW]});var Av={};tt(Av,{OpenClawAdapter:()=>$p});import{createHash as Nv}from"node:crypto";import{readFileSync as Bn,writeFileSync as Ep,mkdirSync as iC,copyFileSync as aC,accessSync as cC,constants as uC}from"node:fs";import{resolve as mt,join as ps}from"node:path";import{homedir as fs}from"node:os";var $p,jv=we(()=>{"use strict";zv();$p=class{name="OpenClaw";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCLAW_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},toolOutput:r.output??r.tool_output,isError:r.isError??r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCLAW_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCLAW_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCLAW_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{block:!0,blockReason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{params:e.updatedInput};if(e.decision==="ask")return{block:!0,blockReason:e.reason??"Action requires user confirmation (security policy)"};e.decision==="context"&&e.additionalContext}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return mt("openclaw.json")}getSessionDir(){let e=ps(fs(),".openclaw","context-mode","sessions");return iC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Nv("sha256").update(e).digest("hex").slice(0,16);return ps(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Nv("sha256").update(e).digest("hex").slice(0,16);return ps(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[sn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[sn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[sn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[mt("openclaw.json"),mt(".openclaw","openclaw.json"),ps(fs(),".openclaw","openclaw.json")];for(let r of e)try{let n=Bn(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=mt("openclaw.json");Ep(r,JSON.stringify(e,null,2)+`
21
+ `,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read openclaw.json",fix:"context-mode upgrade"}),r;let o=n.plugins,s=o?.entries;if(s){let a=Object.keys(s).some(c=>c.includes("context-mode"));if(r.push({check:"Plugin registration",status:a?"pass":"fail",message:a?"context-mode found in plugins.entries":"context-mode not found in plugins.entries",fix:a?void 0:"context-mode upgrade"}),a){let u=s["context-mode"]?.enabled!==!1;r.push({check:"Plugin enabled",status:u?"pass":"warn",message:u?"context-mode plugin is enabled":"context-mode plugin is disabled"})}}else r.push({check:"Plugin registration",status:"fail",message:"No plugins.entries found in openclaw.json",fix:"context-mode upgrade"});return o?.slots?.contextEngine==="context-mode"?r.push({check:"Context engine",status:"pass",message:"context-mode registered as context engine (owns compaction)"}):r.push({check:"Context engine",status:"warn",message:"context-mode not set as context engine \u2014 compaction will use default engine"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read openclaw.json"};let n=e.plugins?.entries;return n&&Object.keys(n).some(s=>s.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugins.entries"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in openclaw.json plugins.entries",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=mt(fs(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Bn(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=mt("node_modules","context-mode","package.json"),r=JSON.parse(Bn(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[];r.plugins||(r.plugins={});let o=r.plugins;o.entries||(o.entries={});let s=o.entries;if(!s["context-mode"])s["context-mode"]={enabled:!0},n.push("Added context-mode to plugins.entries");else{let a=s["context-mode"];a.enabled===!1?(a.enabled=!0,n.push("Enabled context-mode plugin")):n.push("context-mode already configured in plugins.entries")}o.slots||(o.slots={});let i=o.slots;return i.contextEngine?i.contextEngine!=="context-mode"&&n.push(`Context engine already set to "${i.contextEngine}" \u2014 not overwriting`):(i.contextEngine="context-mode",n.push("Set context-mode as context engine (owns compaction)")),this.writeSettings(r),n}backupSettings(){let e=[mt("openclaw.json"),mt(".openclaw","openclaw.json"),ps(fs(),".openclaw","openclaw.json")];for(let r of e)try{cC(r,uC.R_OK);let n=r+".bak";return aC(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:mt(fs(),".openclaw","AGENTS.md"),projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=mt(e,n.projectRelativePath),s=mt(r,"configs","openclaw",n.fileName);try{let i;try{i=Bn(s,"utf-8")}catch{let a=mt(r,"configs","opencode",n.fileName);i=Bn(a,"utf-8")}try{let a=Bn(o,"utf-8");return a.includes("context-mode")?null:(Ep(o,a.trimEnd()+`
21
22
 
22
- `+i,"utf-8"),o)}catch{return av(o,i,"utf-8"),o}}catch{return null}}getRoutingInstructions(){let e=ts(vO(xO(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return es(e,"utf-8")}catch{return`# context-mode
23
+ `+i,"utf-8"),o)}catch{return Ep(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var Lv={};tt(Lv,{CodexAdapter:()=>Rp});import{createHash as Mv}from"node:crypto";import{readFileSync as ms,writeFileSync as Dv,mkdirSync as lC,copyFileSync as dC,accessSync as pC,constants as fC}from"node:fs";import{resolve as hs,join as Tp,dirname as mC}from"node:path";import{fileURLToPath as hC}from"node:url";import{homedir as Pp}from"node:os";var Rp,Zv=we(()=>{"use strict";Rp=class{name="Codex CLI";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Codex CLI does not support hooks")}parsePostToolUseInput(e){throw new Error("Codex CLI does not support hooks")}parsePreCompactInput(e){throw new Error("Codex CLI does not support hooks")}parseSessionStartInput(e){throw new Error("Codex CLI does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return hs(Pp(),".codex","config.toml")}getSessionDir(){let e=Tp(Pp(),".codex","context-mode","sessions");return lC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Mv("sha256").update(e).digest("hex").slice(0,16);return Tp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Mv("sha256").update(e).digest("hex").slice(0,16);return Tp(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{return{_raw_toml:ms(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI does not support hooks (PRs #2904, #9796 closed without merge). Only MCP integration is available."}]}checkPluginRegistration(){try{let e=ms(this.getSettingsPath(),"utf-8"),r=e.includes("context-mode"),n=e.includes("[mcp_servers]")||e.includes("[mcp_servers.");return r&&n?{check:"MCP registration",status:"pass",message:"context-mode found in [mcp_servers] config"}:n?{check:"MCP registration",status:"fail",message:"[mcp_servers] section exists but context-mode not found",fix:"Add context-mode to [mcp_servers] in ~/.codex/config.toml"}:{check:"MCP registration",status:"fail",message:"No [mcp_servers] section in config.toml",fix:"Add [mcp_servers.context-mode] to ~/.codex/config.toml"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.codex/config.toml"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{pC(e,fC.R_OK);let r=e+".bak";return dC(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:hs(Pp(),".codex","AGENTS.md"),projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=hs(e,n.projectRelativePath),s=hs(r,"configs","codex",n.fileName);try{let i=ms(s,"utf-8");try{let a=ms(o,"utf-8");return a.includes("context-mode")?null:(Dv(o,a.trimEnd()+`
23
24
 
24
- Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});function Ln(t,e){let r=ia[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/${r}"`:`context-mode hook vscode-copilot ${t.toLowerCase()}`}var se,ia,GM,JM,lv=rt(()=>{"use strict";se={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},ia={[se.PRE_TOOL_USE]:"pretooluse.mjs",[se.POST_TOOL_USE]:"posttooluse.mjs",[se.PRE_COMPACT]:"precompact.mjs",[se.SESSION_START]:"sessionstart.mjs"},GM=[se.PRE_TOOL_USE,se.SESSION_START],JM=[se.POST_TOOL_USE,se.PRE_COMPACT]});var pv={};St(pv,{VSCodeCopilotAdapter:()=>hp});import{createHash as dv}from"node:crypto";import{readFileSync as Un,writeFileSync as aa,mkdirSync as ca,copyFileSync as bO,accessSync as pp,existsSync as kO,chmodSync as SO,constants as fp}from"node:fs";import{resolve as Ye,join as gr}from"node:path";import{homedir as mp}from"node:os";var hp,fv=rt(()=>{"use strict";lv();hp=class{name="VS Code Copilot";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:se.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:se.PRE_TOOL_USE,additionalContext:e.additionalContext}};if(e.decision==="ask")return{permissionDecision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{hookSpecificOutput:{hookEventName:se.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:se.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Ye(".github","hooks","context-mode.json")}getSessionDir(){let e=Ye(".github","context-mode","sessions"),r=gr(mp(),".vscode","context-mode","sessions"),n=kO(Ye(".github"))?e:r;return ca(n,{recursive:!0}),n}getSessionDBPath(e){let r=dv("sha256").update(e).digest("hex").slice(0,16);return gr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=dv("sha256").update(e).digest("hex").slice(0,16);return gr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[se.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:Ln(se.PRE_TOOL_USE,e)}]}],[se.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:Ln(se.POST_TOOL_USE,e)}]}],[se.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:Ln(se.PRE_COMPACT,e)}]}],[se.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Ln(se.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),Ye(".claude","settings.json")];for(let r of e)try{let n=Un(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=Ye(".github","hooks");ca(n,{recursive:!0}),aa(r,JSON.stringify(e,null,2)+`
25
- `,"utf-8")}validateHooks(e){let r=[],n=Ye(".github","hooks");try{pp(n,fp.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=Ye(n,"context-mode.json");try{let s=Un(o,"utf-8"),a=JSON.parse(s).hooks;a?.[se.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in context-mode.json",fix:"context-mode upgrade"}),a?.[se.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in context-mode.json",fix:"context-mode upgrade"})}catch{r.push({check:"Hook configuration",status:"fail",message:"Could not read .github/hooks/context-mode.json",fix:"context-mode upgrade"})}return r.push({check:"API stability",status:"warn",message:"VS Code Copilot hooks are in preview \u2014 API may change without notice"}),r.push({check:"Matcher support",status:"warn",message:"Matchers are parsed but IGNORED \u2014 all hooks fire on all tools"}),r}checkPluginRegistration(){try{let e=Ye(".vscode","mcp.json"),r=Un(e,"utf-8"),o=JSON.parse(r).servers;return o&&Object.keys(o).some(i=>i.includes("context-mode"))?{check:"MCP registration",status:"pass",message:"context-mode found in .vscode/mcp.json"}:{check:"MCP registration",status:"fail",message:"context-mode not found in .vscode/mcp.json",fix:"Add context-mode server to .vscode/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read .vscode/mcp.json"}}}getInstalledVersion(){let e=[gr(mp(),".vscode","extensions"),gr(mp(),".vscode-insiders","extensions")];for(let r of e)try{let n=Un(gr(r,"extensions.json"),"utf-8"),s=JSON.parse(n).find(i=>typeof i.identifier=="object"&&i.identifier!==null&&i.identifier.id?.toString().includes("context-mode"));if(s&&typeof s.version=="string")return s.version}catch{continue}return"not installed"}configureAllHooks(e){let r=[],n={hooks:{}},o=n.hooks,s=[se.PRE_TOOL_USE,se.POST_TOOL_USE,se.PRE_COMPACT,se.SESSION_START];for(let c of s)ia[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:Ln(c,e)}]}],r.push(`Configured ${c} hook`));let i=Ye(".github","hooks");ca(i,{recursive:!0});let a=Ye(i,"context-mode.json");return aa(a,JSON.stringify(n,null,2)+`
26
- `,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{pp(e,fp.R_OK);let r=e+".bak";return bO(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=gr(e,"hooks","vscode-copilot");for(let o of Object.values(ia)){let s=Ye(n,o);try{pp(s,fp.R_OK),SO(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"copilot-instructions.md",globalPath:"",projectRelativePath:gr(".github","copilot-instructions.md")}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=Ye(e,n.projectRelativePath),s=Ye(r,"configs","vscode-copilot",n.fileName);try{let i=Un(s,"utf-8");ca(Ye(e,".github"),{recursive:!0});try{let a=Un(o,"utf-8");return a.includes("context-mode")?null:(aa(o,a.trimEnd()+`
25
+ `+i,"utf-8"),o)}catch{return Dv(o,i,"utf-8"),o}}catch{return null}}getRoutingInstructions(){let e=hs(mC(hC(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return ms(e,"utf-8")}catch{return`# context-mode
27
26
 
28
- `+i,"utf-8"),o)}catch{return aa(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});function ua(t,e){let r=gp[e],n=_r(e);return"command"in t?t.command?.includes(r)||t.command?.includes(n)||!1:t.hooks?.some(s=>s.command?.includes(r)||s.command?.includes(n))??!1}function _r(t){return`context-mode hook cursor ${t.toLowerCase()}`}var we,gp,wO,_p,mv,hv,gv=rt(()=>{"use strict";we={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart"},gp={[we.PRE_TOOL_USE]:"pretooluse.mjs",[we.POST_TOOL_USE]:"posttooluse.mjs",[we.SESSION_START]:"sessionstart.mjs"},wO=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],_p=wO.join("|"),mv=[we.PRE_TOOL_USE],hv=[we.POST_TOOL_USE]});var Sv={};St(Sv,{CursorAdapter:()=>vp});import{createHash as _v}from"node:crypto";import{readFileSync as yp,writeFileSync as $O,mkdirSync as yv,copyFileSync as TO,accessSync as vv,chmodSync as EO,constants as xv,existsSync as bv}from"node:fs";import{execSync as PO}from"node:child_process";import{resolve as qn,join as en}from"node:path";import{homedir as la}from"node:os";var kv,vp,wv=rt(()=>{"use strict";gv();kv="/Library/Application Support/Cursor/hooks.json",vp=class{name="Cursor";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output??r.error_message,isError:!!r.error_message,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??r.trigger??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(r),raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{permission:"deny",user_message:e.reason??"Blocked by context-mode hook"}:e.decision==="modify"&&e.updatedInput?{updated_input:e.updatedInput}:e.decision==="context"&&e.additionalContext?{agent_message:e.additionalContext}:e.decision==="ask"?{permission:"ask",user_message:e.reason??"Action requires user confirmation (security policy)"}:{agent_message:""}}formatPostToolUseResponse(e){return{additional_context:e.additionalContext??""}}formatSessionStartResponse(e){return{additional_context:e.context??""}}getSettingsPath(){return qn(".cursor","hooks.json")}getSessionDir(){let e=en(la(),".cursor","context-mode","sessions");return yv(e,{recursive:!0}),e}getSessionDBPath(e){let r=_v("sha256").update(e).digest("hex").slice(0,16);return en(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=_v("sha256").update(e).digest("hex").slice(0,16);return en(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[we.PRE_TOOL_USE]:[{type:"command",command:_r(we.PRE_TOOL_USE),matcher:_p,loop_limit:null,failClosed:!1}],[we.POST_TOOL_USE]:[{type:"command",command:_r(we.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[we.SESSION_START]:[{type:"command",command:_r(we.SESSION_START),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=yp(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();yv(qn(".cursor"),{recursive:!0}),$O(r,JSON.stringify(e,null,2)+`
29
- `,"utf-8")}validateHooks(e){let r=[],n=this.loadNativeHookConfig();if(!n)r.push({check:"Native hook config",status:"fail",message:"No readable native Cursor hook config found in .cursor/hooks.json or ~/.cursor/hooks.json",fix:"context-mode upgrade"});else{let o=n.config.hooks??{};r.push({check:"Native hook config",status:"pass",message:`Loaded ${n.path}`});for(let s of mv){let i=o[s],a=Array.isArray(i)&&i.some(c=>ua(c,s));r.push({check:s,status:a?"pass":"fail",message:a?`${s} hook configured`:`${s} hook not configured in ${n.path}`,fix:a?void 0:"context-mode upgrade"})}for(let s of hv){let i=o[s],a=Array.isArray(i)&&i.some(c=>ua(c,s));r.push({check:s,status:a?"pass":"warn",message:a?`${s} hook configured`:`${s} hook missing \u2014 session event capture will be reduced`})}}return bv(kv)&&r.push({check:"Enterprise hook config",status:"warn",message:"Enterprise Cursor hook config detected at /Library/Application Support/Cursor/hooks.json (read-only informational layer)"}),this.hasClaudeCompatibilityHooks()&&r.push({check:"Claude compatibility",status:"warn",message:"Claude-compatible hooks detected; native Cursor hooks are the supported configuration"}),r}checkPluginRegistration(){let e=[qn(".cursor","mcp.json"),en(la(),".cursor","mcp.json")];for(let r of e)try{let n=yp(r,"utf-8"),o=JSON.parse(n),s=o.mcpServers??o.servers;if(!s)continue;if(Object.entries(s).some(([a,c])=>a.includes("context-mode")?!0:!c||typeof c!="object"?!1:c.command==="context-mode"))return{check:"MCP registration",status:"pass",message:`context-mode found in ${r}`}}catch{continue}return{check:"MCP registration",status:"warn",message:"Could not find context-mode in .cursor/mcp.json or ~/.cursor/mcp.json"}}getInstalledVersion(){try{return PO("cursor --version",{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim().split(/\r?\n/)[0]||"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=this.readSettings()??{version:1,hooks:{}},n=r.hooks??{},o=[];return this.upsertHookEntry(n,we.PRE_TOOL_USE,{type:"command",command:_r(we.PRE_TOOL_USE),matcher:_p,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,we.POST_TOOL_USE,{type:"command",command:_r(we.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,we.SESSION_START,{type:"command",command:_r(we.SESSION_START),loop_limit:null,failClosed:!1},o),r.version=1,r.hooks=n,this.writeSettings(r),o.push(`Wrote native Cursor hooks to ${this.getSettingsPath()}`),o}backupSettings(){let e=this.getSettingsPath();try{vv(e,xv.R_OK);let r=e+".bak";return TO(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=en(e,"hooks","cursor");for(let o of Object.values(gp)){let s=qn(n,o);try{vv(s,xv.R_OK),EO(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:"",projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){return null}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),en(la(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(kv),e}getProjectDir(e){return e.cwd||e.workspace_roots?.[0]||process.env.CURSOR_CWD||process.cwd()}extractSessionId(e){return e.conversation_id?e.conversation_id:e.session_id?e.session_id:process.env.CURSOR_SESSION_ID?process.env.CURSOR_SESSION_ID:process.env.CURSOR_TRACE_ID?process.env.CURSOR_TRACE_ID:`pid-${process.ppid}`}loadNativeHookConfig(){for(let e of this.getCandidateHookConfigPaths())try{let r=yp(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[qn(".claude","settings.json"),qn(".claude","settings.local.json"),en(la(),".claude","settings.json")].some(r=>bv(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>ua(c,r));a>=0?(i[a]=n,o.push(`Updated existing ${r} hook entry`)):(i.push(n),o.push(`Added ${r} hook entry`)),e[r]=i}}});var Tv={};St(Tv,{detectPlatform:()=>$v,getAdapter:()=>OO});import{existsSync as rs}from"node:fs";import{resolve as ns}from"node:path";import{homedir as RO}from"node:os";function $v(){if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.CURSOR_TRACE_ID||process.env.CURSOR_CLI)return{platform:"cursor",confidence:"high",reason:"CURSOR_TRACE_ID or CURSOR_CLI env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let t=RO();return rs(ns(t,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:rs(ns(t,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:rs(ns(t,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:rs(ns(t,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:rs(ns(t,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function OO(t){switch(t??$v().platform){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(op(),np));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(tv(),ev));return new r}case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(sv(),ov));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(uv(),cv));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(fv(),pv));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(wv(),Sv));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(op(),np));return new r}}}var Ev=rt(()=>{"use strict"});var F={};St(F,{BRAND:()=>px,DIRTY:()=>vr,EMPTY_PATH:()=>Fv,INVALID:()=>A,NEVER:()=>Jx,OK:()=>ze,ParseStatus:()=>$e,Schema:()=>U,ZodAny:()=>Xt,ZodArray:()=>qt,ZodBigInt:()=>br,ZodBoolean:()=>kr,ZodBranded:()=>Vn,ZodCatch:()=>zr,ZodDate:()=>Sr,ZodDefault:()=>Cr,ZodDiscriminatedUnion:()=>ls,ZodEffects:()=>ot,ZodEnum:()=>Or,ZodError:()=>He,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>ps,ZodIntersection:()=>Er,ZodIssueCode:()=>k,ZodLazy:()=>Pr,ZodLiteral:()=>Rr,ZodMap:()=>cn,ZodNaN:()=>ln,ZodNativeEnum:()=>Ir,ZodNever:()=>pt,ZodNull:()=>$r,ZodNullable:()=>Tt,ZodNumber:()=>xr,ZodObject:()=>Ve,ZodOptional:()=>Fe,ZodParsedType:()=>E,ZodPipeline:()=>Bn,ZodPromise:()=>Qt,ZodReadonly:()=>Nr,ZodRecord:()=>ds,ZodSchema:()=>U,ZodSet:()=>un,ZodString:()=>Yt,ZodSymbol:()=>sn,ZodTransformer:()=>ot,ZodTuple:()=>$t,ZodType:()=>U,ZodUndefined:()=>wr,ZodUnion:()=>Tr,ZodUnknown:()=>Ut,ZodVoid:()=>an,addIssueToContext:()=>$,any:()=>bx,array:()=>$x,bigint:()=>gx,boolean:()=>Dp,coerce:()=>Gx,custom:()=>Ap,date:()=>_x,datetimeRegex:()=>zp,defaultErrorMap:()=>Zt,discriminatedUnion:()=>Px,effect:()=>Lx,enum:()=>Mx,function:()=>Nx,getErrorMap:()=>rn,getParsedType:()=>wt,instanceof:()=>mx,intersection:()=>Rx,isAborted:()=>cs,isAsync:()=>nn,isDirty:()=>us,isValid:()=>Wt,late:()=>fx,lazy:()=>Ax,literal:()=>jx,makeIssue:()=>Fn,map:()=>Cx,nan:()=>hx,nativeEnum:()=>Dx,never:()=>Sx,null:()=>xx,nullable:()=>qx,number:()=>Mp,object:()=>va,objectUtil:()=>ga,oboolean:()=>Kx,onumber:()=>Bx,optional:()=>Ux,ostring:()=>Vx,pipeline:()=>Fx,preprocess:()=>Hx,promise:()=>Zx,quotelessJson:()=>Uv,record:()=>Ix,set:()=>zx,setErrorMap:()=>Hv,strictObject:()=>Tx,string:()=>jp,symbol:()=>yx,transformer:()=>Lx,tuple:()=>Ox,undefined:()=>vx,union:()=>Ex,unknown:()=>kx,util:()=>B,void:()=>wx});var B;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(B||(B={}));var ga;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(ga||(ga={}));var E=B.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),wt=t=>{switch(typeof t){case"undefined":return E.undefined;case"string":return E.string;case"number":return Number.isNaN(t)?E.nan:E.number;case"boolean":return E.boolean;case"function":return E.function;case"bigint":return E.bigint;case"symbol":return E.symbol;case"object":return Array.isArray(t)?E.array:t===null?E.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?E.promise:typeof Map<"u"&&t instanceof Map?E.map:typeof Set<"u"&&t instanceof Set?E.set:typeof Date<"u"&&t instanceof Date?E.date:E.object;default:return E.unknown}};var k=B.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Uv=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),He=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,B.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};He.create=t=>new He(t);var qv=(t,e)=>{let r;switch(t.code){case k.invalid_type:t.received===E.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case k.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,B.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:r=`Unrecognized key(s) in object: ${B.joinValues(t.keys,", ")}`;break;case k.invalid_union:r="Invalid input";break;case k.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${B.joinValues(t.options)}`;break;case k.invalid_enum_value:r=`Invalid enum value. Expected ${B.joinValues(t.options)}, received '${t.received}'`;break;case k.invalid_arguments:r="Invalid function arguments";break;case k.invalid_return_type:r="Invalid function return type";break;case k.invalid_date:r="Invalid date";break;case k.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:B.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case k.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case k.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case k.custom:r="Invalid input";break;case k.invalid_intersection_types:r="Intersection results could not be merged";break;case k.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case k.not_finite:r="Number must be finite";break;default:r=e.defaultError,B.assertNever(t)}return{message:r}},Zt=qv;var Pp=Zt;function Hv(t){Pp=t}function rn(){return Pp}var Fn=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},Fv=[];function $(t,e){let r=rn(),n=Fn({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Zt?void 0:Zt].filter(o=>!!o)});t.common.issues.push(n)}var $e=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return A;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return A;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},A=Object.freeze({status:"aborted"}),vr=t=>({status:"dirty",value:t}),ze=t=>({status:"valid",value:t}),cs=t=>t.status==="aborted",us=t=>t.status==="dirty",Wt=t=>t.status==="valid",nn=t=>typeof Promise<"u"&&t instanceof Promise;var O;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(O||(O={}));var nt=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Rp=(t,e)=>{if(Wt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new He(t.common.issues);return this._error=r,this._error}}};function Z(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var U=class{get description(){return this._def.description}_getType(e){return wt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:wt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new $e,ctx:{common:e.parent.common,data:e.data,parsedType:wt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(nn(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:wt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return Rp(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:wt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Wt(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Wt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:wt(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(nn(o)?o:Promise.resolve(o));return Rp(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:k.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new ot({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Fe.create(this,this._def)}nullable(){return Tt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return qt.create(this)}promise(){return Qt.create(this,this._def)}or(e){return Tr.create([this,e],this._def)}and(e){return Er.create(this,e,this._def)}transform(e){return new ot({...Z(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Cr({...Z(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new Vn({typeName:S.ZodBranded,type:this,...Z(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new zr({...Z(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Bn.create(this,e)}readonly(){return Nr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Vv=/^c[^\s-]{8,}$/i,Bv=/^[0-9a-z]+$/,Kv=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Gv=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Jv=/^[a-z0-9_-]{21}$/i,Wv=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Yv=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Xv=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Qv="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",_a,ex=/^(?:(?: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])$/,tx=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,rx=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,nx=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ox=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,sx=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Ip="((\\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])))",ix=new RegExp(`^${Ip}$`);function Cp(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function ax(t){return new RegExp(`^${Cp(t)}$`)}function zp(t){let e=`${Ip}T${Cp(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function cx(t,e){return!!((e==="v4"||!e)&&ex.test(t)||(e==="v6"||!e)&&rx.test(t))}function ux(t,e){if(!Wv.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function lx(t,e){return!!((e==="v4"||!e)&&tx.test(t)||(e==="v6"||!e)&&nx.test(t))}var Yt=class t extends U{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==E.string){let s=this._getOrReturnCtx(e);return $(s,{code:k.invalid_type,expected:E.string,received:s.parsedType}),A}let n=new $e,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),$(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),$(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?$(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&$(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Xv.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"email",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")_a||(_a=new RegExp(Qv,"u")),_a.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"emoji",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Gv.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"uuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Jv.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"nanoid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Vv.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"cuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Bv.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"cuid2",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")Kv.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"ulid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),$(o,{validation:"url",code:k.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"regex",code:k.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?zp(s).test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?ix.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?ax(s).test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Yv.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"duration",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?cx(e.data,s.version)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"ip",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?ux(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"jwt",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?lx(e.data,s.version)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"cidr",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?ox.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"base64",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?sx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"base64url",code:k.invalid_string,message:s.message}),n.dirty()):B.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:k.invalid_string,...O.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...O.errToObj(e)})}url(e){return this._addCheck({kind:"url",...O.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...O.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...O.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...O.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...O.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...O.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...O.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...O.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...O.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...O.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...O.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...O.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...O.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...O.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...O.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...O.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...O.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...O.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...O.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...O.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...O.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...O.errToObj(r)})}nonempty(e){return this.min(1,O.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Yt.create=t=>new Yt({checks:[],typeName:S.ZodString,coerce:t?.coerce??!1,...Z(t)});function dx(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var xr=class t extends U{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==E.number){let s=this._getOrReturnCtx(e);return $(s,{code:k.invalid_type,expected:E.number,received:s.parsedType}),A}let n,o=new $e;for(let s of this._def.checks)s.kind==="int"?B.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),$(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?dx(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),$(n,{code:k.not_finite,message:s.message}),o.dirty()):B.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,O.toString(r))}gt(e,r){return this.setLimit("min",e,!1,O.toString(r))}lte(e,r){return this.setLimit("max",e,!0,O.toString(r))}lt(e,r){return this.setLimit("max",e,!1,O.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:O.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:O.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:O.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:O.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:O.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:O.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:O.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:O.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:O.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:O.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&B.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};xr.create=t=>new xr({checks:[],typeName:S.ZodNumber,coerce:t?.coerce||!1,...Z(t)});var br=class t extends U{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==E.bigint)return this._getInvalidInput(e);let n,o=new $e;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):B.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return $(r,{code:k.invalid_type,expected:E.bigint,received:r.parsedType}),A}gte(e,r){return this.setLimit("min",e,!0,O.toString(r))}gt(e,r){return this.setLimit("min",e,!1,O.toString(r))}lte(e,r){return this.setLimit("max",e,!0,O.toString(r))}lt(e,r){return this.setLimit("max",e,!1,O.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:O.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:O.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:O.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:O.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:O.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:O.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};br.create=t=>new br({checks:[],typeName:S.ZodBigInt,coerce:t?.coerce??!1,...Z(t)});var kr=class extends U{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==E.boolean){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.boolean,received:n.parsedType}),A}return ze(e.data)}};kr.create=t=>new kr({typeName:S.ZodBoolean,coerce:t?.coerce||!1,...Z(t)});var Sr=class t extends U{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==E.date){let s=this._getOrReturnCtx(e);return $(s,{code:k.invalid_type,expected:E.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return $(s,{code:k.invalid_date}),A}let n=new $e,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),$(o,{code:k.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),$(o,{code:k.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):B.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:O.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:O.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};Sr.create=t=>new Sr({checks:[],coerce:t?.coerce||!1,typeName:S.ZodDate,...Z(t)});var sn=class extends U{_parse(e){if(this._getType(e)!==E.symbol){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.symbol,received:n.parsedType}),A}return ze(e.data)}};sn.create=t=>new sn({typeName:S.ZodSymbol,...Z(t)});var wr=class extends U{_parse(e){if(this._getType(e)!==E.undefined){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.undefined,received:n.parsedType}),A}return ze(e.data)}};wr.create=t=>new wr({typeName:S.ZodUndefined,...Z(t)});var $r=class extends U{_parse(e){if(this._getType(e)!==E.null){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.null,received:n.parsedType}),A}return ze(e.data)}};$r.create=t=>new $r({typeName:S.ZodNull,...Z(t)});var Xt=class extends U{constructor(){super(...arguments),this._any=!0}_parse(e){return ze(e.data)}};Xt.create=t=>new Xt({typeName:S.ZodAny,...Z(t)});var Ut=class extends U{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ze(e.data)}};Ut.create=t=>new Ut({typeName:S.ZodUnknown,...Z(t)});var pt=class extends U{_parse(e){let r=this._getOrReturnCtx(e);return $(r,{code:k.invalid_type,expected:E.never,received:r.parsedType}),A}};pt.create=t=>new pt({typeName:S.ZodNever,...Z(t)});var an=class extends U{_parse(e){if(this._getType(e)!==E.undefined){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.void,received:n.parsedType}),A}return ze(e.data)}};an.create=t=>new an({typeName:S.ZodVoid,...Z(t)});var qt=class t extends U{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==E.array)return $(r,{code:k.invalid_type,expected:E.array,received:r.parsedType}),A;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&($(r,{code:i?k.too_big:k.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&($(r,{code:k.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&($(r,{code:k.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new nt(r,i,r.path,a)))).then(i=>$e.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new nt(r,i,r.path,a)));return $e.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:O.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:O.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:O.toString(r)}})}nonempty(e){return this.min(1,e)}};qt.create=(t,e)=>new qt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...Z(e)});function on(t){if(t instanceof Ve){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Fe.create(on(n))}return new Ve({...t._def,shape:()=>e})}else return t instanceof qt?new qt({...t._def,type:on(t.element)}):t instanceof Fe?Fe.create(on(t.unwrap())):t instanceof Tt?Tt.create(on(t.unwrap())):t instanceof $t?$t.create(t.items.map(e=>on(e))):t}var Ve=class t extends U{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=B.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==E.object){let u=this._getOrReturnCtx(e);return $(u,{code:k.invalid_type,expected:E.object,received:u.parsedType}),A}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof pt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new nt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof pt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&($(o,{code:k.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new nt(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,f=await l.value;u.push({key:d,value:f,alwaysSet:l.alwaysSet})}return u}).then(u=>$e.mergeObjectSync(n,u)):$e.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return O.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:O.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:S.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of B.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of B.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return on(this)}partial(e){let r={};for(let n of B.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of B.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Fe;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return Np(B.objectKeys(this.shape))}};Ve.create=(t,e)=>new Ve({shape:()=>t,unknownKeys:"strip",catchall:pt.create(),typeName:S.ZodObject,...Z(e)});Ve.strictCreate=(t,e)=>new Ve({shape:()=>t,unknownKeys:"strict",catchall:pt.create(),typeName:S.ZodObject,...Z(e)});Ve.lazycreate=(t,e)=>new Ve({shape:t,unknownKeys:"strip",catchall:pt.create(),typeName:S.ZodObject,...Z(e)});var Tr=class extends U{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new He(a.ctx.common.issues));return $(r,{code:k.invalid_union,unionErrors:i}),A}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new He(c));return $(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};Tr.create=(t,e)=>new Tr({options:t,typeName:S.ZodUnion,...Z(e)});var Lt=t=>t instanceof Pr?Lt(t.schema):t instanceof ot?Lt(t.innerType()):t instanceof Rr?[t.value]:t instanceof Or?t.options:t instanceof Ir?B.objectValues(t.enum):t instanceof Cr?Lt(t._def.innerType):t instanceof wr?[void 0]:t instanceof $r?[null]:t instanceof Fe?[void 0,...Lt(t.unwrap())]:t instanceof Tt?[null,...Lt(t.unwrap())]:t instanceof Vn||t instanceof Nr?Lt(t.unwrap()):t instanceof zr?Lt(t._def.innerType):[],ls=class t extends U{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==E.object)return $(r,{code:k.invalid_type,expected:E.object,received:r.parsedType}),A;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):($(r,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Lt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:S.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...Z(n)})}};function ya(t,e){let r=wt(t),n=wt(e);if(t===e)return{valid:!0,data:t};if(r===E.object&&n===E.object){let o=B.objectKeys(e),s=B.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=ya(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===E.array&&n===E.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=ya(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===E.date&&n===E.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Er=class extends U{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(cs(s)||cs(i))return A;let a=ya(s.value,i.value);return a.valid?((us(s)||us(i))&&r.dirty(),{status:r.value,value:a.data}):($(n,{code:k.invalid_intersection_types}),A)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Er.create=(t,e,r)=>new Er({left:t,right:e,typeName:S.ZodIntersection,...Z(r)});var $t=class t extends U{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.array)return $(n,{code:k.invalid_type,expected:E.array,received:n.parsedType}),A;if(n.data.length<this._def.items.length)return $(n,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&n.data.length>this._def.items.length&&($(n,{code:k.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new nt(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>$e.mergeArray(r,i)):$e.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};$t.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $t({items:t,typeName:S.ZodTuple,rest:null,...Z(e)})};var ds=class t extends U{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.object)return $(n,{code:k.invalid_type,expected:E.object,received:n.parsedType}),A;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new nt(n,a,n.path,a)),value:i._parse(new nt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?$e.mergeObjectAsync(r,o):$e.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof U?new t({keyType:e,valueType:r,typeName:S.ZodRecord,...Z(n)}):new t({keyType:Yt.create(),valueType:e,typeName:S.ZodRecord,...Z(r)})}},cn=class extends U{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.map)return $(n,{code:k.invalid_type,expected:E.map,received:n.parsedType}),A;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new nt(n,a,n.path,[u,"key"])),value:s._parse(new nt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};cn.create=(t,e,r)=>new cn({valueType:e,keyType:t,typeName:S.ZodMap,...Z(r)});var un=class t extends U{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.set)return $(n,{code:k.invalid_type,expected:E.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&($(n,{code:k.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&($(n,{code:k.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return A;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new nt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:O.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:O.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};un.create=(t,e)=>new un({valueType:t,minSize:null,maxSize:null,typeName:S.ZodSet,...Z(e)});var ps=class t extends U{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==E.function)return $(r,{code:k.invalid_type,expected:E.function,received:r.parsedType}),A;function n(a,c){return Fn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,rn(),Zt].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return Fn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,rn(),Zt].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Qt){let a=this;return ze(async function(...c){let u=new He([]),l=await a._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(n(c,m)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(o(d,m)),u})})}else{let a=this;return ze(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new He([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new He([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:$t.create(e).rest(Ut.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||$t.create([]).rest(Ut.create()),returns:r||Ut.create(),typeName:S.ZodFunction,...Z(n)})}},Pr=class extends U{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Pr.create=(t,e)=>new Pr({getter:t,typeName:S.ZodLazy,...Z(e)});var Rr=class extends U{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return $(r,{received:r.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:e.data}}get value(){return this._def.value}};Rr.create=(t,e)=>new Rr({value:t,typeName:S.ZodLiteral,...Z(e)});function Np(t,e){return new Or({values:t,typeName:S.ZodEnum,...Z(e)})}var Or=class t extends U{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return $(r,{expected:B.joinValues(n),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return $(r,{received:r.data,code:k.invalid_enum_value,options:n}),A}return ze(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Or.create=Np;var Ir=class extends U{_parse(e){let r=B.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==E.string&&n.parsedType!==E.number){let o=B.objectValues(r);return $(n,{expected:B.joinValues(o),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(B.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=B.objectValues(r);return $(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return ze(e.data)}get enum(){return this._def.values}};Ir.create=(t,e)=>new Ir({values:t,typeName:S.ZodNativeEnum,...Z(e)});var Qt=class extends U{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==E.promise&&r.common.async===!1)return $(r,{code:k.invalid_type,expected:E.promise,received:r.parsedType}),A;let n=r.parsedType===E.promise?r.data:Promise.resolve(r.data);return ze(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Qt.create=(t,e)=>new Qt({type:t,typeName:S.ZodPromise,...Z(e)});var ot=class extends U{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{$(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return A;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?A:c.status==="dirty"?vr(c.value):r.value==="dirty"?vr(c.value):c});{if(r.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?A:a.status==="dirty"?vr(a.value):r.value==="dirty"?vr(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Wt(i))return A;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Wt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):A);B.assertNever(o)}};ot.create=(t,e,r)=>new ot({schema:t,typeName:S.ZodEffects,effect:e,...Z(r)});ot.createWithPreprocess=(t,e,r)=>new ot({schema:e,effect:{type:"preprocess",transform:t},typeName:S.ZodEffects,...Z(r)});var Fe=class extends U{_parse(e){return this._getType(e)===E.undefined?ze(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Fe.create=(t,e)=>new Fe({innerType:t,typeName:S.ZodOptional,...Z(e)});var Tt=class extends U{_parse(e){return this._getType(e)===E.null?ze(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Tt.create=(t,e)=>new Tt({innerType:t,typeName:S.ZodNullable,...Z(e)});var Cr=class extends U{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===E.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Cr.create=(t,e)=>new Cr({innerType:t,typeName:S.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Z(e)});var zr=class extends U{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return nn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new He(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new He(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};zr.create=(t,e)=>new zr({innerType:t,typeName:S.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Z(e)});var ln=class extends U{_parse(e){if(this._getType(e)!==E.nan){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};ln.create=t=>new ln({typeName:S.ZodNaN,...Z(t)});var px=Symbol("zod_brand"),Vn=class extends U{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Bn=class t extends U{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?A:s.status==="dirty"?(r.dirty(),vr(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?A:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:S.ZodPipeline})}},Nr=class extends U{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Wt(o)&&(o.value=Object.freeze(o.value)),o);return nn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Nr.create=(t,e)=>new Nr({innerType:t,typeName:S.ZodReadonly,...Z(e)});function Op(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Ap(t,e={},r){return t?Xt.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Op(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Op(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Xt.create()}var fx={object:Ve.lazycreate},S;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(S||(S={}));var mx=(t,e={message:`Input not instance of ${t.name}`})=>Ap(r=>r instanceof t,e),jp=Yt.create,Mp=xr.create,hx=ln.create,gx=br.create,Dp=kr.create,_x=Sr.create,yx=sn.create,vx=wr.create,xx=$r.create,bx=Xt.create,kx=Ut.create,Sx=pt.create,wx=an.create,$x=qt.create,va=Ve.create,Tx=Ve.strictCreate,Ex=Tr.create,Px=ls.create,Rx=Er.create,Ox=$t.create,Ix=ds.create,Cx=cn.create,zx=un.create,Nx=ps.create,Ax=Pr.create,jx=Rr.create,Mx=Or.create,Dx=Ir.create,Zx=Qt.create,Lx=ot.create,Ux=Fe.create,qx=Tt.create,Hx=ot.createWithPreprocess,Fx=Bn.create,Vx=()=>jp().optional(),Bx=()=>Mp().optional(),Kx=()=>Dp().optional(),Gx={string:(t=>Yt.create({...t,coerce:!0})),number:(t=>xr.create({...t,coerce:!0})),boolean:(t=>kr.create({...t,coerce:!0})),bigint:(t=>br.create({...t,coerce:!0})),date:(t=>Sr.create({...t,coerce:!0}))};var Jx=A;var Wx=Object.freeze({status:"aborted"});function v(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var Ht=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},fs={};function Qe(t){return t&&Object.assign(fs,t),fs}var K={};St(K,{BIGINT_FORMAT_RANGES:()=>Lp,Class:()=>ba,NUMBER_FORMAT_RANGES:()=>Pa,aborted:()=>jr,allowsEval:()=>$a,assert:()=>tb,assertEqual:()=>Yx,assertIs:()=>Qx,assertNever:()=>eb,assertNotEqual:()=>Xx,assignProp:()=>wa,cached:()=>Jn,captureStackTrace:()=>hs,cleanEnum:()=>mb,cleanRegex:()=>Yn,clone:()=>et,createTransparentProxy:()=>ab,defineLazy:()=>ce,esc:()=>Ar,escapeRegex:()=>er,extend:()=>lb,finalizeIssue:()=>ft,floatSafeRemainder:()=>Sa,getElementAtPath:()=>rb,getEnumValues:()=>Gn,getLengthableOrigin:()=>Xn,getParsedType:()=>ib,getSizableOrigin:()=>Up,isObject:()=>dn,isPlainObject:()=>pn,issue:()=>Ra,joinValues:()=>ms,jsonStringifyReplacer:()=>ka,merge:()=>db,normalizeParams:()=>j,nullish:()=>Wn,numKeys:()=>sb,omit:()=>ub,optionalKeys:()=>Ea,partial:()=>pb,pick:()=>cb,prefixIssues:()=>Et,primitiveTypes:()=>Zp,promiseAllObject:()=>nb,propertyKeyTypes:()=>Ta,randomString:()=>ob,required:()=>fb,stringifyPrimitive:()=>gs,unwrapMessage:()=>Kn});function Yx(t){return t}function Xx(t){return t}function Qx(t){}function eb(t){throw new Error}function tb(t){}function Gn(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function ms(t,e="|"){return t.map(r=>gs(r)).join(e)}function ka(t,e){return typeof e=="bigint"?e.toString():e}function Jn(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Wn(t){return t==null}function Yn(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Sa(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function ce(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function wa(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function rb(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function nb(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 ob(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Ar(t){return JSON.stringify(t)}var hs=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function dn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var $a=Jn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function pn(t){if(dn(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(dn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function sb(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var ib=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}`)}},Ta=new Set(["string","number","symbol"]),Zp=new Set(["string","number","bigint","boolean","symbol","undefined"]);function er(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function et(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function j(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function ab(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 gs(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ea(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Pa={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Lp={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function cb(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 et(t,{...t._zod.def,shape:r,checks:[]})}function ub(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 et(t,{...t._zod.def,shape:r,checks:[]})}function lb(t,e){if(!pn(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return wa(this,"shape",n),n},checks:[]};return et(t,r)}function db(t,e){return et(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return wa(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function pb(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 et(e,{...e._zod.def,shape:o,checks:[]})}function fb(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 et(e,{...e._zod.def,shape:o,checks:[]})}function jr(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Et(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function Kn(t){return typeof t=="string"?t:t?.message}function ft(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=Kn(t.inst?._zod.def?.error?.(t))??Kn(e?.error?.(t))??Kn(r.customError?.(t))??Kn(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Up(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Xn(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ra(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function mb(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var ba=class{constructor(...e){}};var qp=(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,ka,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},_s=v("$ZodError",qp),Qn=v("$ZodError",qp,{Parent:Error});function Oa(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 Ia(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 Ca=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 Ht;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>ft(c,s,Qe())));throw hs(a,o?.callee),a}return i.value},za=Ca(Qn),Na=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=>ft(c,s,Qe())));throw hs(a,o?.callee),a}return i.value},Aa=Na(Qn),ja=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 Ht;return s.issues.length?{success:!1,error:new(t??_s)(s.issues.map(i=>ft(i,o,Qe())))}:{success:!0,data:s.value}},Mr=ja(Qn),Ma=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=>ft(i,o,Qe())))}:{success:!0,data:s.value}},Dr=Ma(Qn);var Hp=/^[cC][^\s-]{8,}$/,Fp=/^[0-9a-z]+$/,Vp=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Bp=/^[0-9a-vA-V]{20}$/,Kp=/^[A-Za-z0-9]{27}$/,Gp=/^[a-zA-Z0-9_-]{21}$/,Jp=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Wp=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Da=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 Yp=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var gb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Xp(){return new RegExp(gb,"u")}var Qp=/^(?:(?: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])$/,ef=/^(([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})$/,tf=/^((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])$/,rf=/^(([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])$/,nf=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Za=/^[A-Za-z0-9_-]*$/,of=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var sf=/^\+(?:[0-9]){6,14}[0-9]$/,af="(?:(?:\\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])))",cf=new RegExp(`^${af}$`);function uf(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 lf(t){return new RegExp(`^${uf(t)}$`)}function df(t){let e=uf({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(`^${af}T(?:${n})$`)}var pf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var ff=/^\d+$/,mf=/^-?\d+(?:\.\d+)?/i,hf=/true|false/i,gf=/null/i;var _f=/^[^A-Z]*$/,yf=/^[^a-z]*$/;var Te=v("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),vf={number:"number",bigint:"bigint",object:"date"},La=v("$ZodCheckLessThan",(t,e)=>{Te.init(t,e);let r=vf[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})}}),Ua=v("$ZodCheckGreaterThan",(t,e)=>{Te.init(t,e);let r=vf[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})}}),xf=v("$ZodCheckMultipleOf",(t,e)=>{Te.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):Sa(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})}}),bf=v("$ZodCheckNumberFormat",(t,e)=>{Te.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Pa[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=ff)}),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 kf=v("$ZodCheckMaxLength",(t,e)=>{var r;Te.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Wn(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=Xn(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Sf=v("$ZodCheckMinLength",(t,e)=>{var r;Te.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Wn(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=Xn(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),wf=v("$ZodCheckLengthEquals",(t,e)=>{var r;Te.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Wn(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=Xn(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),eo=v("$ZodCheckStringFormat",(t,e)=>{var r,n;Te.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=()=>{})}),$f=v("$ZodCheckRegex",(t,e)=>{eo.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Tf=v("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=_f),eo.init(t,e)}),Ef=v("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=yf),eo.init(t,e)}),Pf=v("$ZodCheckIncludes",(t,e)=>{Te.init(t,e);let r=er(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})}}),Rf=v("$ZodCheckStartsWith",(t,e)=>{Te.init(t,e);let r=new RegExp(`^${er(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})}}),Of=v("$ZodCheckEndsWith",(t,e)=>{Te.init(t,e);let r=new RegExp(`.*${er(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 If=v("$ZodCheckOverwrite",(t,e)=>{Te.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var vs=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
27
+ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});function Kn(t,e){let r=va[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/${r}"`:`context-mode hook vscode-copilot ${t.toLowerCase()}`}var ie,va,hL,gL,Uv=we(()=>{"use strict";ie={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},va={[ie.PRE_TOOL_USE]:"pretooluse.mjs",[ie.POST_TOOL_USE]:"posttooluse.mjs",[ie.PRE_COMPACT]:"precompact.mjs",[ie.SESSION_START]:"sessionstart.mjs"},hL=[ie.PRE_TOOL_USE,ie.SESSION_START],gL=[ie.POST_TOOL_USE,ie.PRE_COMPACT]});var qv={};tt(qv,{VSCodeCopilotAdapter:()=>zp});import{createHash as Hv}from"node:crypto";import{readFileSync as Jn,writeFileSync as xa,mkdirSync as Sa,copyFileSync as gC,accessSync as Op,existsSync as _C,chmodSync as yC,constants as Cp}from"node:fs";import{resolve as et,join as vr}from"node:path";import{homedir as Ip}from"node:os";var zp,Fv=we(()=>{"use strict";Uv();zp=class{name="VS Code Copilot";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,additionalContext:e.additionalContext}};if(e.decision==="ask")return{permissionDecision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return et(".github","hooks","context-mode.json")}getSessionDir(){let e=et(".github","context-mode","sessions"),r=vr(Ip(),".vscode","context-mode","sessions"),n=_C(et(".github"))?e:r;return Sa(n,{recursive:!0}),n}getSessionDBPath(e){let r=Hv("sha256").update(e).digest("hex").slice(0,16);return vr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Hv("sha256").update(e).digest("hex").slice(0,16);return vr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ie.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:Kn(ie.PRE_TOOL_USE,e)}]}],[ie.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:Kn(ie.POST_TOOL_USE,e)}]}],[ie.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:Kn(ie.PRE_COMPACT,e)}]}],[ie.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Kn(ie.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),et(".claude","settings.json")];for(let r of e)try{let n=Jn(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=et(".github","hooks");Sa(n,{recursive:!0}),xa(r,JSON.stringify(e,null,2)+`
28
+ `,"utf-8")}validateHooks(e){let r=[],n=et(".github","hooks");try{Op(n,Cp.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=et(n,"context-mode.json");try{let s=Jn(o,"utf-8"),a=JSON.parse(s).hooks;a?.[ie.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in context-mode.json",fix:"context-mode upgrade"}),a?.[ie.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in context-mode.json",fix:"context-mode upgrade"})}catch{r.push({check:"Hook configuration",status:"fail",message:"Could not read .github/hooks/context-mode.json",fix:"context-mode upgrade"})}return r.push({check:"API stability",status:"warn",message:"VS Code Copilot hooks are in preview \u2014 API may change without notice"}),r.push({check:"Matcher support",status:"warn",message:"Matchers are parsed but IGNORED \u2014 all hooks fire on all tools"}),r}checkPluginRegistration(){try{let e=et(".vscode","mcp.json"),r=Jn(e,"utf-8"),o=JSON.parse(r).servers;return o&&Object.keys(o).some(i=>i.includes("context-mode"))?{check:"MCP registration",status:"pass",message:"context-mode found in .vscode/mcp.json"}:{check:"MCP registration",status:"fail",message:"context-mode not found in .vscode/mcp.json",fix:"Add context-mode server to .vscode/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read .vscode/mcp.json"}}}getInstalledVersion(){let e=[vr(Ip(),".vscode","extensions"),vr(Ip(),".vscode-insiders","extensions")];for(let r of e)try{let n=Jn(vr(r,"extensions.json"),"utf-8"),s=JSON.parse(n).find(i=>typeof i.identifier=="object"&&i.identifier!==null&&i.identifier.id?.toString().includes("context-mode"));if(s&&typeof s.version=="string")return s.version}catch{continue}return"not installed"}configureAllHooks(e){let r=[],n={hooks:{}},o=n.hooks,s=[ie.PRE_TOOL_USE,ie.POST_TOOL_USE,ie.PRE_COMPACT,ie.SESSION_START];for(let c of s)va[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:Kn(c,e)}]}],r.push(`Configured ${c} hook`));let i=et(".github","hooks");Sa(i,{recursive:!0});let a=et(i,"context-mode.json");return xa(a,JSON.stringify(n,null,2)+`
29
+ `,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Op(e,Cp.R_OK);let r=e+".bak";return gC(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=vr(e,"hooks","vscode-copilot");for(let o of Object.values(va)){let s=et(n,o);try{Op(s,Cp.R_OK),yC(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"copilot-instructions.md",globalPath:"",projectRelativePath:vr(".github","copilot-instructions.md")}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=et(e,n.projectRelativePath),s=et(r,"configs","vscode-copilot",n.fileName);try{let i=Jn(s,"utf-8");Sa(et(e,".github"),{recursive:!0});try{let a=Jn(o,"utf-8");return a.includes("context-mode")?null:(xa(o,a.trimEnd()+`
30
+
31
+ `+i,"utf-8"),o)}catch{return xa(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});function ka(t,e){let r=Np[e],n=xr(e);return"command"in t?t.command?.includes(r)||t.command?.includes(n)||!1:t.hooks?.some(s=>s.command?.includes(r)||s.command?.includes(n))??!1}function xr(t){return`context-mode hook cursor ${t.toLowerCase()}`}var $e,Np,vC,Ap,Vv,Bv,Kv=we(()=>{"use strict";$e={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart"},Np={[$e.PRE_TOOL_USE]:"pretooluse.mjs",[$e.POST_TOOL_USE]:"posttooluse.mjs",[$e.SESSION_START]:"sessionstart.mjs"},vC=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Ap=vC.join("|"),Vv=[$e.PRE_TOOL_USE],Bv=[$e.POST_TOOL_USE]});var ex={};tt(ex,{CursorAdapter:()=>Mp});import{createHash as Jv}from"node:crypto";import{readFileSync as jp,writeFileSync as xC,mkdirSync as Gv,copyFileSync as SC,accessSync as Wv,chmodSync as kC,constants as Yv,existsSync as Xv}from"node:fs";import{execSync as bC}from"node:child_process";import{resolve as Gn,join as an}from"node:path";import{homedir as ba}from"node:os";var Qv,Mp,tx=we(()=>{"use strict";Kv();Qv="/Library/Application Support/Cursor/hooks.json",Mp=class{name="Cursor";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output??r.error_message,isError:!!r.error_message,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??r.trigger??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(r),raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{permission:"deny",user_message:e.reason??"Blocked by context-mode hook"}:e.decision==="modify"&&e.updatedInput?{updated_input:e.updatedInput}:e.decision==="context"&&e.additionalContext?{agent_message:e.additionalContext}:e.decision==="ask"?{permission:"ask",user_message:e.reason??"Action requires user confirmation (security policy)"}:{agent_message:""}}formatPostToolUseResponse(e){return{additional_context:e.additionalContext??""}}formatSessionStartResponse(e){return{additional_context:e.context??""}}getSettingsPath(){return Gn(".cursor","hooks.json")}getSessionDir(){let e=an(ba(),".cursor","context-mode","sessions");return Gv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Jv("sha256").update(e).digest("hex").slice(0,16);return an(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Jv("sha256").update(e).digest("hex").slice(0,16);return an(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[$e.PRE_TOOL_USE]:[{type:"command",command:xr($e.PRE_TOOL_USE),matcher:Ap,loop_limit:null,failClosed:!1}],[$e.POST_TOOL_USE]:[{type:"command",command:xr($e.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[$e.SESSION_START]:[{type:"command",command:xr($e.SESSION_START),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=jp(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();Gv(Gn(".cursor"),{recursive:!0}),xC(r,JSON.stringify(e,null,2)+`
32
+ `,"utf-8")}validateHooks(e){let r=[],n=this.loadNativeHookConfig();if(!n)r.push({check:"Native hook config",status:"fail",message:"No readable native Cursor hook config found in .cursor/hooks.json or ~/.cursor/hooks.json",fix:"context-mode upgrade"});else{let o=n.config.hooks??{};r.push({check:"Native hook config",status:"pass",message:`Loaded ${n.path}`});for(let s of Vv){let i=o[s],a=Array.isArray(i)&&i.some(c=>ka(c,s));r.push({check:s,status:a?"pass":"fail",message:a?`${s} hook configured`:`${s} hook not configured in ${n.path}`,fix:a?void 0:"context-mode upgrade"})}for(let s of Bv){let i=o[s],a=Array.isArray(i)&&i.some(c=>ka(c,s));r.push({check:s,status:a?"pass":"warn",message:a?`${s} hook configured`:`${s} hook missing \u2014 session event capture will be reduced`})}}return Xv(Qv)&&r.push({check:"Enterprise hook config",status:"warn",message:"Enterprise Cursor hook config detected at /Library/Application Support/Cursor/hooks.json (read-only informational layer)"}),this.hasClaudeCompatibilityHooks()&&r.push({check:"Claude compatibility",status:"warn",message:"Claude-compatible hooks detected; native Cursor hooks are the supported configuration"}),r}checkPluginRegistration(){let e=[Gn(".cursor","mcp.json"),an(ba(),".cursor","mcp.json")];for(let r of e)try{let n=jp(r,"utf-8"),o=JSON.parse(n),s=o.mcpServers??o.servers;if(!s)continue;if(Object.entries(s).some(([a,c])=>a.includes("context-mode")?!0:!c||typeof c!="object"?!1:c.command==="context-mode"))return{check:"MCP registration",status:"pass",message:`context-mode found in ${r}`}}catch{continue}return{check:"MCP registration",status:"warn",message:"Could not find context-mode in .cursor/mcp.json or ~/.cursor/mcp.json"}}getInstalledVersion(){try{return bC("cursor --version",{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim().split(/\r?\n/)[0]||"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=this.readSettings()??{version:1,hooks:{}},n=r.hooks??{},o=[];return this.upsertHookEntry(n,$e.PRE_TOOL_USE,{type:"command",command:xr($e.PRE_TOOL_USE),matcher:Ap,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,$e.POST_TOOL_USE,{type:"command",command:xr($e.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,$e.SESSION_START,{type:"command",command:xr($e.SESSION_START),loop_limit:null,failClosed:!1},o),r.version=1,r.hooks=n,this.writeSettings(r),o.push(`Wrote native Cursor hooks to ${this.getSettingsPath()}`),o}backupSettings(){let e=this.getSettingsPath();try{Wv(e,Yv.R_OK);let r=e+".bak";return SC(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=an(e,"hooks","cursor");for(let o of Object.values(Np)){let s=Gn(n,o);try{Wv(s,Yv.R_OK),kC(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:"",projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){return null}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),an(ba(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(Qv),e}getProjectDir(e){return e.cwd||e.workspace_roots?.[0]||process.env.CURSOR_CWD||process.cwd()}extractSessionId(e){return e.conversation_id?e.conversation_id:e.session_id?e.session_id:process.env.CURSOR_SESSION_ID?process.env.CURSOR_SESSION_ID:process.env.CURSOR_TRACE_ID?process.env.CURSOR_TRACE_ID:`pid-${process.ppid}`}loadNativeHookConfig(){for(let e of this.getCandidateHookConfigPaths())try{let r=jp(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[Gn(".claude","settings.json"),Gn(".claude","settings.local.json"),an(ba(),".claude","settings.json")].some(r=>Xv(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>ka(c,r));a>=0?(i[a]=n,o.push(`Updated existing ${r} hook entry`)):(i.push(n),o.push(`Added ${r} hook entry`)),e[r]=i}}});var sx={};tt(sx,{AntigravityAdapter:()=>Zp});import{createHash as rx}from"node:crypto";import{readFileSync as Wn,writeFileSync as Dp,mkdirSync as nx,copyFileSync as wC,accessSync as EC,constants as $C}from"node:fs";import{resolve as Yn,join as Lp,dirname as ox}from"node:path";import{fileURLToPath as TC}from"node:url";import{homedir as wa}from"node:os";var Zp,ix=we(()=>{"use strict";Zp=class{name="Antigravity";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePostToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePreCompactInput(e){throw new Error("Antigravity does not support hooks")}parseSessionStartInput(e){throw new Error("Antigravity does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return Yn(wa(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=Lp(wa(),".gemini","context-mode","sessions");return nx(e,{recursive:!0}),e}getSessionDBPath(e){let r=rx("sha256").update(e).digest("hex").slice(0,16);return Lp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=rx("sha256").update(e).digest("hex").slice(0,16);return Lp(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Wn(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();nx(ox(r),{recursive:!0}),Dp(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Antigravity does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=Wn(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.gemini/antigravity/mcp_config.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.gemini/antigravity/mcp_config.json"}}}getInstalledVersion(){try{let e=Yn(wa(),".gemini","extensions","context-mode","package.json");return JSON.parse(Wn(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{EC(e,$C.R_OK);let r=e+".bak";return wC(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"GEMINI.md",globalPath:Yn(wa(),".gemini","GEMINI.md"),projectRelativePath:"GEMINI.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=Yn(e,n.projectRelativePath),s=Yn(r,"configs","antigravity",n.fileName);try{let i=Wn(s,"utf-8");try{let a=Wn(o,"utf-8");return a.includes("context-mode")?null:(Dp(o,a.trimEnd()+`
33
+
34
+ `+i,"utf-8"),o)}catch{return Dp(o,i,"utf-8"),o}}catch{return null}}getRoutingInstructions(){let e=Yn(ox(TC(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Wn(e,"utf-8")}catch{return`# context-mode
35
+
36
+ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});function gs(t,e){let r=ax[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function _s(t,e){let r=ax[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var Se,ax,AL,jL,cx=we(()=>{"use strict";Se={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},ax={[Se.PRE_TOOL_USE]:"pretooluse.mjs",[Se.POST_TOOL_USE]:"posttooluse.mjs"},AL=[Se.PRE_TOOL_USE],jL=[Se.POST_TOOL_USE]});var dx={};tt(dx,{KiroAdapter:()=>qp});import{createHash as ux}from"node:crypto";import{readFileSync as Sr,writeFileSync as Ea,mkdirSync as Up,copyFileSync as PC,accessSync as RC,constants as OC}from"node:fs";import{resolve as Xt,join as Hp,dirname as lx}from"node:path";import{fileURLToPath as CC}from"node:url";import{homedir as Xn}from"node:os";var qp,px=we(()=>{"use strict";cx();qp=class{name="Kiro";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e,n=r.tool_response;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:typeof n=="string"?n:JSON.stringify(n??""),sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePreCompactInput(e){throw new Error("Kiro does not support PreCompact hooks")}parseSessionStartInput(e){throw new Error("Kiro does not support SessionStart hooks (yet)")}formatPreToolUseResponse(e){switch(e.decision){case"deny":return{exitCode:2,stderr:e.reason??"Blocked by context-mode"};case"context":return{exitCode:0,stdout:e.additionalContext??""};default:return}}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return Xt(Xn(),".kiro","settings","mcp_config.json")}getSessionDir(){let e=Hp(Xn(),".kiro","context-mode","sessions");return Up(e,{recursive:!0}),e}getSessionDBPath(e){let r=ux("sha256").update(e).digest("hex").slice(0,16);return Hp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=ux("sha256").update(e).digest("hex").slice(0,16);return Hp(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[Se.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:_s(Se.PRE_TOOL_USE,e)}]}],[Se.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:_s(Se.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=Sr(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Up(lx(r),{recursive:!0}),Ea(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=Xt(Xn(),".kiro","agents","default.json");try{let s=JSON.parse(Sr(n,"utf-8")).hooks??{};for(let i of[Se.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>gs(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"fail",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured`,...c?{}:{fix:"Run: context-mode upgrade"}})}for(let i of[Se.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>gs(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"warn",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured (optional)`})}}catch{r.push({check:"Hook configuration",status:"warn",message:"Could not read ~/.kiro/agents/default.json",fix:"Run: context-mode upgrade"})}return r}checkPluginRegistration(){try{let e=Sr(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.kiro/settings/mcp_config.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.kiro/settings/mcp_config.json"}}}getInstalledVersion(){try{let e=Xt(Xn(),".kiro","extensions","context-mode","package.json");return JSON.parse(Sr(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=Xt(Xn(),".kiro","agents"),o=Xt(n,"default.json");try{Up(n,{recursive:!0});let s={};try{s=JSON.parse(Sr(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[Se.PRE_TOOL_USE]??[];a.some(u=>gs(u,Se.PRE_TOOL_USE))||(a.push({matcher:"*",command:_s(Se.PRE_TOOL_USE,e)}),i[Se.PRE_TOOL_USE]=a,r.push(`Added ${Se.PRE_TOOL_USE} hook to ${o}`));let c=i[Se.POST_TOOL_USE]??[];c.some(u=>gs(u,Se.POST_TOOL_USE))||(c.push({matcher:"*",command:_s(Se.POST_TOOL_USE,e)}),i[Se.POST_TOOL_USE]=c,r.push(`Added ${Se.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,Ea(o,JSON.stringify(s,null,2),"utf-8")}catch(s){r.push(`Failed to configure hooks: ${s.message}`)}return r}backupSettings(){let e=this.getSettingsPath();try{RC(e,OC.R_OK);let r=e+".bak";return PC(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"KIRO.md",globalPath:Xt(Xn(),".kiro","KIRO.md"),projectRelativePath:"KIRO.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=Xt(e,n.projectRelativePath),s=Xt(r,"configs","kiro",n.fileName);try{let i=Sr(s,"utf-8");try{let a=Sr(o,"utf-8");return a.includes("context-mode")?null:(Ea(o,a.trimEnd()+`
37
+
38
+ `+i,"utf-8"),o)}catch{return Ea(o,i,"utf-8"),o}}catch{return null}}getRoutingInstructions(){let e=Xt(lx(CC(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return Sr(e,"utf-8")}catch{return`# context-mode
39
+
40
+ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});var mx={};tt(mx,{detectPlatform:()=>fx,getAdapter:()=>zC});import{existsSync as Qn}from"node:fs";import{resolve as eo}from"node:path";import{homedir as IC}from"node:os";function fx(t){if(t?.name){let n=hv[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","opencode","codex","vscode-copilot","cursor","antigravity","kiro"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCLAW_HOME||process.env.OPENCLAW_PROJECT_DIR)return{platform:"openclaw",confidence:"high",reason:"OPENCLAW_HOME or OPENCLAW_PROJECT_DIR env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.CURSOR_TRACE_ID||process.env.CURSOR_CLI)return{platform:"cursor",confidence:"high",reason:"CURSOR_TRACE_ID or CURSOR_CLI env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let r=IC();return Qn(eo(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Qn(eo(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Qn(eo(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Qn(eo(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Qn(eo(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Qn(eo(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function zC(t){switch(t??fx().platform){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(xp(),vp));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(Pv(),Tv));return new r}case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(Iv(),Cv));return new r}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(jv(),Av));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(Zv(),Lv));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(Fv(),qv));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(tx(),ex));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(ix(),sx));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(px(),dx));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(xp(),vp));return new r}}}var hx=we(()=>{"use strict";gv()});var Z={};tt(Z,{BRAND:()=>tS,DIRTY:()=>wr,EMPTY_PATH:()=>zx,INVALID:()=>A,NEVER:()=>DS,OK:()=>je,ParseStatus:()=>Te,Schema:()=>H,ZodAny:()=>tr,ZodArray:()=>Vt,ZodBigInt:()=>$r,ZodBoolean:()=>Tr,ZodBranded:()=>no,ZodCatch:()=>Dr,ZodDate:()=>Pr,ZodDefault:()=>Mr,ZodDiscriminatedUnion:()=>bs,ZodEffects:()=>it,ZodEnum:()=>Ar,ZodError:()=>Be,ZodFirstPartyTypeKind:()=>b,ZodFunction:()=>Es,ZodIntersection:()=>Ir,ZodIssueCode:()=>k,ZodLazy:()=>zr,ZodLiteral:()=>Nr,ZodMap:()=>mn,ZodNaN:()=>gn,ZodNativeEnum:()=>jr,ZodNever:()=>gt,ZodNull:()=>Or,ZodNullable:()=>Ct,ZodNumber:()=>Er,ZodObject:()=>Je,ZodOptional:()=>Ke,ZodParsedType:()=>T,ZodPipeline:()=>oo,ZodPromise:()=>rr,ZodReadonly:()=>Lr,ZodRecord:()=>ws,ZodSchema:()=>H,ZodSet:()=>hn,ZodString:()=>er,ZodSymbol:()=>pn,ZodTransformer:()=>it,ZodTuple:()=>Ot,ZodType:()=>H,ZodUndefined:()=>Rr,ZodUnion:()=>Cr,ZodUnknown:()=>Ft,ZodVoid:()=>fn,addIssueToContext:()=>E,any:()=>lS,array:()=>mS,bigint:()=>sS,boolean:()=>uf,coerce:()=>MS,custom:()=>sf,date:()=>iS,datetimeRegex:()=>nf,defaultErrorMap:()=>Ht,discriminatedUnion:()=>_S,effect:()=>RS,enum:()=>$S,function:()=>bS,getErrorMap:()=>un,getParsedType:()=>Rt,instanceof:()=>nS,intersection:()=>yS,isAborted:()=>Ss,isAsync:()=>ln,isDirty:()=>ks,isValid:()=>Qt,late:()=>rS,lazy:()=>wS,literal:()=>ES,makeIssue:()=>ro,map:()=>SS,nan:()=>oS,nativeEnum:()=>TS,never:()=>pS,null:()=>uS,nullable:()=>CS,number:()=>cf,object:()=>Aa,objectUtil:()=>Ia,oboolean:()=>jS,onumber:()=>AS,optional:()=>OS,ostring:()=>NS,pipeline:()=>zS,preprocess:()=>IS,promise:()=>PS,quotelessJson:()=>Ox,record:()=>xS,set:()=>kS,setErrorMap:()=>Ix,strictObject:()=>hS,string:()=>af,symbol:()=>aS,transformer:()=>RS,tuple:()=>vS,undefined:()=>cS,union:()=>gS,unknown:()=>dS,util:()=>B,void:()=>fS});var B;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(B||(B={}));var Ia;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Ia||(Ia={}));var T=B.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Rt=t=>{switch(typeof t){case"undefined":return T.undefined;case"string":return T.string;case"number":return Number.isNaN(t)?T.nan:T.number;case"boolean":return T.boolean;case"function":return T.function;case"bigint":return T.bigint;case"symbol":return T.symbol;case"object":return Array.isArray(t)?T.array:t===null?T.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?T.promise:typeof Map<"u"&&t instanceof Map?T.map:typeof Set<"u"&&t instanceof Set?T.set:typeof Date<"u"&&t instanceof Date?T.date:T.object;default:return T.unknown}};var k=B.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Ox=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Be=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,B.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Be.create=t=>new Be(t);var Cx=(t,e)=>{let r;switch(t.code){case k.invalid_type:t.received===T.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case k.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,B.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:r=`Unrecognized key(s) in object: ${B.joinValues(t.keys,", ")}`;break;case k.invalid_union:r="Invalid input";break;case k.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${B.joinValues(t.options)}`;break;case k.invalid_enum_value:r=`Invalid enum value. Expected ${B.joinValues(t.options)}, received '${t.received}'`;break;case k.invalid_arguments:r="Invalid function arguments";break;case k.invalid_return_type:r="Invalid function return type";break;case k.invalid_date:r="Invalid date";break;case k.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:B.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case k.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case k.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case k.custom:r="Invalid input";break;case k.invalid_intersection_types:r="Intersection results could not be merged";break;case k.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case k.not_finite:r="Number must be finite";break;default:r=e.defaultError,B.assertNever(t)}return{message:r}},Ht=Cx;var Xp=Ht;function Ix(t){Xp=t}function un(){return Xp}var ro=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},zx=[];function E(t,e){let r=un(),n=ro({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Ht?void 0:Ht].filter(o=>!!o)});t.common.issues.push(n)}var Te=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return A;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return A;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},A=Object.freeze({status:"aborted"}),wr=t=>({status:"dirty",value:t}),je=t=>({status:"valid",value:t}),Ss=t=>t.status==="aborted",ks=t=>t.status==="dirty",Qt=t=>t.status==="valid",ln=t=>typeof Promise<"u"&&t instanceof Promise;var O;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(O||(O={}));var st=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Qp=(t,e)=>{if(Qt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Be(t.common.issues);return this._error=r,this._error}}};function L(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var H=class{get description(){return this._def.description}_getType(e){return Rt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Te,ctx:{common:e.parent.common,data:e.data,parsedType:Rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(ln(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Rt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return Qp(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Rt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Qt(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Qt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Rt(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(ln(o)?o:Promise.resolve(o));return Qp(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:k.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new it({schema:this,typeName:b.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Ke.create(this,this._def)}nullable(){return Ct.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Vt.create(this)}promise(){return rr.create(this,this._def)}or(e){return Cr.create([this,e],this._def)}and(e){return Ir.create(this,e,this._def)}transform(e){return new it({...L(this._def),schema:this,typeName:b.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Mr({...L(this._def),innerType:this,defaultValue:r,typeName:b.ZodDefault})}brand(){return new no({typeName:b.ZodBranded,type:this,...L(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Dr({...L(this._def),innerType:this,catchValue:r,typeName:b.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return oo.create(this,e)}readonly(){return Lr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Nx=/^c[^\s-]{8,}$/i,Ax=/^[0-9a-z]+$/,jx=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Mx=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Dx=/^[a-z0-9_-]{21}$/i,Lx=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Zx=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ux=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Hx="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",za,qx=/^(?:(?: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])$/,Fx=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Vx=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Bx=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Kx=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Jx=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tf="((\\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])))",Gx=new RegExp(`^${tf}$`);function rf(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Wx(t){return new RegExp(`^${rf(t)}$`)}function nf(t){let e=`${tf}T${rf(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Yx(t,e){return!!((e==="v4"||!e)&&qx.test(t)||(e==="v6"||!e)&&Vx.test(t))}function Xx(t,e){if(!Lx.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function Qx(t,e){return!!((e==="v4"||!e)&&Fx.test(t)||(e==="v6"||!e)&&Bx.test(t))}var er=class t extends H{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==T.string){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:T.string,received:s.parsedType}),A}let n=new Te,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?E(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&E(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Ux.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"email",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")za||(za=new RegExp(Hx,"u")),za.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"emoji",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Mx.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"uuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Dx.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"nanoid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Nx.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"cuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Ax.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"cuid2",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")jx.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"ulid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),E(o,{validation:"url",code:k.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"regex",code:k.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),E(o,{code:k.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),E(o,{code:k.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),E(o,{code:k.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?nf(s).test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{code:k.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Gx.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{code:k.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Wx(s).test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{code:k.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Zx.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"duration",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Yx(e.data,s.version)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"ip",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?Xx(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"jwt",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Qx(e.data,s.version)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"cidr",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?Kx.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"base64",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?Jx.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"base64url",code:k.invalid_string,message:s.message}),n.dirty()):B.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:k.invalid_string,...O.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...O.errToObj(e)})}url(e){return this._addCheck({kind:"url",...O.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...O.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...O.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...O.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...O.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...O.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...O.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...O.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...O.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...O.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...O.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...O.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...O.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...O.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...O.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...O.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...O.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...O.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...O.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...O.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...O.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...O.errToObj(r)})}nonempty(e){return this.min(1,O.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};er.create=t=>new er({checks:[],typeName:b.ZodString,coerce:t?.coerce??!1,...L(t)});function eS(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var Er=class t extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==T.number){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:T.number,received:s.parsedType}),A}let n,o=new Te;for(let s of this._def.checks)s.kind==="int"?B.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?eS(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_finite,message:s.message}),o.dirty()):B.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,O.toString(r))}gt(e,r){return this.setLimit("min",e,!1,O.toString(r))}lte(e,r){return this.setLimit("max",e,!0,O.toString(r))}lt(e,r){return this.setLimit("max",e,!1,O.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:O.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:O.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:O.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:O.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:O.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:O.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:O.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:O.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:O.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:O.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&B.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};Er.create=t=>new Er({checks:[],typeName:b.ZodNumber,coerce:t?.coerce||!1,...L(t)});var $r=class t extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==T.bigint)return this._getInvalidInput(e);let n,o=new Te;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):B.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return E(r,{code:k.invalid_type,expected:T.bigint,received:r.parsedType}),A}gte(e,r){return this.setLimit("min",e,!0,O.toString(r))}gt(e,r){return this.setLimit("min",e,!1,O.toString(r))}lte(e,r){return this.setLimit("max",e,!0,O.toString(r))}lt(e,r){return this.setLimit("max",e,!1,O.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:O.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:O.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:O.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:O.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:O.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:O.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};$r.create=t=>new $r({checks:[],typeName:b.ZodBigInt,coerce:t?.coerce??!1,...L(t)});var Tr=class extends H{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==T.boolean){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:T.boolean,received:n.parsedType}),A}return je(e.data)}};Tr.create=t=>new Tr({typeName:b.ZodBoolean,coerce:t?.coerce||!1,...L(t)});var Pr=class t extends H{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==T.date){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:T.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_date}),A}let n=new Te,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:k.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:k.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):B.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:O.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:O.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};Pr.create=t=>new Pr({checks:[],coerce:t?.coerce||!1,typeName:b.ZodDate,...L(t)});var pn=class extends H{_parse(e){if(this._getType(e)!==T.symbol){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:T.symbol,received:n.parsedType}),A}return je(e.data)}};pn.create=t=>new pn({typeName:b.ZodSymbol,...L(t)});var Rr=class extends H{_parse(e){if(this._getType(e)!==T.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:T.undefined,received:n.parsedType}),A}return je(e.data)}};Rr.create=t=>new Rr({typeName:b.ZodUndefined,...L(t)});var Or=class extends H{_parse(e){if(this._getType(e)!==T.null){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:T.null,received:n.parsedType}),A}return je(e.data)}};Or.create=t=>new Or({typeName:b.ZodNull,...L(t)});var tr=class extends H{constructor(){super(...arguments),this._any=!0}_parse(e){return je(e.data)}};tr.create=t=>new tr({typeName:b.ZodAny,...L(t)});var Ft=class extends H{constructor(){super(...arguments),this._unknown=!0}_parse(e){return je(e.data)}};Ft.create=t=>new Ft({typeName:b.ZodUnknown,...L(t)});var gt=class extends H{_parse(e){let r=this._getOrReturnCtx(e);return E(r,{code:k.invalid_type,expected:T.never,received:r.parsedType}),A}};gt.create=t=>new gt({typeName:b.ZodNever,...L(t)});var fn=class extends H{_parse(e){if(this._getType(e)!==T.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:T.void,received:n.parsedType}),A}return je(e.data)}};fn.create=t=>new fn({typeName:b.ZodVoid,...L(t)});var Vt=class t extends H{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==T.array)return E(r,{code:k.invalid_type,expected:T.array,received:r.parsedType}),A;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(E(r,{code:i?k.too_big:k.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(E(r,{code:k.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(E(r,{code:k.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new st(r,i,r.path,a)))).then(i=>Te.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new st(r,i,r.path,a)));return Te.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:O.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:O.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:O.toString(r)}})}nonempty(e){return this.min(1,e)}};Vt.create=(t,e)=>new Vt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:b.ZodArray,...L(e)});function dn(t){if(t instanceof Je){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ke.create(dn(n))}return new Je({...t._def,shape:()=>e})}else return t instanceof Vt?new Vt({...t._def,type:dn(t.element)}):t instanceof Ke?Ke.create(dn(t.unwrap())):t instanceof Ct?Ct.create(dn(t.unwrap())):t instanceof Ot?Ot.create(t.items.map(e=>dn(e))):t}var Je=class t extends H{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=B.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==T.object){let u=this._getOrReturnCtx(e);return E(u,{code:k.invalid_type,expected:T.object,received:u.parsedType}),A}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof gt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new st(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof gt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(E(o,{code:k.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new st(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,f=await l.value;u.push({key:d,value:f,alwaysSet:l.alwaysSet})}return u}).then(u=>Te.mergeObjectSync(n,u)):Te.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return O.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:O.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:b.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of B.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of B.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return dn(this)}partial(e){let r={};for(let n of B.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of B.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Ke;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return of(B.objectKeys(this.shape))}};Je.create=(t,e)=>new Je({shape:()=>t,unknownKeys:"strip",catchall:gt.create(),typeName:b.ZodObject,...L(e)});Je.strictCreate=(t,e)=>new Je({shape:()=>t,unknownKeys:"strict",catchall:gt.create(),typeName:b.ZodObject,...L(e)});Je.lazycreate=(t,e)=>new Je({shape:t,unknownKeys:"strip",catchall:gt.create(),typeName:b.ZodObject,...L(e)});var Cr=class extends H{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Be(a.ctx.common.issues));return E(r,{code:k.invalid_union,unionErrors:i}),A}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Be(c));return E(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};Cr.create=(t,e)=>new Cr({options:t,typeName:b.ZodUnion,...L(e)});var qt=t=>t instanceof zr?qt(t.schema):t instanceof it?qt(t.innerType()):t instanceof Nr?[t.value]:t instanceof Ar?t.options:t instanceof jr?B.objectValues(t.enum):t instanceof Mr?qt(t._def.innerType):t instanceof Rr?[void 0]:t instanceof Or?[null]:t instanceof Ke?[void 0,...qt(t.unwrap())]:t instanceof Ct?[null,...qt(t.unwrap())]:t instanceof no||t instanceof Lr?qt(t.unwrap()):t instanceof Dr?qt(t._def.innerType):[],bs=class t extends H{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==T.object)return E(r,{code:k.invalid_type,expected:T.object,received:r.parsedType}),A;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(E(r,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=qt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:b.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...L(n)})}};function Na(t,e){let r=Rt(t),n=Rt(e);if(t===e)return{valid:!0,data:t};if(r===T.object&&n===T.object){let o=B.objectKeys(e),s=B.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Na(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===T.array&&n===T.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=Na(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===T.date&&n===T.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Ir=class extends H{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(Ss(s)||Ss(i))return A;let a=Na(s.value,i.value);return a.valid?((ks(s)||ks(i))&&r.dirty(),{status:r.value,value:a.data}):(E(n,{code:k.invalid_intersection_types}),A)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Ir.create=(t,e,r)=>new Ir({left:t,right:e,typeName:b.ZodIntersection,...L(r)});var Ot=class t extends H{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==T.array)return E(n,{code:k.invalid_type,expected:T.array,received:n.parsedType}),A;if(n.data.length<this._def.items.length)return E(n,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&n.data.length>this._def.items.length&&(E(n,{code:k.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new st(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Te.mergeArray(r,i)):Te.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Ot.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ot({items:t,typeName:b.ZodTuple,rest:null,...L(e)})};var ws=class t extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==T.object)return E(n,{code:k.invalid_type,expected:T.object,received:n.parsedType}),A;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new st(n,a,n.path,a)),value:i._parse(new st(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Te.mergeObjectAsync(r,o):Te.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof H?new t({keyType:e,valueType:r,typeName:b.ZodRecord,...L(n)}):new t({keyType:er.create(),valueType:e,typeName:b.ZodRecord,...L(r)})}},mn=class extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==T.map)return E(n,{code:k.invalid_type,expected:T.map,received:n.parsedType}),A;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new st(n,a,n.path,[u,"key"])),value:s._parse(new st(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};mn.create=(t,e,r)=>new mn({valueType:e,keyType:t,typeName:b.ZodMap,...L(r)});var hn=class t extends H{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==T.set)return E(n,{code:k.invalid_type,expected:T.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(E(n,{code:k.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(E(n,{code:k.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return A;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new st(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:O.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:O.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};hn.create=(t,e)=>new hn({valueType:t,minSize:null,maxSize:null,typeName:b.ZodSet,...L(e)});var Es=class t extends H{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==T.function)return E(r,{code:k.invalid_type,expected:T.function,received:r.parsedType}),A;function n(a,c){return ro({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,un(),Ht].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return ro({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,un(),Ht].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof rr){let a=this;return je(async function(...c){let u=new Be([]),l=await a._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(n(c,m)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(o(d,m)),u})})}else{let a=this;return je(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Be([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Be([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Ot.create(e).rest(Ft.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Ot.create([]).rest(Ft.create()),returns:r||Ft.create(),typeName:b.ZodFunction,...L(n)})}},zr=class extends H{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};zr.create=(t,e)=>new zr({getter:t,typeName:b.ZodLazy,...L(e)});var Nr=class extends H{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return E(r,{received:r.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:e.data}}get value(){return this._def.value}};Nr.create=(t,e)=>new Nr({value:t,typeName:b.ZodLiteral,...L(e)});function of(t,e){return new Ar({values:t,typeName:b.ZodEnum,...L(e)})}var Ar=class t extends H{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{expected:B.joinValues(n),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{received:r.data,code:k.invalid_enum_value,options:n}),A}return je(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Ar.create=of;var jr=class extends H{_parse(e){let r=B.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==T.string&&n.parsedType!==T.number){let o=B.objectValues(r);return E(n,{expected:B.joinValues(o),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(B.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=B.objectValues(r);return E(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return je(e.data)}get enum(){return this._def.values}};jr.create=(t,e)=>new jr({values:t,typeName:b.ZodNativeEnum,...L(e)});var rr=class extends H{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==T.promise&&r.common.async===!1)return E(r,{code:k.invalid_type,expected:T.promise,received:r.parsedType}),A;let n=r.parsedType===T.promise?r.data:Promise.resolve(r.data);return je(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};rr.create=(t,e)=>new rr({type:t,typeName:b.ZodPromise,...L(e)});var it=class extends H{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===b.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{E(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return A;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?A:c.status==="dirty"?wr(c.value):r.value==="dirty"?wr(c.value):c});{if(r.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?A:a.status==="dirty"?wr(a.value):r.value==="dirty"?wr(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Qt(i))return A;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Qt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):A);B.assertNever(o)}};it.create=(t,e,r)=>new it({schema:t,typeName:b.ZodEffects,effect:e,...L(r)});it.createWithPreprocess=(t,e,r)=>new it({schema:e,effect:{type:"preprocess",transform:t},typeName:b.ZodEffects,...L(r)});var Ke=class extends H{_parse(e){return this._getType(e)===T.undefined?je(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ke.create=(t,e)=>new Ke({innerType:t,typeName:b.ZodOptional,...L(e)});var Ct=class extends H{_parse(e){return this._getType(e)===T.null?je(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ct.create=(t,e)=>new Ct({innerType:t,typeName:b.ZodNullable,...L(e)});var Mr=class extends H{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===T.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Mr.create=(t,e)=>new Mr({innerType:t,typeName:b.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...L(e)});var Dr=class extends H{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ln(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Be(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Be(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Dr.create=(t,e)=>new Dr({innerType:t,typeName:b.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...L(e)});var gn=class extends H{_parse(e){if(this._getType(e)!==T.nan){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:T.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};gn.create=t=>new gn({typeName:b.ZodNaN,...L(t)});var tS=Symbol("zod_brand"),no=class extends H{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},oo=class t extends H{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?A:s.status==="dirty"?(r.dirty(),wr(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?A:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:b.ZodPipeline})}},Lr=class extends H{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Qt(o)&&(o.value=Object.freeze(o.value)),o);return ln(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Lr.create=(t,e)=>new Lr({innerType:t,typeName:b.ZodReadonly,...L(e)});function ef(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function sf(t,e={},r){return t?tr.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=ef(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=ef(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):tr.create()}var rS={object:Je.lazycreate},b;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(b||(b={}));var nS=(t,e={message:`Input not instance of ${t.name}`})=>sf(r=>r instanceof t,e),af=er.create,cf=Er.create,oS=gn.create,sS=$r.create,uf=Tr.create,iS=Pr.create,aS=pn.create,cS=Rr.create,uS=Or.create,lS=tr.create,dS=Ft.create,pS=gt.create,fS=fn.create,mS=Vt.create,Aa=Je.create,hS=Je.strictCreate,gS=Cr.create,_S=bs.create,yS=Ir.create,vS=Ot.create,xS=ws.create,SS=mn.create,kS=hn.create,bS=Es.create,wS=zr.create,ES=Nr.create,$S=Ar.create,TS=jr.create,PS=rr.create,RS=it.create,OS=Ke.create,CS=Ct.create,IS=it.createWithPreprocess,zS=oo.create,NS=()=>af().optional(),AS=()=>cf().optional(),jS=()=>uf().optional(),MS={string:(t=>er.create({...t,coerce:!0})),number:(t=>Er.create({...t,coerce:!0})),boolean:(t=>Tr.create({...t,coerce:!0})),bigint:(t=>$r.create({...t,coerce:!0})),date:(t=>Pr.create({...t,coerce:!0}))};var DS=A;var LS=Object.freeze({status:"aborted"});function v(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var Bt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},$s={};function rt(t){return t&&Object.assign($s,t),$s}var K={};tt(K,{BIGINT_FORMAT_RANGES:()=>df,Class:()=>Ma,NUMBER_FORMAT_RANGES:()=>Fa,aborted:()=>Ur,allowsEval:()=>Ua,assert:()=>FS,assertEqual:()=>ZS,assertIs:()=>HS,assertNever:()=>qS,assertNotEqual:()=>US,assignProp:()=>Za,cached:()=>ao,captureStackTrace:()=>Ps,cleanEnum:()=>nk,cleanRegex:()=>uo,clone:()=>nt,createTransparentProxy:()=>WS,defineLazy:()=>ae,esc:()=>Zr,escapeRegex:()=>nr,extend:()=>QS,finalizeIssue:()=>_t,floatSafeRemainder:()=>La,getElementAtPath:()=>VS,getEnumValues:()=>io,getLengthableOrigin:()=>lo,getParsedType:()=>GS,getSizableOrigin:()=>pf,isObject:()=>_n,isPlainObject:()=>yn,issue:()=>Va,joinValues:()=>Ts,jsonStringifyReplacer:()=>Da,merge:()=>ek,normalizeParams:()=>j,nullish:()=>co,numKeys:()=>JS,omit:()=>XS,optionalKeys:()=>qa,partial:()=>tk,pick:()=>YS,prefixIssues:()=>It,primitiveTypes:()=>lf,promiseAllObject:()=>BS,propertyKeyTypes:()=>Ha,randomString:()=>KS,required:()=>rk,stringifyPrimitive:()=>Rs,unwrapMessage:()=>so});function ZS(t){return t}function US(t){return t}function HS(t){}function qS(t){throw new Error}function FS(t){}function io(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 Ts(t,e="|"){return t.map(r=>Rs(r)).join(e)}function Da(t,e){return typeof e=="bigint"?e.toString():e}function ao(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function co(t){return t==null}function uo(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function La(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 ae(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 Za(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function VS(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function BS(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 KS(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Zr(t){return JSON.stringify(t)}var Ps=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function _n(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ua=ao(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function yn(t){if(_n(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(_n(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function JS(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var GS=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}`)}},Ha=new Set(["string","number","symbol"]),lf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function nr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nt(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function j(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function WS(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 Rs(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function qa(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Fa={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]},df={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function YS(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 nt(t,{...t._zod.def,shape:r,checks:[]})}function XS(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 nt(t,{...t._zod.def,shape:r,checks:[]})}function QS(t,e){if(!yn(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 Za(this,"shape",n),n},checks:[]};return nt(t,r)}function ek(t,e){return nt(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Za(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function tk(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 nt(e,{...e._zod.def,shape:o,checks:[]})}function rk(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 nt(e,{...e._zod.def,shape:o,checks:[]})}function Ur(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function It(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function so(t){return typeof t=="string"?t:t?.message}function _t(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=so(t.inst?._zod.def?.error?.(t))??so(e?.error?.(t))??so(r.customError?.(t))??so(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function pf(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function lo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Va(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function nk(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Ma=class{constructor(...e){}};var ff=(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,Da,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Os=v("$ZodError",ff),po=v("$ZodError",ff,{Parent:Error});function Ba(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 Ka(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 Ja=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 Bt;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>_t(c,s,rt())));throw Ps(a,o?.callee),a}return i.value},Ga=Ja(po),Wa=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=>_t(c,s,rt())));throw Ps(a,o?.callee),a}return i.value},Ya=Wa(po),Xa=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 Bt;return s.issues.length?{success:!1,error:new(t??Os)(s.issues.map(i=>_t(i,o,rt())))}:{success:!0,data:s.value}},Hr=Xa(po),Qa=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=>_t(i,o,rt())))}:{success:!0,data:s.value}},qr=Qa(po);var mf=/^[cC][^\s-]{8,}$/,hf=/^[0-9a-z]+$/,gf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,_f=/^[0-9a-vA-V]{20}$/,yf=/^[A-Za-z0-9]{27}$/,vf=/^[a-zA-Z0-9_-]{21}$/,xf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Sf=/^([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})$/,ec=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 kf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var sk="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function bf(){return new RegExp(sk,"u")}var wf=/^(?:(?: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])$/,Ef=/^(([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})$/,$f=/^((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])$/,Tf=/^(([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])$/,Pf=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,tc=/^[A-Za-z0-9_-]*$/,Rf=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Of=/^\+(?:[0-9]){6,14}[0-9]$/,Cf="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",If=new RegExp(`^${Cf}$`);function zf(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 Nf(t){return new RegExp(`^${zf(t)}$`)}function Af(t){let e=zf({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(`^${Cf}T(?:${n})$`)}var jf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Mf=/^\d+$/,Df=/^-?\d+(?:\.\d+)?/i,Lf=/true|false/i,Zf=/null/i;var Uf=/^[^A-Z]*$/,Hf=/^[^a-z]*$/;var Pe=v("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),qf={number:"number",bigint:"bigint",object:"date"},rc=v("$ZodCheckLessThan",(t,e)=>{Pe.init(t,e);let r=qf[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})}}),nc=v("$ZodCheckGreaterThan",(t,e)=>{Pe.init(t,e);let r=qf[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})}}),Ff=v("$ZodCheckMultipleOf",(t,e)=>{Pe.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):La(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})}}),Vf=v("$ZodCheckNumberFormat",(t,e)=>{Pe.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Fa[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=Mf)}),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 Bf=v("$ZodCheckMaxLength",(t,e)=>{var r;Pe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!co(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=lo(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Kf=v("$ZodCheckMinLength",(t,e)=>{var r;Pe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!co(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=lo(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Jf=v("$ZodCheckLengthEquals",(t,e)=>{var r;Pe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!co(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=lo(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})}}),fo=v("$ZodCheckStringFormat",(t,e)=>{var r,n;Pe.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=()=>{})}),Gf=v("$ZodCheckRegex",(t,e)=>{fo.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})}}),Wf=v("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Uf),fo.init(t,e)}),Yf=v("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Hf),fo.init(t,e)}),Xf=v("$ZodCheckIncludes",(t,e)=>{Pe.init(t,e);let r=nr(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})}}),Qf=v("$ZodCheckStartsWith",(t,e)=>{Pe.init(t,e);let r=new RegExp(`^${nr(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})}}),em=v("$ZodCheckEndsWith",(t,e)=>{Pe.init(t,e);let r=new RegExp(`.*${nr(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 tm=v("$ZodCheckOverwrite",(t,e)=>{Pe.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Is=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(`
30
41
  `).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(`
31
- `))}};var zf={major:4,minor:0,patch:0};var re=v("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=zf;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=jr(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=l._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new Ht;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=jr(s,d)))});else{if(s.issues.length===d)continue;c||(c=jr(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new Ht;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 Dr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),to=v("$ZodString",(t,e)=>{re.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??pf(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),ue=v("$ZodStringFormat",(t,e)=>{eo.init(t,e),to.init(t,e)}),Ha=v("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Wp),ue.init(t,e)}),Fa=v("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Da(n))}else e.pattern??(e.pattern=Da());ue.init(t,e)}),Va=v("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Yp),ue.init(t,e)}),Ba=v("$ZodURL",(t,e)=>{ue.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:of.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})}}}),Ka=v("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Xp()),ue.init(t,e)}),Ga=v("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Gp),ue.init(t,e)}),Ja=v("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Hp),ue.init(t,e)}),Wa=v("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=Fp),ue.init(t,e)}),Ya=v("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Vp),ue.init(t,e)}),Xa=v("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Bp),ue.init(t,e)}),Qa=v("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Kp),ue.init(t,e)}),Hf=v("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=df(e)),ue.init(t,e)}),Ff=v("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=cf),ue.init(t,e)}),Vf=v("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=lf(e)),ue.init(t,e)}),Bf=v("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Jp),ue.init(t,e)}),ec=v("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Qp),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),tc=v("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=ef),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),rc=v("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=tf),ue.init(t,e)}),nc=v("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=rf),ue.init(t,e),t._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Kf(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var oc=v("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=nf),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Kf(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function _b(t){if(!Za.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Kf(r)}var sc=v("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Za),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{_b(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),ic=v("$ZodE164",(t,e)=>{e.pattern??(e.pattern=sf),ue.init(t,e)});function yb(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 ac=v("$ZodJWT",(t,e)=>{ue.init(t,e),t._zod.check=r=>{yb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var bs=v("$ZodNumber",(t,e)=>{re.init(t,e),t._zod.pattern=t._zod.bag.pattern??mf,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...s?{received:s}:{}}),r}}),cc=v("$ZodNumber",(t,e)=>{bf.init(t,e),bs.init(t,e)}),uc=v("$ZodBoolean",(t,e)=>{re.init(t,e),t._zod.pattern=hf,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 lc=v("$ZodNull",(t,e)=>{re.init(t,e),t._zod.pattern=gf,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 dc=v("$ZodUnknown",(t,e)=>{re.init(t,e),t._zod.parse=r=>r}),pc=v("$ZodNever",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Nf(t,e,r){t.issues.length&&e.issues.push(...Et(r,t.issues)),e.value[r]=t.value}var fc=v("$ZodArray",(t,e)=>{re.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=>Nf(u,r,i))):Nf(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function xs(t,e,r){t.issues.length&&e.issues.push(...Et(r,t.issues)),e.value[r]=t.value}function Af(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(...Et(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var ks=v("$ZodObject",(t,e)=>{re.init(t,e);let r=Jn(()=>{let d=Object.keys(e.shape);for(let m of d)if(!(e.shape[m]instanceof re))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let f=Ea(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});ce(t._zod,"propValues",()=>{let d=e.shape,f={};for(let m in d){let p=d[m]._zod;if(p.values){f[m]??(f[m]=new Set);for(let h of p.values)f[m].add(h)}}return f});let n=d=>{let f=new vs(["shape","payload","ctx"]),m=r.value,p=x=>{let b=Ar(x);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),g=0;for(let x of m.keys)h[x]=`key_${g++}`;f.write("const newResult = {}");for(let x of m.keys)if(m.optionalKeys.has(x)){let b=h[x];f.write(`const ${b} = ${p(x)};`);let w=Ar(x);f.write(`
32
- if (${b}.issues.length) {
42
+ `))}};var nm={major:4,minor:0,patch:0};var re=v("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=nm;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=Ur(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=l._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new Bt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=Ur(s,d)))});else{if(s.issues.length===d)continue;c||(c=Ur(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 Bt;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Hr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return qr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),mo=v("$ZodString",(t,e)=>{re.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??jf(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}}),ce=v("$ZodStringFormat",(t,e)=>{fo.init(t,e),mo.init(t,e)}),sc=v("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Sf),ce.init(t,e)}),ic=v("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ec(n))}else e.pattern??(e.pattern=ec());ce.init(t,e)}),ac=v("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=kf),ce.init(t,e)}),cc=v("$ZodURL",(t,e)=>{ce.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:Rf.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})}}}),uc=v("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=bf()),ce.init(t,e)}),lc=v("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=vf),ce.init(t,e)}),dc=v("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=mf),ce.init(t,e)}),pc=v("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=hf),ce.init(t,e)}),fc=v("$ZodULID",(t,e)=>{e.pattern??(e.pattern=gf),ce.init(t,e)}),mc=v("$ZodXID",(t,e)=>{e.pattern??(e.pattern=_f),ce.init(t,e)}),hc=v("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=yf),ce.init(t,e)}),fm=v("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Af(e)),ce.init(t,e)}),mm=v("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=If),ce.init(t,e)}),hm=v("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Nf(e)),ce.init(t,e)}),gm=v("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=xf),ce.init(t,e)}),gc=v("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=wf),ce.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),_c=v("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Ef),ce.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})}}}),yc=v("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=$f),ce.init(t,e)}),vc=v("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=Tf),ce.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 _m(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var xc=v("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=Pf),ce.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{_m(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function ik(t){if(!tc.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return _m(r)}var Sc=v("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=tc),ce.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{ik(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),kc=v("$ZodE164",(t,e)=>{e.pattern??(e.pattern=Of),ce.init(t,e)});function ak(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 bc=v("$ZodJWT",(t,e)=>{ce.init(t,e),t._zod.check=r=>{ak(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Ns=v("$ZodNumber",(t,e)=>{re.init(t,e),t._zod.pattern=t._zod.bag.pattern??Df,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}}),wc=v("$ZodNumber",(t,e)=>{Vf.init(t,e),Ns.init(t,e)}),Ec=v("$ZodBoolean",(t,e)=>{re.init(t,e),t._zod.pattern=Lf,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 $c=v("$ZodNull",(t,e)=>{re.init(t,e),t._zod.pattern=Zf,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 Tc=v("$ZodUnknown",(t,e)=>{re.init(t,e),t._zod.parse=r=>r}),Pc=v("$ZodNever",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function om(t,e,r){t.issues.length&&e.issues.push(...It(r,t.issues)),e.value[r]=t.value}var Rc=v("$ZodArray",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>om(u,r,i))):om(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function zs(t,e,r){t.issues.length&&e.issues.push(...It(r,t.issues)),e.value[r]=t.value}function sm(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(...It(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var As=v("$ZodObject",(t,e)=>{re.init(t,e);let r=ao(()=>{let d=Object.keys(e.shape);for(let m of d)if(!(e.shape[m]instanceof re))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let f=qa(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});ae(t._zod,"propValues",()=>{let d=e.shape,f={};for(let m in d){let p=d[m]._zod;if(p.values){f[m]??(f[m]=new Set);for(let h of p.values)f[m].add(h)}}return f});let n=d=>{let f=new Is(["shape","payload","ctx"]),m=r.value,p=x=>{let S=Zr(x);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),g=0;for(let x of m.keys)h[x]=`key_${g++}`;f.write("const newResult = {}");for(let x of m.keys)if(m.optionalKeys.has(x)){let S=h[x];f.write(`const ${S} = ${p(x)};`);let w=Zr(x);f.write(`
43
+ if (${S}.issues.length) {
33
44
  if (input[${w}] === undefined) {
34
45
  if (${w} in input) {
35
46
  newResult[${w}] = undefined;
36
47
  }
37
48
  } else {
38
49
  payload.issues = payload.issues.concat(
39
- ${b}.issues.map((iss) => ({
50
+ ${S}.issues.map((iss) => ({
40
51
  ...iss,
41
52
  path: iss.path ? [${w}, ...iss.path] : [${w}],
42
53
  }))
43
54
  );
44
55
  }
45
- } else if (${b}.value === undefined) {
56
+ } else if (${S}.value === undefined) {
46
57
  if (${w} in input) newResult[${w}] = undefined;
47
58
  } else {
48
- newResult[${w}] = ${b}.value;
59
+ newResult[${w}] = ${S}.value;
49
60
  }
50
- `)}else{let b=h[x];f.write(`const ${b} = ${p(x)};`),f.write(`
51
- if (${b}.issues.length) payload.issues = payload.issues.concat(${b}.issues.map(iss => ({
61
+ `)}else{let S=h[x];f.write(`const ${S} = ${p(x)};`),f.write(`
62
+ if (${S}.issues.length) payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
52
63
  ...iss,
53
- path: iss.path ? [${Ar(x)}, ...iss.path] : [${Ar(x)}]
54
- })));`),f.write(`newResult[${Ar(x)}] = ${b}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let y=f.compile();return(x,b)=>y(d,x,b)},o,s=dn,i=!fs.jitless,c=i&&$a.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let p=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let b=l.shape;for(let w of l.keys){let R=b[w],ie=R._zod.run({value:m[w],issues:[]},f),ae=R._zod.optin==="optional"&&R._zod.optout==="optional";ie instanceof Promise?p.push(ie.then(Xe=>ae?Af(Xe,d,w,m):xs(Xe,d,w))):ae?Af(ie,d,w,m):xs(ie,d,w)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,y=u._zod,x=y.def.type;for(let b of Object.keys(m)){if(g.has(b))continue;if(x==="never"){h.push(b);continue}let w=y.run({value:m[b],issues:[]},f);w instanceof Promise?p.push(w.then(R=>xs(R,d,b))):xs(w,d,b)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:m,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function jf(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=>ft(s,n,Qe())))}),e}var Ss=v("$ZodUnion",(t,e)=>{re.init(t,e),ce(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ce(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ce(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),ce(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Yn(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=>jf(i,r,t,n)):jf(s,r,t,n)}}),mc=v("$ZodDiscriminatedUnion",(t,e)=>{Ss.init(t,e);let r=t._zod.parse;ce(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=Jn(()=>{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(!dn(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)}}),hc=v("$ZodIntersection",(t,e)=>{re.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])=>Mf(r,c,u)):Mf(r,s,i)}});function qa(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(pn(t)&&pn(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=qa(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=qa(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 Mf(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),jr(t))return t;let n=qa(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 gc=v("$ZodRecord",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!pn(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Et(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Et(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=>ft(u,n,Qe())),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(...Et(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Et(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var _c=v("$ZodEnum",(t,e)=>{re.init(t,e);let r=Gn(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Ta.has(typeof n)).map(n=>typeof n=="string"?er(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}}),yc=v("$ZodLiteral",(t,e)=>{re.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?er(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 vc=v("$ZodTransform",(t,e)=>{re.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 Ht;return r.value=o,r}}),xc=v("$ZodOptional",(t,e)=>{re.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Yn(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)}),bc=v("$ZodNullable",(t,e)=>{re.init(t,e),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Yn(r.source)}|null)$`):void 0}),ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),kc=v("$ZodDefault",(t,e)=>{re.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Df(s,e)):Df(o,e)}});function Df(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Sc=v("$ZodPrefault",(t,e)=>{re.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),wc=v("$ZodNonOptional",(t,e)=>{re.init(t,e),ce(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Zf(s,t)):Zf(o,t)}});function Zf(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 $c=v("$ZodCatch",(t,e)=>{re.init(t,e),t._zod.optin="optional",ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>ft(i,n,Qe()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>ft(s,n,Qe()))},input:r.value}),r.issues=[]),r)}});var Tc=v("$ZodPipe",(t,e)=>{re.init(t,e),ce(t._zod,"values",()=>e.in._zod.values),ce(t._zod,"optin",()=>e.in._zod.optin),ce(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>Lf(s,e,n)):Lf(o,e,n)}});function Lf(t,e,r){return jr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Ec=v("$ZodReadonly",(t,e)=>{re.init(t,e),ce(t._zod,"propValues",()=>e.innerType._zod.propValues),ce(t._zod,"values",()=>e.innerType._zod.values),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(Uf):Uf(o)}});function Uf(t){return t.value=Object.freeze(t.value),t}var Pc=v("$ZodCustom",(t,e)=>{Te.init(t,e),re.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=>qf(s,r,n,t));qf(o,r,n,t)}});function qf(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(Ra(o))}}var vb=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},xb=()=>{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 ${vb(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${gs(n.values[0])}`:`Invalid option: expected one of ${ms(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=e(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${ms(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function Gf(){return{localeError:xb()}}var ro=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 Jf(){return new ro}var tr=Jf();function Rc(t,e){return new t({type:"string",...j(e)})}function Oc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...j(e)})}function ws(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...j(e)})}function Ic(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...j(e)})}function Cc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(e)})}function zc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(e)})}function Nc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(e)})}function Ac(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...j(e)})}function jc(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...j(e)})}function Mc(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(e)})}function Dc(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...j(e)})}function Zc(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(e)})}function Lc(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...j(e)})}function Uc(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...j(e)})}function qc(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(e)})}function Hc(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(e)})}function Fc(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(e)})}function Vc(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(e)})}function Bc(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(e)})}function Kc(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...j(e)})}function Gc(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...j(e)})}function Jc(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...j(e)})}function Wc(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...j(e)})}function Wf(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function Yf(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function Xf(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function Qf(t,e){return new t({type:"string",format:"duration",check:"string_format",...j(e)})}function Yc(t,e){return new t({type:"number",checks:[],...j(e)})}function Xc(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...j(e)})}function Qc(t,e){return new t({type:"boolean",...j(e)})}function eu(t,e){return new t({type:"null",...j(e)})}function tu(t){return new t({type:"unknown"})}function ru(t,e){return new t({type:"never",...j(e)})}function $s(t,e){return new La({check:"less_than",...j(e),value:t,inclusive:!1})}function no(t,e){return new La({check:"less_than",...j(e),value:t,inclusive:!0})}function Ts(t,e){return new Ua({check:"greater_than",...j(e),value:t,inclusive:!1})}function oo(t,e){return new Ua({check:"greater_than",...j(e),value:t,inclusive:!0})}function Es(t,e){return new xf({check:"multiple_of",...j(e),value:t})}function Ps(t,e){return new kf({check:"max_length",...j(e),maximum:t})}function fn(t,e){return new Sf({check:"min_length",...j(e),minimum:t})}function Rs(t,e){return new wf({check:"length_equals",...j(e),length:t})}function nu(t,e){return new $f({check:"string_format",format:"regex",...j(e),pattern:t})}function ou(t){return new Tf({check:"string_format",format:"lowercase",...j(t)})}function su(t){return new Ef({check:"string_format",format:"uppercase",...j(t)})}function iu(t,e){return new Pf({check:"string_format",format:"includes",...j(e),includes:t})}function au(t,e){return new Rf({check:"string_format",format:"starts_with",...j(e),prefix:t})}function cu(t,e){return new Of({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Zr(t){return new If({check:"overwrite",tx:t})}function uu(t){return Zr(e=>e.normalize(t))}function lu(){return Zr(t=>t.trim())}function du(){return Zr(t=>t.toLowerCase())}function pu(){return Zr(t=>t.toUpperCase())}function em(t,e,r){return new t({type:"array",element:e,...j(r)})}function fu(t,e,r){let n=j(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function mu(t,e,r){return new t({type:"custom",check:"custom",fn:e,...j(r)})}var Os=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??tr,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)a.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let m=a.schema;switch(o.type){case"string":{let p=m;p.type="string";let{minimum:h,maximum:g,format:y,patterns:x,contentEncoding:b}=e._zod.bag;if(typeof h=="number"&&(p.minLength=h),typeof g=="number"&&(p.maxLength=g),y&&(p.format=s[y]??y,p.format===""&&delete p.format),b&&(p.contentEncoding=b),x&&x.size>0){let w=[...x];w.length===1?p.pattern=w[0].source:w.length>1&&(a.schema.allOf=[...w.map(R=>({...this.target==="draft-7"?{type:"string"}:{},pattern:R.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:y,multipleOf:x,exclusiveMaximum:b,exclusiveMinimum:w}=e._zod.bag;typeof y=="string"&&y.includes("int")?p.type="integer":p.type="number",typeof w=="number"&&(p.exclusiveMinimum=w),typeof h=="number"&&(p.minimum=h,typeof w=="number"&&(w>=h?delete p.minimum:delete p.exclusiveMinimum)),typeof b=="number"&&(p.exclusiveMaximum=b),typeof g=="number"&&(p.maximum=g,typeof b=="number"&&(b<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof x=="number"&&(p.multipleOf=x);break}case"boolean":{let p=m;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{m.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{m.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=m,{minimum:h,maximum:g}=e._zod.bag;typeof h=="number"&&(p.minItems=h),typeof g=="number"&&(p.maxItems=g),p.type="array",p.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let p=m;p.type="object",p.properties={};let h=o.shape;for(let x in h)p.properties[x]=this.process(h[x],{...d,path:[...d.path,"properties",x]});let g=new Set(Object.keys(h)),y=new Set([...g].filter(x=>{let b=o.shape[x]._zod;return this.io==="input"?b.optin===void 0:b.optout===void 0}));y.size>0&&(p.required=Array.from(y)),o.catchall?._zod.def.type==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{let p=m;p.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=m,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),y=b=>"allOf"in b&&Object.keys(b).length===1,x=[...y(h)?h.allOf:[h],...y(g)?g.allOf:[g]];p.allOf=x;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((x,b)=>this.process(x,{...d,path:[...d.path,"prefixItems",b]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let x=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=x:p.additionalItems=x}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:y}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof y=="number"&&(p.maxItems=y);break}case"record":{let p=m;p.type="object",p.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let p=m,h=Gn(o.entries);h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),p.enum=h;break}case"literal":{let p=m,h=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){let g=h[0];p.type=g===null?"null":typeof g,p.const=g}else h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),h.every(g=>typeof g=="boolean")&&(p.type="string"),h.every(g=>g===null)&&(p.type="null"),p.enum=h;break}case"file":{let p=m,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:y,mime:x}=e._zod.bag;g!==void 0&&(h.minLength=g),y!==void 0&&(h.maxLength=y),x?x.length===1?(h.contentMediaType=x[0],Object.assign(p,h)):p.anyOf=x.map(b=>({...h,contentMediaType:b})):Object.assign(p,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let p=this.process(o.innerType,d);m.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=m;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,m.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(m._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}m.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let p=m,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=h.source;break}case"pipe":{let p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,m.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let p=e._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&ke(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(l[0])?.id,g=n.external.uri??(x=>x);if(h)return{ref:g(h)};let y=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=y,{defId:y,ref:`${g("__shared")}#/${d}/${y}`}}if(l[1]===o)return{ref:"#"};let m=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:m+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:m}=s(l);d.def={...d.schema},m&&(d.defId=m);let p=d.schema;for(let h in p)delete p[h];p.$ref=f};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/<root>
64
+ path: iss.path ? [${Zr(x)}, ...iss.path] : [${Zr(x)}]
65
+ })));`),f.write(`newResult[${Zr(x)}] = ${S}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let _=f.compile();return(x,S)=>_(d,x,S)},o,s=_n,i=!$s.jitless,c=i&&Ua.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let p=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let S=l.shape;for(let w of l.keys){let R=S[w],oe=R._zod.run({value:m[w],issues:[]},f),ge=R._zod.optin==="optional"&&R._zod.optout==="optional";oe instanceof Promise?p.push(oe.then(Ae=>ge?sm(Ae,d,w,m):zs(Ae,d,w))):ge?sm(oe,d,w,m):zs(oe,d,w)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,_=u._zod,x=_.def.type;for(let S of Object.keys(m)){if(g.has(S))continue;if(x==="never"){h.push(S);continue}let w=_.run({value:m[S],issues:[]},f);w instanceof Promise?p.push(w.then(R=>zs(R,d,S))):zs(w,d,S)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:m,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function im(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>_t(s,n,rt())))}),e}var js=v("$ZodUnion",(t,e)=>{re.init(t,e),ae(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ae(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ae(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),ae(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=>uo(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>im(i,r,t,n)):im(s,r,t,n)}}),Oc=v("$ZodDiscriminatedUnion",(t,e)=>{js.init(t,e);let r=t._zod.parse;ae(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=ao(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(o,s)=>{let i=o.value;if(!_n(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),Cc=v("$ZodIntersection",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>am(r,c,u)):am(r,s,i)}});function oc(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(yn(t)&&yn(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=oc(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=oc(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function am(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Ur(t))return t;let n=oc(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 Ic=v("$ZodRecord",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!yn(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(...It(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...It(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=>_t(u,n,rt())),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(...It(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...It(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var zc=v("$ZodEnum",(t,e)=>{re.init(t,e);let r=io(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Ha.has(typeof n)).map(n=>typeof n=="string"?nr(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}}),Nc=v("$ZodLiteral",(t,e)=>{re.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?nr(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 Ac=v("$ZodTransform",(t,e)=>{re.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 Bt;return r.value=o,r}}),jc=v("$ZodOptional",(t,e)=>{re.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ae(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ae(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${uo(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)}),Mc=v("$ZodNullable",(t,e)=>{re.init(t,e),ae(t._zod,"optin",()=>e.innerType._zod.optin),ae(t._zod,"optout",()=>e.innerType._zod.optout),ae(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${uo(r.source)}|null)$`):void 0}),ae(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)}),Dc=v("$ZodDefault",(t,e)=>{re.init(t,e),t._zod.optin="optional",ae(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=>cm(s,e)):cm(o,e)}});function cm(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Lc=v("$ZodPrefault",(t,e)=>{re.init(t,e),t._zod.optin="optional",ae(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))}),Zc=v("$ZodNonOptional",(t,e)=>{re.init(t,e),ae(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=>um(s,t)):um(o,t)}});function um(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 Uc=v("$ZodCatch",(t,e)=>{re.init(t,e),t._zod.optin="optional",ae(t._zod,"optout",()=>e.innerType._zod.optout),ae(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=>_t(i,n,rt()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>_t(s,n,rt()))},input:r.value}),r.issues=[]),r)}});var Hc=v("$ZodPipe",(t,e)=>{re.init(t,e),ae(t._zod,"values",()=>e.in._zod.values),ae(t._zod,"optin",()=>e.in._zod.optin),ae(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>lm(s,e,n)):lm(o,e,n)}});function lm(t,e,r){return Ur(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var qc=v("$ZodReadonly",(t,e)=>{re.init(t,e),ae(t._zod,"propValues",()=>e.innerType._zod.propValues),ae(t._zod,"values",()=>e.innerType._zod.values),ae(t._zod,"optin",()=>e.innerType._zod.optin),ae(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(dm):dm(o)}});function dm(t){return t.value=Object.freeze(t.value),t}var Fc=v("$ZodCustom",(t,e)=>{Pe.init(t,e),re.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=>pm(s,r,n,t));pm(o,r,n,t)}});function pm(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(Va(o))}}var ck=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},uk=()=>{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 ${ck(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Rs(n.values[0])}`:`Invalid option: expected one of ${Ts(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":""}: ${Ts(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 ym(){return{localeError:uk()}}var ho=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 vm(){return new ho}var or=vm();function Vc(t,e){return new t({type:"string",...j(e)})}function Bc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...j(e)})}function Ms(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...j(e)})}function Kc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...j(e)})}function Jc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(e)})}function Gc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(e)})}function Wc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(e)})}function Yc(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...j(e)})}function Xc(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...j(e)})}function Qc(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(e)})}function eu(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...j(e)})}function tu(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(e)})}function ru(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...j(e)})}function nu(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...j(e)})}function ou(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(e)})}function su(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(e)})}function iu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(e)})}function au(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(e)})}function cu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(e)})}function uu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...j(e)})}function lu(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...j(e)})}function du(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...j(e)})}function pu(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...j(e)})}function xm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function Sm(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function km(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function bm(t,e){return new t({type:"string",format:"duration",check:"string_format",...j(e)})}function fu(t,e){return new t({type:"number",checks:[],...j(e)})}function mu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...j(e)})}function hu(t,e){return new t({type:"boolean",...j(e)})}function gu(t,e){return new t({type:"null",...j(e)})}function _u(t){return new t({type:"unknown"})}function yu(t,e){return new t({type:"never",...j(e)})}function Ds(t,e){return new rc({check:"less_than",...j(e),value:t,inclusive:!1})}function go(t,e){return new rc({check:"less_than",...j(e),value:t,inclusive:!0})}function Ls(t,e){return new nc({check:"greater_than",...j(e),value:t,inclusive:!1})}function _o(t,e){return new nc({check:"greater_than",...j(e),value:t,inclusive:!0})}function Zs(t,e){return new Ff({check:"multiple_of",...j(e),value:t})}function Us(t,e){return new Bf({check:"max_length",...j(e),maximum:t})}function vn(t,e){return new Kf({check:"min_length",...j(e),minimum:t})}function Hs(t,e){return new Jf({check:"length_equals",...j(e),length:t})}function vu(t,e){return new Gf({check:"string_format",format:"regex",...j(e),pattern:t})}function xu(t){return new Wf({check:"string_format",format:"lowercase",...j(t)})}function Su(t){return new Yf({check:"string_format",format:"uppercase",...j(t)})}function ku(t,e){return new Xf({check:"string_format",format:"includes",...j(e),includes:t})}function bu(t,e){return new Qf({check:"string_format",format:"starts_with",...j(e),prefix:t})}function wu(t,e){return new em({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Fr(t){return new tm({check:"overwrite",tx:t})}function Eu(t){return Fr(e=>e.normalize(t))}function $u(){return Fr(t=>t.trim())}function Tu(){return Fr(t=>t.toLowerCase())}function Pu(){return Fr(t=>t.toUpperCase())}function wm(t,e,r){return new t({type:"array",element:e,...j(r)})}function Ru(t,e,r){let n=j(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Ou(t,e,r){return new t({type:"custom",check:"custom",fn:e,...j(r)})}var qs=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??or,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)a.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let m=a.schema;switch(o.type){case"string":{let p=m;p.type="string";let{minimum:h,maximum:g,format:_,patterns:x,contentEncoding:S}=e._zod.bag;if(typeof h=="number"&&(p.minLength=h),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),S&&(p.contentEncoding=S),x&&x.size>0){let w=[...x];w.length===1?p.pattern=w[0].source:w.length>1&&(a.schema.allOf=[...w.map(R=>({...this.target==="draft-7"?{type:"string"}:{},pattern:R.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:_,multipleOf:x,exclusiveMaximum:S,exclusiveMinimum:w}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof w=="number"&&(p.exclusiveMinimum=w),typeof h=="number"&&(p.minimum=h,typeof w=="number"&&(w>=h?delete p.minimum:delete p.exclusiveMinimum)),typeof S=="number"&&(p.exclusiveMaximum=S),typeof g=="number"&&(p.maximum=g,typeof S=="number"&&(S<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof x=="number"&&(p.multipleOf=x);break}case"boolean":{let p=m;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{m.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{m.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=m,{minimum:h,maximum:g}=e._zod.bag;typeof h=="number"&&(p.minItems=h),typeof g=="number"&&(p.maxItems=g),p.type="array",p.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let p=m;p.type="object",p.properties={};let h=o.shape;for(let x in h)p.properties[x]=this.process(h[x],{...d,path:[...d.path,"properties",x]});let g=new Set(Object.keys(h)),_=new Set([...g].filter(x=>{let S=o.shape[x]._zod;return this.io==="input"?S.optin===void 0:S.optout===void 0}));_.size>0&&(p.required=Array.from(_)),o.catchall?._zod.def.type==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{let p=m;p.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=m,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=S=>"allOf"in S&&Object.keys(S).length===1,x=[..._(h)?h.allOf:[h],..._(g)?g.allOf:[g]];p.allOf=x;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((x,S)=>this.process(x,{...d,path:[...d.path,"prefixItems",S]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let x=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=x:p.additionalItems=x}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:_}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof _=="number"&&(p.maxItems=_);break}case"record":{let p=m;p.type="object",p.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let p=m,h=io(o.entries);h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),p.enum=h;break}case"literal":{let p=m,h=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){let g=h[0];p.type=g===null?"null":typeof g,p.const=g}else h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),h.every(g=>typeof g=="boolean")&&(p.type="string"),h.every(g=>g===null)&&(p.type="null"),p.enum=h;break}case"file":{let p=m,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:x}=e._zod.bag;g!==void 0&&(h.minLength=g),_!==void 0&&(h.maxLength=_),x?x.length===1?(h.contentMediaType=x[0],Object.assign(p,h)):p.anyOf=x.map(S=>({...h,contentMediaType:S})):Object.assign(p,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let p=this.process(o.innerType,d);m.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=m;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,m.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(m._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}m.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let p=m,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=h.source;break}case"pipe":{let p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,m.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let p=e._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&ke(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(l[0])?.id,g=n.external.uri??(x=>x);if(h)return{ref:g(h)};let _=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=_,{defId:_,ref:`${g("__shared")}#/${d}/${_}`}}if(l[1]===o)return{ref:"#"};let m=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:m+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:m}=s(l);d.def={...d.schema},m&&(d.defId=m);let p=d.schema;for(let h in p)delete p[h];p.$ref=f};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/<root>
55
66
 
56
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let m=n.external.registry.get(l[0])?.id;if(e!==l[0]&&m){i(l);continue}}if(this.metadataRegistry.get(l[0])?.id){i(l);continue}if(d.cycle){i(l);continue}if(d.count>1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let f=this.seen.get(l),m=f.def??f.schema,p={...m};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(m.allOf=m.allOf??[],m.allOf.push(g)):(Object.assign(m,g),Object.assign(m,p))}f.isParent||this.override({zodSchema:l,jsonSchema:m,path:f.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function hu(t,e){if(t instanceof ro){let n=new Os(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new Os(e);return r.process(t),r.emit(t,e)}function ke(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return ke(o.element,r);case"object":{for(let s in o.shape)if(ke(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(ke(s,r))return!0;return!1}case"intersection":return ke(o.left,r)||ke(o.right,r);case"tuple":{for(let s of o.items)if(ke(s,r))return!0;return!!(o.rest&&ke(o.rest,r))}case"record":return ke(o.keyType,r)||ke(o.valueType,r);case"map":return ke(o.keyType,r)||ke(o.valueType,r);case"set":return ke(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return ke(o.innerType,r);case"lazy":return ke(o.getter(),r);case"default":return ke(o.innerType,r);case"prefault":return ke(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return ke(o.in,r)||ke(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var tk=v("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");re.init(t,e),t.def=e,t.parse=(r,n)=>za(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Mr(t,r,n),t.parseAsync=async(r,n)=>Aa(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Dr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>et(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var rk=v("ZodMiniObject",(t,e)=>{ks.init(t,e),tk.init(t,e),K.defineLazy(t,"shape",()=>e.shape)});function gu(t,e){let r={type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},...K.normalizeParams(e)};return new rk(r)}function st(t){return!!t._zod}function Ur(t){let e=Object.values(t);if(e.length===0)return gu({});let r=e.every(st),n=e.every(o=>!st(o));if(r)return gu(t);if(n)return va(t);throw new Error("Mixed Zod versions detected in object shape.")}function rr(t,e){return st(t)?Mr(t,e):t.safeParse(e)}async function Is(t,e){return st(t)?await Dr(t,e):await t.safeParseAsync(e)}function nr(t){if(!t)return;let e;if(st(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function mn(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Ur(t)}}if(st(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function Cs(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function rm(t){return t.description}function nm(t){if(st(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function zs(t){if(st(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 so={};St(so,{ZodISODate:()=>sm,ZodISODateTime:()=>om,ZodISODuration:()=>am,ZodISOTime:()=>im,date:()=>yu,datetime:()=>_u,duration:()=>xu,time:()=>vu});var om=v("ZodISODateTime",(t,e)=>{Hf.init(t,e),me.init(t,e)});function _u(t){return Wf(om,t)}var sm=v("ZodISODate",(t,e)=>{Ff.init(t,e),me.init(t,e)});function yu(t){return Yf(sm,t)}var im=v("ZodISOTime",(t,e)=>{Vf.init(t,e),me.init(t,e)});function vu(t){return Xf(im,t)}var am=v("ZodISODuration",(t,e)=>{Bf.init(t,e),me.init(t,e)});function xu(t){return Qf(am,t)}var cm=(t,e)=>{_s.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Ia(t,r)},flatten:{value:r=>Oa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},RC=v("ZodError",cm),io=v("ZodError",cm,{Parent:Error});var um=Ca(io),lm=Na(io),dm=ja(io),pm=Ma(io);var ve=v("ZodType",(t,e)=>(re.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)=>et(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>um(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>dm(t,r,n),t.parseAsync=async(r,n)=>lm(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>pm(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Qk(r,n)),t.superRefine=r=>t.check(eS(r)),t.overwrite=r=>t.check(Zr(r)),t.optional=()=>ye(t),t.nullable=()=>hm(t),t.nullish=()=>ye(hm(t)),t.nonoptional=r=>Bk(t,r),t.array=()=>J(t),t.or=r=>le([t,r]),t.and=r=>As(t,r),t.transform=r=>ku(t,xm(r)),t.default=r=>Hk(t,r),t.prefault=r=>Vk(t,r),t.catch=r=>Gk(t,r),t.pipe=r=>ku(t,r),t.readonly=()=>Yk(t),t.describe=r=>{let n=t.clone();return tr.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return tr.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return tr.get(t);let n=t.clone();return tr.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),gm=v("_ZodString",(t,e)=>{to.init(t,e),ve.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(nu(...n)),t.includes=(...n)=>t.check(iu(...n)),t.startsWith=(...n)=>t.check(au(...n)),t.endsWith=(...n)=>t.check(cu(...n)),t.min=(...n)=>t.check(fn(...n)),t.max=(...n)=>t.check(Ps(...n)),t.length=(...n)=>t.check(Rs(...n)),t.nonempty=(...n)=>t.check(fn(1,...n)),t.lowercase=n=>t.check(ou(n)),t.uppercase=n=>t.check(su(n)),t.trim=()=>t.check(lu()),t.normalize=(...n)=>t.check(uu(...n)),t.toLowerCase=()=>t.check(du()),t.toUpperCase=()=>t.check(pu())}),dk=v("ZodString",(t,e)=>{to.init(t,e),gm.init(t,e),t.email=r=>t.check(Oc(pk,r)),t.url=r=>t.check(Ac(fk,r)),t.jwt=r=>t.check(Wc(Pk,r)),t.emoji=r=>t.check(jc(mk,r)),t.guid=r=>t.check(ws(fm,r)),t.uuid=r=>t.check(Ic(Ns,r)),t.uuidv4=r=>t.check(Cc(Ns,r)),t.uuidv6=r=>t.check(zc(Ns,r)),t.uuidv7=r=>t.check(Nc(Ns,r)),t.nanoid=r=>t.check(Mc(hk,r)),t.guid=r=>t.check(ws(fm,r)),t.cuid=r=>t.check(Dc(gk,r)),t.cuid2=r=>t.check(Zc(_k,r)),t.ulid=r=>t.check(Lc(yk,r)),t.base64=r=>t.check(Kc($k,r)),t.base64url=r=>t.check(Gc(Tk,r)),t.xid=r=>t.check(Uc(vk,r)),t.ksuid=r=>t.check(qc(xk,r)),t.ipv4=r=>t.check(Hc(bk,r)),t.ipv6=r=>t.check(Fc(kk,r)),t.cidrv4=r=>t.check(Vc(Sk,r)),t.cidrv6=r=>t.check(Bc(wk,r)),t.e164=r=>t.check(Jc(Ek,r)),t.datetime=r=>t.check(_u(r)),t.date=r=>t.check(yu(r)),t.time=r=>t.check(vu(r)),t.duration=r=>t.check(xu(r))});function _(t){return Rc(dk,t)}var me=v("ZodStringFormat",(t,e)=>{ue.init(t,e),gm.init(t,e)}),pk=v("ZodEmail",(t,e)=>{Va.init(t,e),me.init(t,e)});var fm=v("ZodGUID",(t,e)=>{Ha.init(t,e),me.init(t,e)});var Ns=v("ZodUUID",(t,e)=>{Fa.init(t,e),me.init(t,e)});var fk=v("ZodURL",(t,e)=>{Ba.init(t,e),me.init(t,e)});var mk=v("ZodEmoji",(t,e)=>{Ka.init(t,e),me.init(t,e)});var hk=v("ZodNanoID",(t,e)=>{Ga.init(t,e),me.init(t,e)});var gk=v("ZodCUID",(t,e)=>{Ja.init(t,e),me.init(t,e)});var _k=v("ZodCUID2",(t,e)=>{Wa.init(t,e),me.init(t,e)});var yk=v("ZodULID",(t,e)=>{Ya.init(t,e),me.init(t,e)});var vk=v("ZodXID",(t,e)=>{Xa.init(t,e),me.init(t,e)});var xk=v("ZodKSUID",(t,e)=>{Qa.init(t,e),me.init(t,e)});var bk=v("ZodIPv4",(t,e)=>{ec.init(t,e),me.init(t,e)});var kk=v("ZodIPv6",(t,e)=>{tc.init(t,e),me.init(t,e)});var Sk=v("ZodCIDRv4",(t,e)=>{rc.init(t,e),me.init(t,e)});var wk=v("ZodCIDRv6",(t,e)=>{nc.init(t,e),me.init(t,e)});var $k=v("ZodBase64",(t,e)=>{oc.init(t,e),me.init(t,e)});var Tk=v("ZodBase64URL",(t,e)=>{sc.init(t,e),me.init(t,e)});var Ek=v("ZodE164",(t,e)=>{ic.init(t,e),me.init(t,e)});var Pk=v("ZodJWT",(t,e)=>{ac.init(t,e),me.init(t,e)});var _m=v("ZodNumber",(t,e)=>{bs.init(t,e),ve.init(t,e),t.gt=(n,o)=>t.check(Ts(n,o)),t.gte=(n,o)=>t.check(oo(n,o)),t.min=(n,o)=>t.check(oo(n,o)),t.lt=(n,o)=>t.check($s(n,o)),t.lte=(n,o)=>t.check(no(n,o)),t.max=(n,o)=>t.check(no(n,o)),t.int=n=>t.check(mm(n)),t.safe=n=>t.check(mm(n)),t.positive=n=>t.check(Ts(0,n)),t.nonnegative=n=>t.check(oo(0,n)),t.negative=n=>t.check($s(0,n)),t.nonpositive=n=>t.check(no(0,n)),t.multipleOf=(n,o)=>t.check(Es(n,o)),t.step=(n,o)=>t.check(Es(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 te(t){return Yc(_m,t)}var Rk=v("ZodNumberFormat",(t,e)=>{cc.init(t,e),_m.init(t,e)});function mm(t){return Xc(Rk,t)}var Ok=v("ZodBoolean",(t,e)=>{uc.init(t,e),ve.init(t,e)});function Se(t){return Qc(Ok,t)}var Ik=v("ZodNull",(t,e)=>{lc.init(t,e),ve.init(t,e)});function Su(t){return eu(Ik,t)}var Ck=v("ZodUnknown",(t,e)=>{dc.init(t,e),ve.init(t,e)});function he(){return tu(Ck)}var zk=v("ZodNever",(t,e)=>{pc.init(t,e),ve.init(t,e)});function Nk(t){return ru(zk,t)}var Ak=v("ZodArray",(t,e)=>{fc.init(t,e),ve.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(fn(r,n)),t.nonempty=r=>t.check(fn(1,r)),t.max=(r,n)=>t.check(Ps(r,n)),t.length=(r,n)=>t.check(Rs(r,n)),t.unwrap=()=>t.element});function J(t,e){return em(Ak,t,e)}var ym=v("ZodObject",(t,e)=>{ks.init(t,e),ve.init(t,e),K.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Be(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:he()}),t.loose=()=>t.clone({...t._zod.def,catchall:he()}),t.strict=()=>t.clone({...t._zod.def,catchall:Nk()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>K.extend(t,r),t.merge=r=>K.merge(t,r),t.pick=r=>K.pick(t,r),t.omit=r=>K.omit(t,r),t.partial=(...r)=>K.partial(bm,t,r[0]),t.required=(...r)=>K.required(km,t,r[0])});function P(t,e){let r={type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},...K.normalizeParams(e)};return new ym(r)}function De(t,e){return new ym({type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},catchall:he(),...K.normalizeParams(e)})}var vm=v("ZodUnion",(t,e)=>{Ss.init(t,e),ve.init(t,e),t.options=e.options});function le(t,e){return new vm({type:"union",options:t,...K.normalizeParams(e)})}var jk=v("ZodDiscriminatedUnion",(t,e)=>{vm.init(t,e),mc.init(t,e)});function wu(t,e,r){return new jk({type:"union",options:e,discriminator:t,...K.normalizeParams(r)})}var Mk=v("ZodIntersection",(t,e)=>{hc.init(t,e),ve.init(t,e)});function As(t,e){return new Mk({type:"intersection",left:t,right:e})}var Dk=v("ZodRecord",(t,e)=>{gc.init(t,e),ve.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function ge(t,e,r){return new Dk({type:"record",keyType:t,valueType:e,...K.normalizeParams(r)})}var bu=v("ZodEnum",(t,e)=>{_c.init(t,e),ve.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new bu({...e,checks:[],...K.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 bu({...e,checks:[],...K.normalizeParams(o),entries:s})}});function Be(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new bu({type:"enum",entries:r,...K.normalizeParams(e)})}var Zk=v("ZodLiteral",(t,e)=>{yc.init(t,e),ve.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function C(t,e){return new Zk({type:"literal",values:Array.isArray(t)?t:[t],...K.normalizeParams(e)})}var Lk=v("ZodTransform",(t,e)=>{vc.init(t,e),ve.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(K.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(K.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 xm(t){return new Lk({type:"transform",transform:t})}var bm=v("ZodOptional",(t,e)=>{xc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function ye(t){return new bm({type:"optional",innerType:t})}var Uk=v("ZodNullable",(t,e)=>{bc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function hm(t){return new Uk({type:"nullable",innerType:t})}var qk=v("ZodDefault",(t,e)=>{kc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function Hk(t,e){return new qk({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Fk=v("ZodPrefault",(t,e)=>{Sc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Vk(t,e){return new Fk({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var km=v("ZodNonOptional",(t,e)=>{wc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Bk(t,e){return new km({type:"nonoptional",innerType:t,...K.normalizeParams(e)})}var Kk=v("ZodCatch",(t,e)=>{$c.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Gk(t,e){return new Kk({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Jk=v("ZodPipe",(t,e)=>{Tc.init(t,e),ve.init(t,e),t.in=e.in,t.out=e.out});function ku(t,e){return new Jk({type:"pipe",in:t,out:e})}var Wk=v("ZodReadonly",(t,e)=>{Ec.init(t,e),ve.init(t,e)});function Yk(t){return new Wk({type:"readonly",innerType:t})}var Sm=v("ZodCustom",(t,e)=>{Pc.init(t,e),ve.init(t,e)});function Xk(t){let e=new Te({check:"custom"});return e._zod.check=t,e}function wm(t,e){return fu(Sm,t??(()=>!0),e)}function Qk(t,e={}){return mu(Sm,t,e)}function eS(t){let e=Xk(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(K.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(K.issue(o))}},t(r.value,r)));return e}function $u(t,e){return ku(xm(t),e)}Qe(Gf());var Eu="2025-11-25";var $m=[Eu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],or="io.modelcontextprotocol/related-task",Ms="2.0",Ee=wm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Tm=le([_(),te().int()]),Em=_(),HC=De({ttl:le([te(),Su()]).optional(),pollInterval:te().optional()}),tS=P({ttl:te().optional()}),rS=P({taskId:_()}),Pu=De({progressToken:Tm.optional(),[or]:rS.optional()}),tt=P({_meta:Pu.optional()}),ao=tt.extend({task:tS.optional()}),Pm=t=>ao.safeParse(t).success,Pe=P({method:_(),params:tt.loose().optional()}),it=P({_meta:Pu.optional()}),at=P({method:_(),params:it.loose().optional()}),Re=De({_meta:Pu.optional()}),Ds=le([_(),te().int()]),Rm=P({jsonrpc:C(Ms),id:Ds,...Pe.shape}).strict(),Ru=t=>Rm.safeParse(t).success,Om=P({jsonrpc:C(Ms),...at.shape}).strict(),Im=t=>Om.safeParse(t).success,Ou=P({jsonrpc:C(Ms),id:Ds,result:Re}).strict(),co=t=>Ou.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 Iu=P({jsonrpc:C(Ms),id:Ds.optional(),error:P({code:te().int(),message:_(),data:he().optional()})}).strict();var Cm=t=>Iu.safeParse(t).success;var zm=le([Rm,Om,Ou,Iu]),FC=le([Ou,Iu]),Zs=Re.strict(),nS=it.extend({requestId:Ds.optional(),reason:_().optional()}),Ls=at.extend({method:C("notifications/cancelled"),params:nS}),oS=P({src:_(),mimeType:_().optional(),sizes:J(_()).optional(),theme:Be(["light","dark"]).optional()}),uo=P({icons:J(oS).optional()}),hn=P({name:_(),title:_().optional()}),Nm=hn.extend({...hn.shape,...uo.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),sS=As(P({applyDefaults:Se().optional()}),ge(_(),he())),iS=$u(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,As(P({form:sS.optional(),url:Ee.optional()}),ge(_(),he()).optional())),aS=De({list:Ee.optional(),cancel:Ee.optional(),requests:De({sampling:De({createMessage:Ee.optional()}).optional(),elicitation:De({create:Ee.optional()}).optional()}).optional()}),cS=De({list:Ee.optional(),cancel:Ee.optional(),requests:De({tools:De({call:Ee.optional()}).optional()}).optional()}),uS=P({experimental:ge(_(),Ee).optional(),sampling:P({context:Ee.optional(),tools:Ee.optional()}).optional(),elicitation:iS.optional(),roots:P({listChanged:Se().optional()}).optional(),tasks:aS.optional()}),lS=tt.extend({protocolVersion:_(),capabilities:uS,clientInfo:Nm}),Cu=Pe.extend({method:C("initialize"),params:lS});var dS=P({experimental:ge(_(),Ee).optional(),logging:Ee.optional(),completions:Ee.optional(),prompts:P({listChanged:Se().optional()}).optional(),resources:P({subscribe:Se().optional(),listChanged:Se().optional()}).optional(),tools:P({listChanged:Se().optional()}).optional(),tasks:cS.optional()}),pS=Re.extend({protocolVersion:_(),capabilities:dS,serverInfo:Nm,instructions:_().optional()}),zu=at.extend({method:C("notifications/initialized"),params:it.optional()});var Us=Pe.extend({method:C("ping"),params:tt.optional()}),fS=P({progress:te(),total:ye(te()),message:ye(_())}),mS=P({...it.shape,...fS.shape,progressToken:Tm}),qs=at.extend({method:C("notifications/progress"),params:mS}),hS=tt.extend({cursor:Em.optional()}),lo=Pe.extend({params:hS.optional()}),po=Re.extend({nextCursor:Em.optional()}),gS=Be(["working","input_required","completed","failed","cancelled"]),fo=P({taskId:_(),status:gS,ttl:le([te(),Su()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:ye(te()),statusMessage:ye(_())}),gn=Re.extend({task:fo}),_S=it.merge(fo),mo=at.extend({method:C("notifications/tasks/status"),params:_S}),Hs=Pe.extend({method:C("tasks/get"),params:tt.extend({taskId:_()})}),Fs=Re.merge(fo),Vs=Pe.extend({method:C("tasks/result"),params:tt.extend({taskId:_()})}),VC=Re.loose(),Bs=lo.extend({method:C("tasks/list")}),Ks=po.extend({tasks:J(fo)}),Gs=Pe.extend({method:C("tasks/cancel"),params:tt.extend({taskId:_()})}),Am=Re.merge(fo),jm=P({uri:_(),mimeType:ye(_()),_meta:ge(_(),he()).optional()}),Mm=jm.extend({text:_()}),Nu=_().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Dm=jm.extend({blob:Nu}),ho=Be(["user","assistant"]),_n=P({audience:J(ho).optional(),priority:te().min(0).max(1).optional(),lastModified:so.datetime({offset:!0}).optional()}),Zm=P({...hn.shape,...uo.shape,uri:_(),description:ye(_()),mimeType:ye(_()),annotations:_n.optional(),_meta:ye(De({}))}),yS=P({...hn.shape,...uo.shape,uriTemplate:_(),description:ye(_()),mimeType:ye(_()),annotations:_n.optional(),_meta:ye(De({}))}),Js=lo.extend({method:C("resources/list")}),vS=po.extend({resources:J(Zm)}),Ws=lo.extend({method:C("resources/templates/list")}),xS=po.extend({resourceTemplates:J(yS)}),Au=tt.extend({uri:_()}),bS=Au,Ys=Pe.extend({method:C("resources/read"),params:bS}),kS=Re.extend({contents:J(le([Mm,Dm]))}),SS=at.extend({method:C("notifications/resources/list_changed"),params:it.optional()}),wS=Au,$S=Pe.extend({method:C("resources/subscribe"),params:wS}),TS=Au,ES=Pe.extend({method:C("resources/unsubscribe"),params:TS}),PS=it.extend({uri:_()}),RS=at.extend({method:C("notifications/resources/updated"),params:PS}),OS=P({name:_(),description:ye(_()),required:ye(Se())}),IS=P({...hn.shape,...uo.shape,description:ye(_()),arguments:ye(J(OS)),_meta:ye(De({}))}),Xs=lo.extend({method:C("prompts/list")}),CS=po.extend({prompts:J(IS)}),zS=tt.extend({name:_(),arguments:ge(_(),_()).optional()}),Qs=Pe.extend({method:C("prompts/get"),params:zS}),ju=P({type:C("text"),text:_(),annotations:_n.optional(),_meta:ge(_(),he()).optional()}),Mu=P({type:C("image"),data:Nu,mimeType:_(),annotations:_n.optional(),_meta:ge(_(),he()).optional()}),Du=P({type:C("audio"),data:Nu,mimeType:_(),annotations:_n.optional(),_meta:ge(_(),he()).optional()}),NS=P({type:C("tool_use"),name:_(),id:_(),input:ge(_(),he()),_meta:ge(_(),he()).optional()}),AS=P({type:C("resource"),resource:le([Mm,Dm]),annotations:_n.optional(),_meta:ge(_(),he()).optional()}),jS=Zm.extend({type:C("resource_link")}),Zu=le([ju,Mu,Du,jS,AS]),MS=P({role:ho,content:Zu}),DS=Re.extend({description:_().optional(),messages:J(MS)}),ZS=at.extend({method:C("notifications/prompts/list_changed"),params:it.optional()}),LS=P({title:_().optional(),readOnlyHint:Se().optional(),destructiveHint:Se().optional(),idempotentHint:Se().optional(),openWorldHint:Se().optional()}),US=P({taskSupport:Be(["required","optional","forbidden"]).optional()}),Lm=P({...hn.shape,...uo.shape,description:_().optional(),inputSchema:P({type:C("object"),properties:ge(_(),Ee).optional(),required:J(_()).optional()}).catchall(he()),outputSchema:P({type:C("object"),properties:ge(_(),Ee).optional(),required:J(_()).optional()}).catchall(he()).optional(),annotations:LS.optional(),execution:US.optional(),_meta:ge(_(),he()).optional()}),ei=lo.extend({method:C("tools/list")}),qS=po.extend({tools:J(Lm)}),ti=Re.extend({content:J(Zu).default([]),structuredContent:ge(_(),he()).optional(),isError:Se().optional()}),BC=ti.or(Re.extend({toolResult:he()})),HS=ao.extend({name:_(),arguments:ge(_(),he()).optional()}),yn=Pe.extend({method:C("tools/call"),params:HS}),FS=at.extend({method:C("notifications/tools/list_changed"),params:it.optional()}),KC=P({autoRefresh:Se().default(!0),debounceMs:te().int().nonnegative().default(300)}),go=Be(["debug","info","notice","warning","error","critical","alert","emergency"]),VS=tt.extend({level:go}),Lu=Pe.extend({method:C("logging/setLevel"),params:VS}),BS=it.extend({level:go,logger:_().optional(),data:he()}),KS=at.extend({method:C("notifications/message"),params:BS}),GS=P({name:_().optional()}),JS=P({hints:J(GS).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),WS=P({mode:Be(["auto","required","none"]).optional()}),YS=P({type:C("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:J(Zu).default([]),structuredContent:P({}).loose().optional(),isError:Se().optional(),_meta:ge(_(),he()).optional()}),XS=wu("type",[ju,Mu,Du]),js=wu("type",[ju,Mu,Du,NS,YS]),QS=P({role:ho,content:le([js,J(js)]),_meta:ge(_(),he()).optional()}),ew=ao.extend({messages:J(QS),modelPreferences:JS.optional(),systemPrompt:_().optional(),includeContext:Be(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:J(_()).optional(),metadata:Ee.optional(),tools:J(Lm).optional(),toolChoice:WS.optional()}),tw=Pe.extend({method:C("sampling/createMessage"),params:ew}),Uu=Re.extend({model:_(),stopReason:ye(Be(["endTurn","stopSequence","maxTokens"]).or(_())),role:ho,content:XS}),qu=Re.extend({model:_(),stopReason:ye(Be(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:ho,content:le([js,J(js)])}),rw=P({type:C("boolean"),title:_().optional(),description:_().optional(),default:Se().optional()}),nw=P({type:C("string"),title:_().optional(),description:_().optional(),minLength:te().optional(),maxLength:te().optional(),format:Be(["email","uri","date","date-time"]).optional(),default:_().optional()}),ow=P({type:Be(["number","integer"]),title:_().optional(),description:_().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),sw=P({type:C("string"),title:_().optional(),description:_().optional(),enum:J(_()),default:_().optional()}),iw=P({type:C("string"),title:_().optional(),description:_().optional(),oneOf:J(P({const:_(),title:_()})),default:_().optional()}),aw=P({type:C("string"),title:_().optional(),description:_().optional(),enum:J(_()),enumNames:J(_()).optional(),default:_().optional()}),cw=le([sw,iw]),uw=P({type:C("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:P({type:C("string"),enum:J(_())}),default:J(_()).optional()}),lw=P({type:C("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:P({anyOf:J(P({const:_(),title:_()}))}),default:J(_()).optional()}),dw=le([uw,lw]),pw=le([aw,cw,dw]),fw=le([pw,rw,nw,ow]),mw=ao.extend({mode:C("form").optional(),message:_(),requestedSchema:P({type:C("object"),properties:ge(_(),fw),required:J(_()).optional()})}),hw=ao.extend({mode:C("url"),message:_(),elicitationId:_(),url:_().url()}),gw=le([mw,hw]),_w=Pe.extend({method:C("elicitation/create"),params:gw}),yw=it.extend({elicitationId:_()}),vw=at.extend({method:C("notifications/elicitation/complete"),params:yw}),ri=Re.extend({action:Be(["accept","decline","cancel"]),content:$u(t=>t===null?void 0:t,ge(_(),le([_(),te(),Se(),J(_())])).optional())}),xw=P({type:C("ref/resource"),uri:_()});var bw=P({type:C("ref/prompt"),name:_()}),kw=tt.extend({ref:le([bw,xw]),argument:P({name:_(),value:_()}),context:P({arguments:ge(_(),_()).optional()}).optional()}),ni=Pe.extend({method:C("completion/complete"),params:kw});function Um(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function qm(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var Sw=Re.extend({completion:De({values:J(_()).max(100),total:ye(te().int()),hasMore:ye(Se())})}),ww=P({uri:_().startsWith("file://"),name:_().optional(),_meta:ge(_(),he()).optional()}),$w=Pe.extend({method:C("roots/list"),params:tt.optional()}),Hu=Re.extend({roots:J(ww)}),Tw=at.extend({method:C("notifications/roots/list_changed"),params:it.optional()}),GC=le([Us,Cu,ni,Lu,Qs,Xs,Js,Ws,Ys,$S,ES,yn,ei,Hs,Vs,Bs,Gs]),JC=le([Ls,qs,zu,Tw,mo]),WC=le([Zs,Uu,qu,ri,Hu,Fs,Ks,gn]),YC=le([Us,tw,_w,$w,Hs,Vs,Bs,Gs]),XC=le([Ls,qs,KS,RS,SS,FS,ZS,mo,vw]),QC=le([Zs,pS,Sw,DS,CS,vS,xS,kS,ti,qS,Fs,Ks,gn]),I=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===N.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Tu(o.elicitations,r)}return new t(e,r,n)}},Tu=class extends I{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function sr(t){return t==="completed"||t==="failed"||t==="cancelled"}var Fm=Symbol("Let zodToJsonSchema decide on which parser to use");var Hm={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},Vm=t=>typeof t=="string"?{...Hm,name:t}:{...Hm,...t};var Bm=t=>{let e=Vm(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function Fu(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function W(t,e,r,n,o){t[e]=r,Fu(t,e,n,o)}var oi=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function _e(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?oi(e,t.currentPath):e.join("/")}}function Km(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==S.ZodAny&&(r.items=M(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&W(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&W(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(W(r,"minItems",t.exactLength.value,t.exactLength.message,e),W(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function Gm(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?W(r,"minimum",n.value,n.message,e):W(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),W(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?W(r,"maximum",n.value,n.message,e):W(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),W(r,"maximum",n.value,n.message,e));break;case"multipleOf":W(r,"multipleOf",n.value,n.message,e);break}return r}function Jm(){return{type:"boolean"}}function si(t,e){return M(t.type._def,e)}var Wm=(t,e)=>M(t.innerType._def,e);function Vu(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Vu(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Ew(t,e)}}var Ew=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":W(r,"minimum",n.value,n.message,e);break;case"max":W(r,"maximum",n.value,n.message,e);break}return r};function Ym(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function Xm(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):_e(e)}function Qm(t){return{type:"string",enum:Array.from(t.values)}}var Pw=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function eh(t,e){let r=[M(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),M(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(Pw(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function th(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var Bu,mt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Bu===void 0&&(Bu=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Bu),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function ii(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":W(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":W(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":ht(r,"email",n.message,e);break;case"format:idn-email":ht(r,"idn-email",n.message,e);break;case"pattern:zod":Ze(r,mt.email,n.message,e);break}break;case"url":ht(r,"uri",n.message,e);break;case"uuid":ht(r,"uuid",n.message,e);break;case"regex":Ze(r,n.regex,n.message,e);break;case"cuid":Ze(r,mt.cuid,n.message,e);break;case"cuid2":Ze(r,mt.cuid2,n.message,e);break;case"startsWith":Ze(r,RegExp(`^${Ku(n.value,e)}`),n.message,e);break;case"endsWith":Ze(r,RegExp(`${Ku(n.value,e)}$`),n.message,e);break;case"datetime":ht(r,"date-time",n.message,e);break;case"date":ht(r,"date",n.message,e);break;case"time":ht(r,"time",n.message,e);break;case"duration":ht(r,"duration",n.message,e);break;case"length":W(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),W(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Ze(r,RegExp(Ku(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&ht(r,"ipv4",n.message,e),n.version!=="v4"&&ht(r,"ipv6",n.message,e);break}case"base64url":Ze(r,mt.base64url,n.message,e);break;case"jwt":Ze(r,mt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Ze(r,mt.ipv4Cidr,n.message,e),n.version!=="v4"&&Ze(r,mt.ipv6Cidr,n.message,e);break}case"emoji":Ze(r,mt.emoji(),n.message,e);break;case"ulid":{Ze(r,mt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{ht(r,"binary",n.message,e);break}case"contentEncoding:base64":{W(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Ze(r,mt.base64,n.message,e);break}}break}case"nanoid":Ze(r,mt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function Ku(t,e){return e.patternStrategy==="escape"?Ow(t):t}var Rw=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Ow(t){let e="";for(let r=0;r<t.length;r++)Rw.has(t[r])||(e+="\\"),e+=t[r];return e}function ht(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):W(t,"format",e,r,n)}function Ze(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:rh(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):W(t,"pattern",rh(e,n),r,n)}function rh(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
67
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let m=n.external.registry.get(l[0])?.id;if(e!==l[0]&&m){i(l);continue}}if(this.metadataRegistry.get(l[0])?.id){i(l);continue}if(d.cycle){i(l);continue}if(d.count>1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let f=this.seen.get(l),m=f.def??f.schema,p={...m};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(m.allOf=m.allOf??[],m.allOf.push(g)):(Object.assign(m,g),Object.assign(m,p))}f.isParent||this.override({zodSchema:l,jsonSchema:m,path:f.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Cu(t,e){if(t instanceof ho){let n=new qs(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new qs(e);return r.process(t),r.emit(t,e)}function ke(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return ke(o.element,r);case"object":{for(let s in o.shape)if(ke(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(ke(s,r))return!0;return!1}case"intersection":return ke(o.left,r)||ke(o.right,r);case"tuple":{for(let s of o.items)if(ke(s,r))return!0;return!!(o.rest&&ke(o.rest,r))}case"record":return ke(o.keyType,r)||ke(o.valueType,r);case"map":return ke(o.keyType,r)||ke(o.valueType,r);case"set":return ke(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return ke(o.innerType,r);case"lazy":return ke(o.getter(),r);case"default":return ke(o.innerType,r);case"prefault":return ke(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return ke(o.in,r)||ke(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Fk=v("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");re.init(t,e),t.def=e,t.parse=(r,n)=>Ga(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Hr(t,r,n),t.parseAsync=async(r,n)=>Ya(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>qr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>nt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var Vk=v("ZodMiniObject",(t,e)=>{As.init(t,e),Fk.init(t,e),K.defineLazy(t,"shape",()=>e.shape)});function Iu(t,e){let r={type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},...K.normalizeParams(e)};return new Vk(r)}function at(t){return!!t._zod}function Br(t){let e=Object.values(t);if(e.length===0)return Iu({});let r=e.every(at),n=e.every(o=>!at(o));if(r)return Iu(t);if(n)return Aa(t);throw new Error("Mixed Zod versions detected in object shape.")}function sr(t,e){return at(t)?Hr(t,e):t.safeParse(e)}async function Fs(t,e){return at(t)?await qr(t,e):await t.safeParseAsync(e)}function ir(t){if(!t)return;let e;if(at(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function xn(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Br(t)}}if(at(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function Vs(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function $m(t){return t.description}function Tm(t){if(at(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function Bs(t){if(at(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 yo={};tt(yo,{ZodISODate:()=>Rm,ZodISODateTime:()=>Pm,ZodISODuration:()=>Cm,ZodISOTime:()=>Om,date:()=>Nu,datetime:()=>zu,duration:()=>ju,time:()=>Au});var Pm=v("ZodISODateTime",(t,e)=>{fm.init(t,e),pe.init(t,e)});function zu(t){return xm(Pm,t)}var Rm=v("ZodISODate",(t,e)=>{mm.init(t,e),pe.init(t,e)});function Nu(t){return Sm(Rm,t)}var Om=v("ZodISOTime",(t,e)=>{hm.init(t,e),pe.init(t,e)});function Au(t){return km(Om,t)}var Cm=v("ZodISODuration",(t,e)=>{gm.init(t,e),pe.init(t,e)});function ju(t){return bm(Cm,t)}var Im=(t,e)=>{Os.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Ka(t,r)},flatten:{value:r=>Ba(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},Nz=v("ZodError",Im),vo=v("ZodError",Im,{Parent:Error});var zm=Ja(vo),Nm=Wa(vo),Am=Xa(vo),jm=Qa(vo);var ye=v("ZodType",(t,e)=>(re.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)=>nt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>zm(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Am(t,r,n),t.parseAsync=async(r,n)=>Nm(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>jm(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Hb(r,n)),t.superRefine=r=>t.check(qb(r)),t.overwrite=r=>t.check(Fr(r)),t.optional=()=>_e(t),t.nullable=()=>Lm(t),t.nullish=()=>_e(Lm(t)),t.nonoptional=r=>Ab(t,r),t.array=()=>G(t),t.or=r=>ue([t,r]),t.and=r=>Js(t,r),t.transform=r=>Du(t,Fm(r)),t.default=r=>Ib(t,r),t.prefault=r=>Nb(t,r),t.catch=r=>Mb(t,r),t.pipe=r=>Du(t,r),t.readonly=()=>Zb(t),t.describe=r=>{let n=t.clone();return or.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return or.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return or.get(t);let n=t.clone();return or.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Zm=v("_ZodString",(t,e)=>{mo.init(t,e),ye.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(vu(...n)),t.includes=(...n)=>t.check(ku(...n)),t.startsWith=(...n)=>t.check(bu(...n)),t.endsWith=(...n)=>t.check(wu(...n)),t.min=(...n)=>t.check(vn(...n)),t.max=(...n)=>t.check(Us(...n)),t.length=(...n)=>t.check(Hs(...n)),t.nonempty=(...n)=>t.check(vn(1,...n)),t.lowercase=n=>t.check(xu(n)),t.uppercase=n=>t.check(Su(n)),t.trim=()=>t.check($u()),t.normalize=(...n)=>t.check(Eu(...n)),t.toLowerCase=()=>t.check(Tu()),t.toUpperCase=()=>t.check(Pu())}),eb=v("ZodString",(t,e)=>{mo.init(t,e),Zm.init(t,e),t.email=r=>t.check(Bc(tb,r)),t.url=r=>t.check(Yc(rb,r)),t.jwt=r=>t.check(pu(_b,r)),t.emoji=r=>t.check(Xc(nb,r)),t.guid=r=>t.check(Ms(Mm,r)),t.uuid=r=>t.check(Kc(Ks,r)),t.uuidv4=r=>t.check(Jc(Ks,r)),t.uuidv6=r=>t.check(Gc(Ks,r)),t.uuidv7=r=>t.check(Wc(Ks,r)),t.nanoid=r=>t.check(Qc(ob,r)),t.guid=r=>t.check(Ms(Mm,r)),t.cuid=r=>t.check(eu(sb,r)),t.cuid2=r=>t.check(tu(ib,r)),t.ulid=r=>t.check(ru(ab,r)),t.base64=r=>t.check(uu(mb,r)),t.base64url=r=>t.check(lu(hb,r)),t.xid=r=>t.check(nu(cb,r)),t.ksuid=r=>t.check(ou(ub,r)),t.ipv4=r=>t.check(su(lb,r)),t.ipv6=r=>t.check(iu(db,r)),t.cidrv4=r=>t.check(au(pb,r)),t.cidrv6=r=>t.check(cu(fb,r)),t.e164=r=>t.check(du(gb,r)),t.datetime=r=>t.check(zu(r)),t.date=r=>t.check(Nu(r)),t.time=r=>t.check(Au(r)),t.duration=r=>t.check(ju(r))});function y(t){return Vc(eb,t)}var pe=v("ZodStringFormat",(t,e)=>{ce.init(t,e),Zm.init(t,e)}),tb=v("ZodEmail",(t,e)=>{ac.init(t,e),pe.init(t,e)});var Mm=v("ZodGUID",(t,e)=>{sc.init(t,e),pe.init(t,e)});var Ks=v("ZodUUID",(t,e)=>{ic.init(t,e),pe.init(t,e)});var rb=v("ZodURL",(t,e)=>{cc.init(t,e),pe.init(t,e)});var nb=v("ZodEmoji",(t,e)=>{uc.init(t,e),pe.init(t,e)});var ob=v("ZodNanoID",(t,e)=>{lc.init(t,e),pe.init(t,e)});var sb=v("ZodCUID",(t,e)=>{dc.init(t,e),pe.init(t,e)});var ib=v("ZodCUID2",(t,e)=>{pc.init(t,e),pe.init(t,e)});var ab=v("ZodULID",(t,e)=>{fc.init(t,e),pe.init(t,e)});var cb=v("ZodXID",(t,e)=>{mc.init(t,e),pe.init(t,e)});var ub=v("ZodKSUID",(t,e)=>{hc.init(t,e),pe.init(t,e)});var lb=v("ZodIPv4",(t,e)=>{gc.init(t,e),pe.init(t,e)});var db=v("ZodIPv6",(t,e)=>{_c.init(t,e),pe.init(t,e)});var pb=v("ZodCIDRv4",(t,e)=>{yc.init(t,e),pe.init(t,e)});var fb=v("ZodCIDRv6",(t,e)=>{vc.init(t,e),pe.init(t,e)});var mb=v("ZodBase64",(t,e)=>{xc.init(t,e),pe.init(t,e)});var hb=v("ZodBase64URL",(t,e)=>{Sc.init(t,e),pe.init(t,e)});var gb=v("ZodE164",(t,e)=>{kc.init(t,e),pe.init(t,e)});var _b=v("ZodJWT",(t,e)=>{bc.init(t,e),pe.init(t,e)});var Um=v("ZodNumber",(t,e)=>{Ns.init(t,e),ye.init(t,e),t.gt=(n,o)=>t.check(Ls(n,o)),t.gte=(n,o)=>t.check(_o(n,o)),t.min=(n,o)=>t.check(_o(n,o)),t.lt=(n,o)=>t.check(Ds(n,o)),t.lte=(n,o)=>t.check(go(n,o)),t.max=(n,o)=>t.check(go(n,o)),t.int=n=>t.check(Dm(n)),t.safe=n=>t.check(Dm(n)),t.positive=n=>t.check(Ls(0,n)),t.nonnegative=n=>t.check(_o(0,n)),t.negative=n=>t.check(Ds(0,n)),t.nonpositive=n=>t.check(go(0,n)),t.multipleOf=(n,o)=>t.check(Zs(n,o)),t.step=(n,o)=>t.check(Zs(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 te(t){return fu(Um,t)}var yb=v("ZodNumberFormat",(t,e)=>{wc.init(t,e),Um.init(t,e)});function Dm(t){return mu(yb,t)}var vb=v("ZodBoolean",(t,e)=>{Ec.init(t,e),ye.init(t,e)});function Ee(t){return hu(vb,t)}var xb=v("ZodNull",(t,e)=>{$c.init(t,e),ye.init(t,e)});function Lu(t){return gu(xb,t)}var Sb=v("ZodUnknown",(t,e)=>{Tc.init(t,e),ye.init(t,e)});function fe(){return _u(Sb)}var kb=v("ZodNever",(t,e)=>{Pc.init(t,e),ye.init(t,e)});function bb(t){return yu(kb,t)}var wb=v("ZodArray",(t,e)=>{Rc.init(t,e),ye.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(vn(r,n)),t.nonempty=r=>t.check(vn(1,r)),t.max=(r,n)=>t.check(Us(r,n)),t.length=(r,n)=>t.check(Hs(r,n)),t.unwrap=()=>t.element});function G(t,e){return wm(wb,t,e)}var Hm=v("ZodObject",(t,e)=>{As.init(t,e),ye.init(t,e),K.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Ge(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:fe()}),t.loose=()=>t.clone({...t._zod.def,catchall:fe()}),t.strict=()=>t.clone({...t._zod.def,catchall:bb()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>K.extend(t,r),t.merge=r=>K.merge(t,r),t.pick=r=>K.pick(t,r),t.omit=r=>K.omit(t,r),t.partial=(...r)=>K.partial(Vm,t,r[0]),t.required=(...r)=>K.required(Bm,t,r[0])});function P(t,e){let r={type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},...K.normalizeParams(e)};return new Hm(r)}function Ue(t,e){return new Hm({type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},catchall:fe(),...K.normalizeParams(e)})}var qm=v("ZodUnion",(t,e)=>{js.init(t,e),ye.init(t,e),t.options=e.options});function ue(t,e){return new qm({type:"union",options:t,...K.normalizeParams(e)})}var Eb=v("ZodDiscriminatedUnion",(t,e)=>{qm.init(t,e),Oc.init(t,e)});function Zu(t,e,r){return new Eb({type:"union",options:e,discriminator:t,...K.normalizeParams(r)})}var $b=v("ZodIntersection",(t,e)=>{Cc.init(t,e),ye.init(t,e)});function Js(t,e){return new $b({type:"intersection",left:t,right:e})}var Tb=v("ZodRecord",(t,e)=>{Ic.init(t,e),ye.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function me(t,e,r){return new Tb({type:"record",keyType:t,valueType:e,...K.normalizeParams(r)})}var Mu=v("ZodEnum",(t,e)=>{zc.init(t,e),ye.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 Mu({...e,checks:[],...K.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 Mu({...e,checks:[],...K.normalizeParams(o),entries:s})}});function Ge(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Mu({type:"enum",entries:r,...K.normalizeParams(e)})}var Pb=v("ZodLiteral",(t,e)=>{Nc.init(t,e),ye.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 I(t,e){return new Pb({type:"literal",values:Array.isArray(t)?t:[t],...K.normalizeParams(e)})}var Rb=v("ZodTransform",(t,e)=>{Ac.init(t,e),ye.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(K.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(K.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 Fm(t){return new Rb({type:"transform",transform:t})}var Vm=v("ZodOptional",(t,e)=>{jc.init(t,e),ye.init(t,e),t.unwrap=()=>t._zod.def.innerType});function _e(t){return new Vm({type:"optional",innerType:t})}var Ob=v("ZodNullable",(t,e)=>{Mc.init(t,e),ye.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Lm(t){return new Ob({type:"nullable",innerType:t})}var Cb=v("ZodDefault",(t,e)=>{Dc.init(t,e),ye.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function Ib(t,e){return new Cb({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var zb=v("ZodPrefault",(t,e)=>{Lc.init(t,e),ye.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Nb(t,e){return new zb({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Bm=v("ZodNonOptional",(t,e)=>{Zc.init(t,e),ye.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Ab(t,e){return new Bm({type:"nonoptional",innerType:t,...K.normalizeParams(e)})}var jb=v("ZodCatch",(t,e)=>{Uc.init(t,e),ye.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Mb(t,e){return new jb({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Db=v("ZodPipe",(t,e)=>{Hc.init(t,e),ye.init(t,e),t.in=e.in,t.out=e.out});function Du(t,e){return new Db({type:"pipe",in:t,out:e})}var Lb=v("ZodReadonly",(t,e)=>{qc.init(t,e),ye.init(t,e)});function Zb(t){return new Lb({type:"readonly",innerType:t})}var Km=v("ZodCustom",(t,e)=>{Fc.init(t,e),ye.init(t,e)});function Ub(t){let e=new Pe({check:"custom"});return e._zod.check=t,e}function Jm(t,e){return Ru(Km,t??(()=>!0),e)}function Hb(t,e={}){return Ou(Km,t,e)}function qb(t){let e=Ub(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(K.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(K.issue(o))}},t(r.value,r)));return e}function Uu(t,e){return Du(Fm(t),e)}rt(ym());var qu="2025-11-25";var Gm=[qu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ar="io.modelcontextprotocol/related-task",Ws="2.0",Re=Jm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Wm=ue([y(),te().int()]),Ym=y(),Jz=Ue({ttl:ue([te(),Lu()]).optional(),pollInterval:te().optional()}),Fb=P({ttl:te().optional()}),Vb=P({taskId:y()}),Fu=Ue({progressToken:Wm.optional(),[ar]:Vb.optional()}),ot=P({_meta:Fu.optional()}),xo=ot.extend({task:Fb.optional()}),Xm=t=>xo.safeParse(t).success,Oe=P({method:y(),params:ot.loose().optional()}),ct=P({_meta:Fu.optional()}),ut=P({method:y(),params:ct.loose().optional()}),Ce=Ue({_meta:Fu.optional()}),Ys=ue([y(),te().int()]),Qm=P({jsonrpc:I(Ws),id:Ys,...Oe.shape}).strict(),Vu=t=>Qm.safeParse(t).success,eh=P({jsonrpc:I(Ws),...ut.shape}).strict(),th=t=>eh.safeParse(t).success,Bu=P({jsonrpc:I(Ws),id:Ys,result:Ce}).strict(),So=t=>Bu.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 Ku=P({jsonrpc:I(Ws),id:Ys.optional(),error:P({code:te().int(),message:y(),data:fe().optional()})}).strict();var rh=t=>Ku.safeParse(t).success;var nh=ue([Qm,eh,Bu,Ku]),Gz=ue([Bu,Ku]),Xs=Ce.strict(),Bb=ct.extend({requestId:Ys.optional(),reason:y().optional()}),Qs=ut.extend({method:I("notifications/cancelled"),params:Bb}),Kb=P({src:y(),mimeType:y().optional(),sizes:G(y()).optional(),theme:Ge(["light","dark"]).optional()}),ko=P({icons:G(Kb).optional()}),Sn=P({name:y(),title:y().optional()}),oh=Sn.extend({...Sn.shape,...ko.shape,version:y(),websiteUrl:y().optional(),description:y().optional()}),Jb=Js(P({applyDefaults:Ee().optional()}),me(y(),fe())),Gb=Uu(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Js(P({form:Jb.optional(),url:Re.optional()}),me(y(),fe()).optional())),Wb=Ue({list:Re.optional(),cancel:Re.optional(),requests:Ue({sampling:Ue({createMessage:Re.optional()}).optional(),elicitation:Ue({create:Re.optional()}).optional()}).optional()}),Yb=Ue({list:Re.optional(),cancel:Re.optional(),requests:Ue({tools:Ue({call:Re.optional()}).optional()}).optional()}),Xb=P({experimental:me(y(),Re).optional(),sampling:P({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:Gb.optional(),roots:P({listChanged:Ee().optional()}).optional(),tasks:Wb.optional()}),Qb=ot.extend({protocolVersion:y(),capabilities:Xb,clientInfo:oh}),Ju=Oe.extend({method:I("initialize"),params:Qb});var ew=P({experimental:me(y(),Re).optional(),logging:Re.optional(),completions:Re.optional(),prompts:P({listChanged:Ee().optional()}).optional(),resources:P({subscribe:Ee().optional(),listChanged:Ee().optional()}).optional(),tools:P({listChanged:Ee().optional()}).optional(),tasks:Yb.optional()}),tw=Ce.extend({protocolVersion:y(),capabilities:ew,serverInfo:oh,instructions:y().optional()}),Gu=ut.extend({method:I("notifications/initialized"),params:ct.optional()});var ei=Oe.extend({method:I("ping"),params:ot.optional()}),rw=P({progress:te(),total:_e(te()),message:_e(y())}),nw=P({...ct.shape,...rw.shape,progressToken:Wm}),ti=ut.extend({method:I("notifications/progress"),params:nw}),ow=ot.extend({cursor:Ym.optional()}),bo=Oe.extend({params:ow.optional()}),wo=Ce.extend({nextCursor:Ym.optional()}),sw=Ge(["working","input_required","completed","failed","cancelled"]),Eo=P({taskId:y(),status:sw,ttl:ue([te(),Lu()]),createdAt:y(),lastUpdatedAt:y(),pollInterval:_e(te()),statusMessage:_e(y())}),kn=Ce.extend({task:Eo}),iw=ct.merge(Eo),$o=ut.extend({method:I("notifications/tasks/status"),params:iw}),ri=Oe.extend({method:I("tasks/get"),params:ot.extend({taskId:y()})}),ni=Ce.merge(Eo),oi=Oe.extend({method:I("tasks/result"),params:ot.extend({taskId:y()})}),Wz=Ce.loose(),si=bo.extend({method:I("tasks/list")}),ii=wo.extend({tasks:G(Eo)}),ai=Oe.extend({method:I("tasks/cancel"),params:ot.extend({taskId:y()})}),sh=Ce.merge(Eo),ih=P({uri:y(),mimeType:_e(y()),_meta:me(y(),fe()).optional()}),ah=ih.extend({text:y()}),Wu=y().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),ch=ih.extend({blob:Wu}),To=Ge(["user","assistant"]),bn=P({audience:G(To).optional(),priority:te().min(0).max(1).optional(),lastModified:yo.datetime({offset:!0}).optional()}),uh=P({...Sn.shape,...ko.shape,uri:y(),description:_e(y()),mimeType:_e(y()),annotations:bn.optional(),_meta:_e(Ue({}))}),aw=P({...Sn.shape,...ko.shape,uriTemplate:y(),description:_e(y()),mimeType:_e(y()),annotations:bn.optional(),_meta:_e(Ue({}))}),ci=bo.extend({method:I("resources/list")}),cw=wo.extend({resources:G(uh)}),ui=bo.extend({method:I("resources/templates/list")}),uw=wo.extend({resourceTemplates:G(aw)}),Yu=ot.extend({uri:y()}),lw=Yu,li=Oe.extend({method:I("resources/read"),params:lw}),dw=Ce.extend({contents:G(ue([ah,ch]))}),pw=ut.extend({method:I("notifications/resources/list_changed"),params:ct.optional()}),fw=Yu,mw=Oe.extend({method:I("resources/subscribe"),params:fw}),hw=Yu,gw=Oe.extend({method:I("resources/unsubscribe"),params:hw}),_w=ct.extend({uri:y()}),yw=ut.extend({method:I("notifications/resources/updated"),params:_w}),vw=P({name:y(),description:_e(y()),required:_e(Ee())}),xw=P({...Sn.shape,...ko.shape,description:_e(y()),arguments:_e(G(vw)),_meta:_e(Ue({}))}),di=bo.extend({method:I("prompts/list")}),Sw=wo.extend({prompts:G(xw)}),kw=ot.extend({name:y(),arguments:me(y(),y()).optional()}),pi=Oe.extend({method:I("prompts/get"),params:kw}),Xu=P({type:I("text"),text:y(),annotations:bn.optional(),_meta:me(y(),fe()).optional()}),Qu=P({type:I("image"),data:Wu,mimeType:y(),annotations:bn.optional(),_meta:me(y(),fe()).optional()}),el=P({type:I("audio"),data:Wu,mimeType:y(),annotations:bn.optional(),_meta:me(y(),fe()).optional()}),bw=P({type:I("tool_use"),name:y(),id:y(),input:me(y(),fe()),_meta:me(y(),fe()).optional()}),ww=P({type:I("resource"),resource:ue([ah,ch]),annotations:bn.optional(),_meta:me(y(),fe()).optional()}),Ew=uh.extend({type:I("resource_link")}),tl=ue([Xu,Qu,el,Ew,ww]),$w=P({role:To,content:tl}),Tw=Ce.extend({description:y().optional(),messages:G($w)}),Pw=ut.extend({method:I("notifications/prompts/list_changed"),params:ct.optional()}),Rw=P({title:y().optional(),readOnlyHint:Ee().optional(),destructiveHint:Ee().optional(),idempotentHint:Ee().optional(),openWorldHint:Ee().optional()}),Ow=P({taskSupport:Ge(["required","optional","forbidden"]).optional()}),lh=P({...Sn.shape,...ko.shape,description:y().optional(),inputSchema:P({type:I("object"),properties:me(y(),Re).optional(),required:G(y()).optional()}).catchall(fe()),outputSchema:P({type:I("object"),properties:me(y(),Re).optional(),required:G(y()).optional()}).catchall(fe()).optional(),annotations:Rw.optional(),execution:Ow.optional(),_meta:me(y(),fe()).optional()}),fi=bo.extend({method:I("tools/list")}),Cw=wo.extend({tools:G(lh)}),mi=Ce.extend({content:G(tl).default([]),structuredContent:me(y(),fe()).optional(),isError:Ee().optional()}),Yz=mi.or(Ce.extend({toolResult:fe()})),Iw=xo.extend({name:y(),arguments:me(y(),fe()).optional()}),wn=Oe.extend({method:I("tools/call"),params:Iw}),zw=ut.extend({method:I("notifications/tools/list_changed"),params:ct.optional()}),Xz=P({autoRefresh:Ee().default(!0),debounceMs:te().int().nonnegative().default(300)}),Po=Ge(["debug","info","notice","warning","error","critical","alert","emergency"]),Nw=ot.extend({level:Po}),rl=Oe.extend({method:I("logging/setLevel"),params:Nw}),Aw=ct.extend({level:Po,logger:y().optional(),data:fe()}),jw=ut.extend({method:I("notifications/message"),params:Aw}),Mw=P({name:y().optional()}),Dw=P({hints:G(Mw).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),Lw=P({mode:Ge(["auto","required","none"]).optional()}),Zw=P({type:I("tool_result"),toolUseId:y().describe("The unique identifier for the corresponding tool call."),content:G(tl).default([]),structuredContent:P({}).loose().optional(),isError:Ee().optional(),_meta:me(y(),fe()).optional()}),Uw=Zu("type",[Xu,Qu,el]),Gs=Zu("type",[Xu,Qu,el,bw,Zw]),Hw=P({role:To,content:ue([Gs,G(Gs)]),_meta:me(y(),fe()).optional()}),qw=xo.extend({messages:G(Hw),modelPreferences:Dw.optional(),systemPrompt:y().optional(),includeContext:Ge(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:G(y()).optional(),metadata:Re.optional(),tools:G(lh).optional(),toolChoice:Lw.optional()}),Fw=Oe.extend({method:I("sampling/createMessage"),params:qw}),nl=Ce.extend({model:y(),stopReason:_e(Ge(["endTurn","stopSequence","maxTokens"]).or(y())),role:To,content:Uw}),ol=Ce.extend({model:y(),stopReason:_e(Ge(["endTurn","stopSequence","maxTokens","toolUse"]).or(y())),role:To,content:ue([Gs,G(Gs)])}),Vw=P({type:I("boolean"),title:y().optional(),description:y().optional(),default:Ee().optional()}),Bw=P({type:I("string"),title:y().optional(),description:y().optional(),minLength:te().optional(),maxLength:te().optional(),format:Ge(["email","uri","date","date-time"]).optional(),default:y().optional()}),Kw=P({type:Ge(["number","integer"]),title:y().optional(),description:y().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),Jw=P({type:I("string"),title:y().optional(),description:y().optional(),enum:G(y()),default:y().optional()}),Gw=P({type:I("string"),title:y().optional(),description:y().optional(),oneOf:G(P({const:y(),title:y()})),default:y().optional()}),Ww=P({type:I("string"),title:y().optional(),description:y().optional(),enum:G(y()),enumNames:G(y()).optional(),default:y().optional()}),Yw=ue([Jw,Gw]),Xw=P({type:I("array"),title:y().optional(),description:y().optional(),minItems:te().optional(),maxItems:te().optional(),items:P({type:I("string"),enum:G(y())}),default:G(y()).optional()}),Qw=P({type:I("array"),title:y().optional(),description:y().optional(),minItems:te().optional(),maxItems:te().optional(),items:P({anyOf:G(P({const:y(),title:y()}))}),default:G(y()).optional()}),eE=ue([Xw,Qw]),tE=ue([Ww,Yw,eE]),rE=ue([tE,Vw,Bw,Kw]),nE=xo.extend({mode:I("form").optional(),message:y(),requestedSchema:P({type:I("object"),properties:me(y(),rE),required:G(y()).optional()})}),oE=xo.extend({mode:I("url"),message:y(),elicitationId:y(),url:y().url()}),sE=ue([nE,oE]),iE=Oe.extend({method:I("elicitation/create"),params:sE}),aE=ct.extend({elicitationId:y()}),cE=ut.extend({method:I("notifications/elicitation/complete"),params:aE}),hi=Ce.extend({action:Ge(["accept","decline","cancel"]),content:Uu(t=>t===null?void 0:t,me(y(),ue([y(),te(),Ee(),G(y())])).optional())}),uE=P({type:I("ref/resource"),uri:y()});var lE=P({type:I("ref/prompt"),name:y()}),dE=ot.extend({ref:ue([lE,uE]),argument:P({name:y(),value:y()}),context:P({arguments:me(y(),y()).optional()}).optional()}),gi=Oe.extend({method:I("completion/complete"),params:dE});function dh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function ph(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var pE=Ce.extend({completion:Ue({values:G(y()).max(100),total:_e(te().int()),hasMore:_e(Ee())})}),fE=P({uri:y().startsWith("file://"),name:y().optional(),_meta:me(y(),fe()).optional()}),mE=Oe.extend({method:I("roots/list"),params:ot.optional()}),sl=Ce.extend({roots:G(fE)}),hE=ut.extend({method:I("notifications/roots/list_changed"),params:ct.optional()}),Qz=ue([ei,Ju,gi,rl,pi,di,ci,ui,li,mw,gw,wn,fi,ri,oi,si,ai]),eN=ue([Qs,ti,Gu,hE,$o]),tN=ue([Xs,nl,ol,hi,sl,ni,ii,kn]),rN=ue([ei,Fw,iE,mE,ri,oi,si,ai]),nN=ue([Qs,ti,jw,yw,pw,zw,Pw,$o,cE]),oN=ue([Xs,tw,pE,Tw,Sw,cw,uw,dw,mi,Cw,ni,ii,kn]),C=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 Hu(o.elicitations,r)}return new t(e,r,n)}},Hu=class extends C{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function cr(t){return t==="completed"||t==="failed"||t==="cancelled"}var mh=Symbol("Let zodToJsonSchema decide on which parser to use");var fh={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},hh=t=>typeof t=="string"?{...fh,name:t}:{...fh,...t};var gh=t=>{let e=hh(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function il(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function W(t,e,r,n,o){t[e]=r,il(t,e,n,o)}var _i=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function he(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?_i(e,t.currentPath):e.join("/")}}function _h(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==b.ZodAny&&(r.items=M(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&W(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&W(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(W(r,"minItems",t.exactLength.value,t.exactLength.message,e),W(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function yh(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?W(r,"minimum",n.value,n.message,e):W(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),W(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?W(r,"maximum",n.value,n.message,e):W(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),W(r,"maximum",n.value,n.message,e));break;case"multipleOf":W(r,"multipleOf",n.value,n.message,e);break}return r}function vh(){return{type:"boolean"}}function yi(t,e){return M(t.type._def,e)}var xh=(t,e)=>M(t.innerType._def,e);function al(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>al(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return gE(t,e)}}var gE=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":W(r,"minimum",n.value,n.message,e);break;case"max":W(r,"maximum",n.value,n.message,e);break}return r};function Sh(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function kh(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):he(e)}function bh(t){return{type:"string",enum:Array.from(t.values)}}var _E=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function wh(t,e){let r=[M(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),M(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(_E(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function Eh(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var cl,yt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(cl===void 0&&(cl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),cl),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function vi(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":W(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":W(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":vt(r,"email",n.message,e);break;case"format:idn-email":vt(r,"idn-email",n.message,e);break;case"pattern:zod":He(r,yt.email,n.message,e);break}break;case"url":vt(r,"uri",n.message,e);break;case"uuid":vt(r,"uuid",n.message,e);break;case"regex":He(r,n.regex,n.message,e);break;case"cuid":He(r,yt.cuid,n.message,e);break;case"cuid2":He(r,yt.cuid2,n.message,e);break;case"startsWith":He(r,RegExp(`^${ul(n.value,e)}`),n.message,e);break;case"endsWith":He(r,RegExp(`${ul(n.value,e)}$`),n.message,e);break;case"datetime":vt(r,"date-time",n.message,e);break;case"date":vt(r,"date",n.message,e);break;case"time":vt(r,"time",n.message,e);break;case"duration":vt(r,"duration",n.message,e);break;case"length":W(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),W(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{He(r,RegExp(ul(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&vt(r,"ipv4",n.message,e),n.version!=="v4"&&vt(r,"ipv6",n.message,e);break}case"base64url":He(r,yt.base64url,n.message,e);break;case"jwt":He(r,yt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&He(r,yt.ipv4Cidr,n.message,e),n.version!=="v4"&&He(r,yt.ipv6Cidr,n.message,e);break}case"emoji":He(r,yt.emoji(),n.message,e);break;case"ulid":{He(r,yt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{vt(r,"binary",n.message,e);break}case"contentEncoding:base64":{W(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{He(r,yt.base64,n.message,e);break}}break}case"nanoid":He(r,yt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function ul(t,e){return e.patternStrategy==="escape"?vE(t):t}var yE=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function vE(t){let e="";for(let r=0;r<t.length;r++)yE.has(t[r])||(e+="\\"),e+=t[r];return e}function vt(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):W(t,"format",e,r,n)}function He(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:$h(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):W(t,"pattern",$h(e,n),r,n)}function $h(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
57
68
  ]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
58
69
  ]))`;continue}}if(r.s&&n[c]==="."){o+=i?`${n[c]}\r
59
70
  `:`[${n[c]}\r
60
- ]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function ai(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??_e(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===S.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=ii(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===S.ZodBranded&&t.keyType._def.type._def.typeName===S.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=si(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function nh(t,e){if(e.mapStrategy==="record")return ai(t,e);let r=M(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||_e(e),n=M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||_e(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function oh(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function sh(t){return t.target==="openAi"?void 0:{not:_e({...t,currentPath:[...t.currentPath,"not"]})}}function ih(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var _o={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ch(t,e){if(e.target==="openApi3")return ah(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in _o&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=_o[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return ah(t,e)}var ah=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>M(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function uh(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:_o[t.innerType._def.typeName],nullable:!0}:{type:[_o[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=M(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function lh(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",Fu(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?W(r,"minimum",n.value,n.message,e):W(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),W(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?W(r,"maximum",n.value,n.message,e):W(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),W(r,"maximum",n.value,n.message,e));break;case"multipleOf":W(r,"multipleOf",n.value,n.message,e);break}return r}function dh(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=Cw(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=M(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=Iw(t,e);return i!==void 0&&(n.additionalProperties=i),n}function Iw(t,e){if(t.catchall._def.typeName!=="ZodNever")return M(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function Cw(t){try{return t.isOptional()}catch{return!0}}var ph=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return M(t.innerType._def,e);let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:_e(e)},r]}:_e(e)};var fh=(t,e)=>{if(e.pipeStrategy==="input")return M(t.in._def,e);if(e.pipeStrategy==="output")return M(t.out._def,e);let r=M(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=M(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function mh(t,e){return M(t.type._def,e)}function hh(t,e){let n={type:"array",uniqueItems:!0,items:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&W(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&W(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function gh(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:M(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function _h(t){return{not:_e(t)}}function yh(t){return _e(t)}var vh=(t,e)=>M(t.innerType._def,e);var xh=(t,e,r)=>{switch(e){case S.ZodString:return ii(t,r);case S.ZodNumber:return lh(t,r);case S.ZodObject:return dh(t,r);case S.ZodBigInt:return Gm(t,r);case S.ZodBoolean:return Jm();case S.ZodDate:return Vu(t,r);case S.ZodUndefined:return _h(r);case S.ZodNull:return ih(r);case S.ZodArray:return Km(t,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return ch(t,r);case S.ZodIntersection:return eh(t,r);case S.ZodTuple:return gh(t,r);case S.ZodRecord:return ai(t,r);case S.ZodLiteral:return th(t,r);case S.ZodEnum:return Qm(t);case S.ZodNativeEnum:return oh(t);case S.ZodNullable:return uh(t,r);case S.ZodOptional:return ph(t,r);case S.ZodMap:return nh(t,r);case S.ZodSet:return hh(t,r);case S.ZodLazy:return()=>t.getter()._def;case S.ZodPromise:return mh(t,r);case S.ZodNaN:case S.ZodNever:return sh(r);case S.ZodEffects:return Xm(t,r);case S.ZodAny:return _e(r);case S.ZodUnknown:return yh(r);case S.ZodDefault:return Ym(t,r);case S.ZodBranded:return si(t,r);case S.ZodReadonly:return vh(t,r);case S.ZodCatch:return Wm(t,r);case S.ZodPipeline:return fh(t,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(e)}};function M(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==Fm)return a}if(n&&!r){let a=zw(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=xh(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&Nw(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var zw=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:oi(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),_e(e)):e.$refStrategy==="seen"?_e(e):void 0}},Nw=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var Gu=(t,e)=>{let r=Bm(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:M(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??_e(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=M(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??_e(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function Aw(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function Ju(t,e){return st(t)?hu(t,{target:Aw(e?.target),io:e?.pipeStrategy??"input"}):Gu(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function Wu(t){let r=nr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=zs(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Yu(t,e){let r=rr(t,e);if(!r.success)throw r.error;return r.data}var jw=6e4,ci=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(Ls,r=>{this._oncancel(r)}),this.setNotificationHandler(qs,r=>{this._onprogress(r)}),this.setRequestHandler(Us,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Hs,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new I(N.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Vs,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,f=new I(d.error.code,d.error.message,d.error.data);l(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new I(N.InvalidParams,`Task not found: ${s}`);if(!sr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(sr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[or]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Bs,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new I(N.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Gs,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new I(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(sr(o.status))throw new I(N.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new I(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof I?o:new I(N.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),I.fromError(N.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),co(s)||Cm(s)?this._onresponse(s):Ru(s)?this._onrequest(s,i):Im(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=I.fromError(N.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[or]?.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=Pm(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(i.signal.aborted)throw new I(N.ConnectionClosed,"Request was cancelled");let m={...f,relatedRequestId:e.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let p=m.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:N.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),co(e))n(e);else{let i=new I(e.error.code,e.error.message,e.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(co(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),co(e))o(e);else{let i=I.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof I?i:new I(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,gn,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new I(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},sr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new I(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new I(N.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof I?i:new I(N.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=x=>{l(x)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(x){d(x);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[or]:c}});let p=x=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(x)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>this._onerror(new Error(`Failed to send cancellation: ${w}`)));let b=x instanceof I?x:new I(N.RequestTimeout,String(x));l(b)};this._responseHandlers.set(f,x=>{if(!n?.signal?.aborted){if(x instanceof Error)return l(x);try{let b=rr(r,x.result);b.success?u(b.data):l(b.error)}catch(b){l(b)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let h=n?.timeout??jw,g=()=>p(I.fromError(N.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let y=c?.taskId;if(y){let x=b=>{let w=this._responseHandlers.get(f);w?w(b):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,x),this._enqueueTaskMessage(y,{type:"request",message:m,timestamp:Date.now()}).catch(b=>{this._cleanupTimeout(f),l(b)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(x=>{this._cleanupTimeout(f),l(x)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Fs,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},Ks,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Am,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||{},[or]: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||{},[or]: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||{},[or]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=Wu(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=Yu(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=Wu(e);this._notificationHandlers.set(n,o=>{let s=Yu(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"&&Ru(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new I(N.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new I(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new I(N.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new I(N.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=mo.parse({method:"notifications/tasks/status",params:a});await this.notification(c),sr(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new I(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(sr(a.status))throw new I(N.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=mo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),sr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function bh(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function kh(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];bh(i)&&bh(s)?r[o]={...i,...s}:r[o]=s}return r}var cy=Ep(jd(),1),uy=Ep(ay(),1);function ER(){let t=new cy.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,uy.default)(t),t}var Fi=class{constructor(e){this._ajv=e??ER()}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 Vi=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function ly(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 dy(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 Bi=class extends ci{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(go.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 Fi,this.setRequestHandler(Cu,n=>this._oninitialize(n)),this.setNotificationHandler(zu,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Lu,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=go.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Vi(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=kh(this._capabilities,e)}setRequestHandler(e,r){let o=nr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(st(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=rr(yn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new I(N.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=rr(gn,f);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new I(N.InvalidParams,`Invalid task creation result: ${h}`)}return p.data}let m=rr(ti,f);if(!m.success){let p=m.error instanceof Error?m.error.message:String(m.error);throw new I(N.InvalidParams,`Invalid tools/call result: ${p}`)}return m.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){dy(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&ly(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:$m.includes(r)?r:Eu,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"},Zs)}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},qu,r):this.request({method:"sampling/createMessage",params:e},Uu,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},ri,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},ri,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new I(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof I?i:new I(N.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},Hu,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 fy=Symbol.for("mcp.completable");function Fd(t){return!!t&&typeof t=="object"&&fy in t}function my(t){return t[fy]?.complete}var py;(function(t){t.Completable="McpCompletable"})(py||(py={}));var PR=/^[A-Za-z0-9._-]{1,128}$/;function RR(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!PR.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function OR(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function Vd(t){let e=RR(t);return OR(t,e.warnings),e.isValid}var Ki=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var Gi=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Bi(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Ki(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(mr(ei)),this.server.assertCanSetRequestHandler(mr(yn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ei,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=mn(r.inputSchema);return o?Ju(o,{strictUnions:!0,pipeStrategy:"input"}):IR})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=mn(r.outputSchema);o&&(n.outputSchema=Ju(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(yn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new I(N.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new I(N.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new I(N.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new I(N.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof I&&n.code===N.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=mn(e.inputSchema)??e.inputSchema,i=await Is(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=Cs(a);throw new I(N.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new I(N.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=mn(e.outputSchema),s=await Is(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=Cs(i);throw new I(N.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(f=>setTimeout(f,l));let d=await n.taskStore.getTask(c);if(!d)throw new I(N.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(mr(ni)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(ni,async e=>{switch(e.params.ref.type){case"ref/prompt":return Um(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return qm(e),this.handleResourceCompletion(e,e.params.ref);default:throw new I(N.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new I(N.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new I(N.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Ko;let s=nr(n.argsSchema)?.[e.params.argument.name];if(!Fd(s))return Ko;let i=my(s);if(!i)return Ko;let a=await i(e.params.argument.value,e.params.context);return gy(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Ko;throw new I(N.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return Ko;let s=await o(e.params.argument.value,e.params.context);return gy(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(mr(Js)),this.server.assertCanSetRequestHandler(mr(Ws)),this.server.assertCanSetRequestHandler(mr(Ys)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Js,async(e,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(Ws,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Ys,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new I(N.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new I(N.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(mr(Xs)),this.server.assertCanSetRequestHandler(mr(Qs)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Xs,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?zR(r.argsSchema):void 0}))})),this.server.setRequestHandler(Qs,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new I(N.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new I(N.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=mn(n.argsSchema),s=await Is(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=Cs(c);throw new I(N.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Ur(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==e&&(delete this._registeredPrompts[e],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=Ur(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof Fe?c._def?.innerType:c;return Fd(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){Vd(e);let l={title:r,description:n,inputSchema:hy(o),outputSchema:hy(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&Vd(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Ur(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Ur(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];Bd(c)?(o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!Bd(r[0])&&(i=r.shift())):typeof c=="object"&&c!==null&&(i=r.shift())}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var IR={type:"object",properties:{}};function _y(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function CR(t){return"_def"in t||"_zod"in t||_y(t)}function Bd(t){return typeof t!="object"||t===null||CR(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(_y)}function hy(t){if(t)return Bd(t)?Ur(t):t}function zR(t){let e=nr(t);return e?Object.entries(e).map(([r,n])=>{let o=rm(n),s=nm(n);return{name:r,description:o,required:!s}}):[]}function mr(t){let r=nr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=zs(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function gy(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var Ko={completion:{values:[],hasMore:!1}};import vy from"node:process";var Ji=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
61
- `);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),NR(r)}clear(){this._buffer=void 0}};function NR(t){return zm.parse(JSON.parse(t))}function yy(t){return JSON.stringify(t)+`
62
- `}var Wi=class{constructor(e=vy.stdin,r=vy.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new Ji,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let 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=yy(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as Sp}from"node:module";import{createHash as IO}from"node:crypto";import{existsSync as Ov,unlinkSync as CO,readdirSync as zO,readFileSync as NO,rmSync as AO}from"node:fs";import{join as da,dirname as os,resolve as jO}from"node:path";import{fileURLToPath as wp}from"node:url";import{homedir as Iv,tmpdir as MO}from"node:os";import{spawn as MR,execSync as Ey}from"node:child_process";import{mkdtempSync as DR,writeFileSync as wy,rmSync as $y,existsSync as Ty}from"node:fs";import{join as Xi,resolve as ZR}from"node:path";import{tmpdir as LR}from"node:os";import{execSync as Kd}from"node:child_process";import{existsSync as AR}from"node:fs";var xy=process.platform==="win32";function Ce(t){try{let e=xy?`where ${t}`:`command -v ${t}`;return Kd(e,{stdio:"pipe"}),!0}catch{return!1}}function jR(){let t=["C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\usr\\bin\\bash.exe"];for(let e of t)if(AR(e))return e;try{let r=Kd("where bash",{encoding:"utf-8",stdio:"pipe"}).trim().split(/\r?\n/).map(n=>n.trim()).filter(Boolean);for(let n of r){let o=n.toLowerCase();if(!(o.includes("system32")||o.includes("windowsapps")))return n}return null}catch{return null}}function bt(t){try{return Kd(`${t} --version`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function Yi(){let t=Ce("bun");return{javascript:t?"bun":"node",typescript:t?"bun":Ce("tsx")?"tsx":Ce("ts-node")?"ts-node":null,python:Ce("python3")?"python3":Ce("python")?"python":null,shell:xy?jR()??(Ce("sh")?"sh":Ce("powershell")?"powershell":"cmd.exe"):Ce("bash")?"bash":"sh",ruby:Ce("ruby")?"ruby":null,go:Ce("go")?"go":null,rust:Ce("rustc")?"rustc":null,php:Ce("php")?"php":null,perl:Ce("perl")?"perl":null,r:Ce("Rscript")?"Rscript":Ce("r")?"r":null,elixir:Ce("elixir")?"elixir":null}}function Gd(){return Ce("bun")}function by(t){let e=[],r=t.javascript==="bun";return e.push(` JavaScript: ${t.javascript} (${bt(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${bt(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${bt(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${bt(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${bt(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${bt(t.go)})`),t.rust&&e.push(` Rust: ${t.rust} (${bt(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${bt(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${bt(t.perl)})`),t.r&&e.push(` R: ${t.r} (${bt(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${bt(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(`
63
- `)}function ky(t){let e=["javascript","shell"];return t.typescript&&e.push("typescript"),t.python&&e.push("python"),t.ruby&&e.push("ruby"),t.go&&e.push("go"),t.rust&&e.push("rust"),t.php&&e.push("php"),t.perl&&e.push("perl"),t.r&&e.push("r"),t.elixir&&e.push("elixir"),e}function Sy(t,e,r){switch(e){case"javascript":return t.javascript==="bun"?["bun","run",r]:["node",r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript==="bun"?["bun","run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}function Go(t,e){if(Buffer.byteLength(t)<=e)return t;let r=t.split(`
71
+ ]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function xi(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===b.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??he(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===b.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=vi(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===b.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===b.ZodBranded&&t.keyType._def.type._def.typeName===b.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=yi(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function Th(t,e){if(e.mapStrategy==="record")return xi(t,e);let r=M(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||he(e),n=M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||he(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Ph(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Rh(t){return t.target==="openAi"?void 0:{not:he({...t,currentPath:[...t.currentPath,"not"]})}}function Oh(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Ro={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Ih(t,e){if(e.target==="openApi3")return Ch(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Ro&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Ro[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return Ch(t,e)}var Ch=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>M(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function zh(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:Ro[t.innerType._def.typeName],nullable:!0}:{type:[Ro[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=M(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Nh(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",il(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?W(r,"minimum",n.value,n.message,e):W(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),W(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?W(r,"maximum",n.value,n.message,e):W(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),W(r,"maximum",n.value,n.message,e));break;case"multipleOf":W(r,"multipleOf",n.value,n.message,e);break}return r}function Ah(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=SE(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=M(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=xE(t,e);return i!==void 0&&(n.additionalProperties=i),n}function xE(t,e){if(t.catchall._def.typeName!=="ZodNever")return M(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function SE(t){try{return t.isOptional()}catch{return!0}}var jh=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return M(t.innerType._def,e);let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:he(e)},r]}:he(e)};var Mh=(t,e)=>{if(e.pipeStrategy==="input")return M(t.in._def,e);if(e.pipeStrategy==="output")return M(t.out._def,e);let r=M(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=M(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function Dh(t,e){return M(t.type._def,e)}function Lh(t,e){let n={type:"array",uniqueItems:!0,items:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&W(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&W(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function Zh(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:M(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Uh(t){return{not:he(t)}}function Hh(t){return he(t)}var qh=(t,e)=>M(t.innerType._def,e);var Fh=(t,e,r)=>{switch(e){case b.ZodString:return vi(t,r);case b.ZodNumber:return Nh(t,r);case b.ZodObject:return Ah(t,r);case b.ZodBigInt:return yh(t,r);case b.ZodBoolean:return vh();case b.ZodDate:return al(t,r);case b.ZodUndefined:return Uh(r);case b.ZodNull:return Oh(r);case b.ZodArray:return _h(t,r);case b.ZodUnion:case b.ZodDiscriminatedUnion:return Ih(t,r);case b.ZodIntersection:return wh(t,r);case b.ZodTuple:return Zh(t,r);case b.ZodRecord:return xi(t,r);case b.ZodLiteral:return Eh(t,r);case b.ZodEnum:return bh(t);case b.ZodNativeEnum:return Ph(t);case b.ZodNullable:return zh(t,r);case b.ZodOptional:return jh(t,r);case b.ZodMap:return Th(t,r);case b.ZodSet:return Lh(t,r);case b.ZodLazy:return()=>t.getter()._def;case b.ZodPromise:return Dh(t,r);case b.ZodNaN:case b.ZodNever:return Rh(r);case b.ZodEffects:return kh(t,r);case b.ZodAny:return he(r);case b.ZodUnknown:return Hh(r);case b.ZodDefault:return Sh(t,r);case b.ZodBranded:return yi(t,r);case b.ZodReadonly:return qh(t,r);case b.ZodCatch:return xh(t,r);case b.ZodPipeline:return Mh(t,r);case b.ZodFunction:case b.ZodVoid:case b.ZodSymbol:return;default:return(n=>{})(e)}};function M(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==mh)return a}if(n&&!r){let a=kE(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=Fh(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&bE(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var kE=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:_i(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),he(e)):e.$refStrategy==="seen"?he(e):void 0}},bE=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var ll=(t,e)=>{let r=gh(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:M(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??he(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=M(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??he(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function wE(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function dl(t,e){return at(t)?Cu(t,{target:wE(e?.target),io:e?.pipeStrategy??"input"}):ll(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function pl(t){let r=ir(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Bs(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function fl(t,e){let r=sr(t,e);if(!r.success)throw r.error;return r.data}var EE=6e4,Si=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(Qs,r=>{this._oncancel(r)}),this.setNotificationHandler(ti,r=>{this._onprogress(r)}),this.setRequestHandler(ei,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(ri,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new C(N.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(oi,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,f=new C(d.error.code,d.error.message,d.error.data);l(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new C(N.InvalidParams,`Task not found: ${s}`);if(!cr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(cr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[ar]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(si,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 C(N.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ai,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new C(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(cr(o.status))throw new C(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 C(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof C?o:new C(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),C.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),So(s)||rh(s)?this._onresponse(s):Vu(s)?this._onrequest(s,i):th(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=C.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?.[ar]?.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=Xm(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(i.signal.aborted)throw new C(N.ConnectionClosed,"Request was cancelled");let m={...f,relatedRequestId:e.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let p=m.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:N.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),So(e))n(e);else{let i=new C(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(So(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),So(e))o(e);else{let i=C.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 C?i:new C(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,kn,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new C(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},cr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new C(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new C(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 C?i:new C(N.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=x=>{l(x)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(x){d(x);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[ar]:c}});let p=x=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(x)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>this._onerror(new Error(`Failed to send cancellation: ${w}`)));let S=x instanceof C?x:new C(N.RequestTimeout,String(x));l(S)};this._responseHandlers.set(f,x=>{if(!n?.signal?.aborted){if(x instanceof Error)return l(x);try{let S=sr(r,x.result);S.success?u(S.data):l(S.error)}catch(S){l(S)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let h=n?.timeout??EE,g=()=>p(C.fromError(N.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let x=S=>{let w=this._responseHandlers.get(f);w?w(S):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,x),this._enqueueTaskMessage(_,{type:"request",message:m,timestamp:Date.now()}).catch(S=>{this._cleanupTimeout(f),l(S)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(x=>{this._cleanupTimeout(f),l(x)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},ni,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},ii,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},sh,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||{},[ar]: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||{},[ar]: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||{},[ar]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=pl(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=fl(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=pl(e);this._notificationHandlers.set(n,o=>{let s=fl(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"&&Vu(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new C(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 C(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new C(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 C(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=$o.parse({method:"notifications/tasks/status",params:a});await this.notification(c),cr(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 C(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(cr(a.status))throw new C(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=$o.parse({method:"notifications/tasks/status",params:c});await this.notification(u),cr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Vh(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Bh(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];Vh(i)&&Vh(s)?r[o]={...i,...s}:r[o]=s}return r}var Iy=Yp(Xd(),1),zy=Yp(Cy(),1);function gO(){let t=new Iy.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,zy.default)(t),t}var na=class{constructor(e){this._ajv=e??gO()}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 oa=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function Ny(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 Ay(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 sa=class extends Si{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Po.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 na,this.setRequestHandler(Ju,n=>this._oninitialize(n)),this.setNotificationHandler(Gu,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(rl,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Po.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new oa(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Bh(this._capabilities,e)}setRequestHandler(e,r){let o=ir(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(at(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=sr(wn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new C(N.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=sr(kn,f);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new C(N.InvalidParams,`Invalid task creation result: ${h}`)}return p.data}let m=sr(mi,f);if(!m.success){let p=m.error instanceof Error?m.error.message:String(m.error);throw new C(N.InvalidParams,`Invalid tools/call result: ${p}`)}return m.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){Ay(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&Ny(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:Gm.includes(r)?r:qu,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"},Xs)}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},ol,r):this.request({method:"sampling/createMessage",params:e},nl,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},hi,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},hi,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new C(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof C?i:new C(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},sl,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 My=Symbol.for("mcp.completable");function ip(t){return!!t&&typeof t=="object"&&My in t}function Dy(t){return t[My]?.complete}var jy;(function(t){t.Completable="McpCompletable"})(jy||(jy={}));var _O=/^[A-Za-z0-9._-]{1,128}$/;function yO(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!_O.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function vO(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function ap(t){let e=yO(t);return vO(t,e.warnings),e.isValid}var ia=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var aa=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new sa(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ia(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(_r(fi)),this.server.assertCanSetRequestHandler(_r(wn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(fi,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=xn(r.inputSchema);return o?dl(o,{strictUnions:!0,pipeStrategy:"input"}):xO})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=xn(r.outputSchema);o&&(n.outputSchema=dl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(wn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new C(N.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new C(N.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new C(N.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new C(N.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof C&&n.code===N.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=xn(e.inputSchema)??e.inputSchema,i=await Fs(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=Vs(a);throw new C(N.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new C(N.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=xn(e.outputSchema),s=await Fs(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=Vs(i);throw new C(N.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(f=>setTimeout(f,l));let d=await n.taskStore.getTask(c);if(!d)throw new C(N.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(_r(gi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(gi,async e=>{switch(e.params.ref.type){case"ref/prompt":return dh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return ph(e),this.handleResourceCompletion(e,e.params.ref);default:throw new C(N.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new C(N.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new C(N.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return ss;let s=ir(n.argsSchema)?.[e.params.argument.name];if(!ip(s))return ss;let i=Dy(s);if(!i)return ss;let a=await i(e.params.argument.value,e.params.context);return Zy(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return ss;throw new C(N.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return ss;let s=await o(e.params.argument.value,e.params.context);return Zy(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(_r(ci)),this.server.assertCanSetRequestHandler(_r(ui)),this.server.assertCanSetRequestHandler(_r(li)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(ci,async(e,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(ui,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(li,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new C(N.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new C(N.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(_r(di)),this.server.assertCanSetRequestHandler(_r(pi)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(di,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?kO(r.argsSchema):void 0}))})),this.server.setRequestHandler(pi,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new C(N.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new C(N.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=xn(n.argsSchema),s=await Fs(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=Vs(c);throw new C(N.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Br(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==e&&(delete this._registeredPrompts[e],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=Br(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof Ke?c._def?.innerType:c;return ip(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){ap(e);let l={title:r,description:n,inputSchema:Ly(o),outputSchema:Ly(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&ap(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Br(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Br(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];cp(c)?(o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!cp(r[0])&&(i=r.shift())):typeof c=="object"&&c!==null&&(i=r.shift())}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var xO={type:"object",properties:{}};function Uy(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function SO(t){return"_def"in t||"_zod"in t||Uy(t)}function cp(t){return typeof t!="object"||t===null||SO(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(Uy)}function Ly(t){if(t)return cp(t)?Br(t):t}function kO(t){let e=ir(t);return e?Object.entries(e).map(([r,n])=>{let o=$m(n),s=Tm(n);return{name:r,description:o,required:!s}}):[]}function _r(t){let r=ir(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Bs(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function Zy(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var ss={completion:{values:[],hasMore:!1}};import qy from"node:process";var ca=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
72
+ `);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),bO(r)}clear(){this._buffer=void 0}};function bO(t){return nh.parse(JSON.parse(t))}function Hy(t){return JSON.stringify(t)+`
73
+ `}var ua=class{constructor(e=qy.stdin,r=qy.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new ca,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=Hy(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as Ra}from"node:module";import{createHash as NC}from"node:crypto";import{existsSync as yx,unlinkSync as AC,readdirSync as jC,readFileSync as MC,rmSync as DC}from"node:fs";import{join as $a,dirname as ys,resolve as LC}from"node:path";import{fileURLToPath as Kp}from"node:url";import{homedir as vx,tmpdir as ZC}from"node:os";import{spawn as $O,execSync as Yy}from"node:child_process";import{mkdtempSync as TO,writeFileSync as Jy,rmSync as Gy,existsSync as Wy}from"node:fs";import{join as da,resolve as PO}from"node:path";import{tmpdir as RO}from"node:os";import{execSync as up}from"node:child_process";import{existsSync as wO}from"node:fs";var Fy=process.platform==="win32";function Ne(t){try{let e=Fy?`where ${t}`:`command -v ${t}`;return up(e,{stdio:"pipe"}),!0}catch{return!1}}function EO(){let t=["C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\usr\\bin\\bash.exe"];for(let e of t)if(wO(e))return e;try{let r=up("where bash",{encoding:"utf-8",stdio:"pipe"}).trim().split(/\r?\n/).map(n=>n.trim()).filter(Boolean);for(let n of r){let o=n.toLowerCase();if(!(o.includes("system32")||o.includes("windowsapps")))return n}return null}catch{return null}}function Et(t){try{return up(`${t} --version`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function la(){let t=Ne("bun");return{javascript:t?"bun":"node",typescript:t?"bun":Ne("tsx")?"tsx":Ne("ts-node")?"ts-node":null,python:Ne("python3")?"python3":Ne("python")?"python":null,shell:Fy?EO()??(Ne("sh")?"sh":Ne("powershell")?"powershell":"cmd.exe"):Ne("bash")?"bash":"sh",ruby:Ne("ruby")?"ruby":null,go:Ne("go")?"go":null,rust:Ne("rustc")?"rustc":null,php:Ne("php")?"php":null,perl:Ne("perl")?"perl":null,r:Ne("Rscript")?"Rscript":Ne("r")?"r":null,elixir:Ne("elixir")?"elixir":null}}function lp(){return Ne("bun")}function Vy(t){let e=[],r=t.javascript==="bun";return e.push(` JavaScript: ${t.javascript} (${Et(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${Et(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${Et(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${Et(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${Et(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${Et(t.go)})`),t.rust&&e.push(` Rust: ${t.rust} (${Et(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${Et(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${Et(t.perl)})`),t.r&&e.push(` R: ${t.r} (${Et(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${Et(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(`
74
+ `)}function By(t){let e=["javascript","shell"];return t.typescript&&e.push("typescript"),t.python&&e.push("python"),t.ruby&&e.push("ruby"),t.go&&e.push("go"),t.rust&&e.push("rust"),t.php&&e.push("php"),t.perl&&e.push("perl"),t.r&&e.push("r"),t.elixir&&e.push("elixir"),e}function Ky(t,e,r){switch(e){case"javascript":return t.javascript==="bun"?["bun","run",r]:["node",r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript==="bun"?["bun","run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}function is(t,e){if(Buffer.byteLength(t)<=e)return t;let r=t.split(`
64
75
  `),n=Math.floor(e*.6),o=e-n,s=[],i=0;for(let f of r){let m=Buffer.byteLength(f)+1;if(i+m>n)break;s.push(f),i+=m}let a=[],c=0;for(let f=r.length-1;f>=s.length;f--){let m=Buffer.byteLength(r[f])+1;if(c+m>o)break;a.unshift(r[f]),c+=m}let u=r.length-s.length-a.length,l=Buffer.byteLength(t)-i-c,d=`
65
76
 
66
77
  ... [${u} lines / ${(l/1024).toFixed(1)}KB truncated \u2014 showing first ${s.length} + last ${a.length} lines] ...
67
78
 
68
79
  `;return s.join(`
69
80
  `)+d+a.join(`
70
- `)}var Nt=process.platform==="win32";function Jd(t){if(Nt&&t.pid)try{Ey(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var Qi=class{#e;#t;#r;#n;#o=new Set;constructor(e){this.#e=e?.maxOutputBytes??102400,this.#t=e?.hardCapBytes??100*1024*1024,this.#r=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??Yi()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(Nt?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=DR(Xi(LR(),"ctx-mode-"));try{let a=this.#i(i,n,r),c=Sy(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#r:i,l=await this.#s(c,u,o,s);if(!l.backgrounded)try{$y(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{$y(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=ZR(this.#r,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main
81
+ `)}var $t=process.platform==="win32";function dp(t){if($t&&t.pid)try{Yy(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var pa=class{#e;#t;#r;#n;#o=new Set;constructor(e){this.#e=e?.maxOutputBytes??102400,this.#t=e?.hardCapBytes??100*1024*1024,this.#r=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??la()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill($t?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=TO(da(RO(),"ctx-mode-"));try{let a=this.#i(i,n,r),c=Ky(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#r:i,l=await this.#s(c,u,o,s);if(!l.backgrounded)try{Gy(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{Gy(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=PO(this.#r,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main
71
82
 
72
83
  import "fmt"
73
84
 
@@ -75,12 +86,12 @@ func main() {
75
86
  ${r}
76
87
  }
77
88
  `),n==="php"&&!r.trimStart().startsWith("<?")&&(r=`<?php
78
- ${r}`),n==="elixir"&&Ty(Xi(this.#r,"mix.exs"))&&(r=`Path.wildcard(Path.join(${JSON.stringify(Xi(this.#r,"_build/dev/lib"))}, "*/ebin"))
89
+ ${r}`),n==="elixir"&&Wy(da(this.#r,"mix.exs"))&&(r=`Path.wildcard(Path.join(${JSON.stringify(da(this.#r,"_build/dev/lib"))}, "*/ebin"))
79
90
  |> Enum.each(&Code.prepend_path/1)
80
91
 
81
- ${r}`);let s=Xi(e,`script.${o[n]}`);return n==="shell"?wy(s,r,{encoding:"utf-8",mode:448}):wy(s,r,"utf-8"),s}async#a(e,r,n){let o=Nt?".exe":"",s=e.replace(/\.rs$/,"")+o;try{Ey(`rustc ${e} -o ${s}`,{cwd:r,timeout:Math.min(n,3e4),encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(i){return{stdout:"",stderr:`Compilation failed:
82
- ${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,n)}async#s(e,r,n,o=!1){return new Promise(s=>{let i=Nt&&["tsx","ts-node","elixir"].includes(e[0]),a=e[0],c;Nt&&e.length===2&&e[1]?c=[e[1].replace(/\\/g,"/")]:c=Nt?e.slice(1).map(y=>y.replace(/\\/g,"/")):e.slice(1);let u=MR(a,c,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(r),shell:i,detached:!Nt}),l=!1,d=!1,f=setTimeout(()=>{if(l=!0,o){d=!0,u.pid&&this.#o.add(u.pid),u.unref(),u.stdout.destroy(),u.stderr.destroy();let y=Buffer.concat(m).toString("utf-8"),x=Buffer.concat(p).toString("utf-8"),b=this.#e;s({stdout:Go(y,b),stderr:Go(x,b),exitCode:0,timedOut:!0,backgrounded:!0})}else Jd(u)},n),m=[],p=[],h=0,g=!1;u.stdout.on("data",y=>{h+=y.length,h<=this.#t?m.push(y):g||(g=!0,Jd(u))}),u.stderr.on("data",y=>{h+=y.length,h<=this.#t?p.push(y):g||(g=!0,Jd(u))}),u.on("close",y=>{if(clearTimeout(f),d)return;let x=Buffer.concat(m).toString("utf-8"),b=Buffer.concat(p).toString("utf-8");g&&(b+=`
83
- [output capped at ${(this.#t/1024/1024).toFixed(0)}MB \u2014 process killed]`);let w=this.#e,R=Go(x,w),ie=Go(b,w);s({stdout:R,stderr:ie,exitCode:l?1:y??1,timedOut:l})}),u.on("error",y=>{clearTimeout(f),!d&&s({stdout:"",stderr:y.message,exitCode:1,timedOut:!1})})})}#c(e){let r=process.env.HOME??process.env.USERPROFILE??e,n=["GH_TOKEN","GITHUB_TOKEN","GH_HOST","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","AWS_REGION","AWS_DEFAULT_REGION","AWS_PROFILE","GOOGLE_APPLICATION_CREDENTIALS","CLOUDSDK_CONFIG","DOCKER_HOST","KUBECONFIG","NPM_TOKEN","NODE_AUTH_TOKEN","npm_config_registry","HTTP_PROXY","HTTPS_PROXY","NO_PROXY","SSL_CERT_FILE","CURL_CA_BUNDLE","NODE_EXTRA_CA_CERTS","REQUESTS_CA_BUNDLE","XDG_CONFIG_HOME","XDG_DATA_HOME","SSH_AUTH_SOCK","SSH_AGENT_PID","DIRENV_DIR","DIRENV_FILE","DIRENV_DIFF","DIRENV_WATCHES","DIRENV_LAYOUT_DIR","NIX_PATH","NIX_PROFILES","NIX_SSL_CERT_FILE","NIX_CC","NIX_STORE","NIX_BUILD_CORES","IN_NIX_SHELL","LOCALE_ARCHIVE","LD_LIBRARY_PATH","DYLD_LIBRARY_PATH","LIBRARY_PATH","C_INCLUDE_PATH","CPLUS_INCLUDE_PATH","PKG_CONFIG_PATH","CMAKE_PREFIX_PATH","GOPATH","GOROOT","CARGO_HOME","RUSTUP_HOME","ASDF_DIR","ASDF_DATA_DIR","MISE_DATA_DIR","VIRTUAL_ENV","CONDA_PREFIX","CONDA_DEFAULT_ENV","PYTHONPATH","GEM_HOME","GEM_PATH","BUNDLE_PATH","RBENV_ROOT","JAVA_HOME","SDKMAN_DIR"],o={PATH:process.env.PATH??(Nt?"":"/usr/local/bin:/usr/bin:/bin"),HOME:r,TMPDIR:e,LANG:"en_US.UTF-8",PYTHONDONTWRITEBYTECODE:"1",PYTHONUNBUFFERED:"1",PYTHONUTF8:"1",NO_COLOR:"1"};if(Nt){let s=["SYSTEMROOT","SystemRoot","COMSPEC","PATHEXT","USERPROFILE","APPDATA","LOCALAPPDATA","TEMP","TMP"];for(let c of s)process.env[c]&&(o[c]=process.env[c]);o.MSYS_NO_PATHCONV="1",o.MSYS2_ARG_CONV_EXCL="*";let i="C:\\Program Files\\Git\\usr\\bin",a="C:\\Program Files\\Git\\bin";o.PATH.includes(i)||(o.PATH=`${i};${a};${o.PATH}`)}for(let s of n)process.env[s]&&(o[s]=process.env[s]);if(!o.SSL_CERT_FILE){let s=Nt?[]:["/etc/ssl/cert.pem","/etc/ssl/certs/ca-certificates.crt","/etc/pki/tls/certs/ca-bundle.crt","/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"];for(let i of s)if(Ty(i)){o.SSL_CERT_FILE=i;break}}return o}#u(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o};
92
+ ${r}`);let s=da(e,`script.${o[n]}`);return n==="shell"?Jy(s,r,{encoding:"utf-8",mode:448}):Jy(s,r,"utf-8"),s}async#a(e,r,n){let o=$t?".exe":"",s=e.replace(/\.rs$/,"")+o;try{Yy(`rustc ${e} -o ${s}`,{cwd:r,timeout:Math.min(n,6e4),encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(i){return{stdout:"",stderr:`Compilation failed:
93
+ ${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,n)}async#s(e,r,n,o=!1){return new Promise(s=>{let i=$t&&["tsx","ts-node","elixir"].includes(e[0]),a=e[0],c;$t&&e.length===2&&e[1]?c=[e[1].replace(/\\/g,"/")]:c=$t?e.slice(1).map(_=>_.replace(/\\/g,"/")):e.slice(1);let u=$O(a,c,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(r),shell:i,detached:!$t}),l=!1,d=!1,f=setTimeout(()=>{if(l=!0,o){d=!0,u.pid&&this.#o.add(u.pid),u.unref(),u.stdout.destroy(),u.stderr.destroy();let _=Buffer.concat(m).toString("utf-8"),x=Buffer.concat(p).toString("utf-8"),S=this.#e;s({stdout:is(_,S),stderr:is(x,S),exitCode:0,timedOut:!0,backgrounded:!0})}else dp(u)},n),m=[],p=[],h=0,g=!1;u.stdout.on("data",_=>{h+=_.length,h<=this.#t?m.push(_):g||(g=!0,dp(u))}),u.stderr.on("data",_=>{h+=_.length,h<=this.#t?p.push(_):g||(g=!0,dp(u))}),u.on("close",_=>{if(clearTimeout(f),d)return;let x=Buffer.concat(m).toString("utf-8"),S=Buffer.concat(p).toString("utf-8");g&&(S+=`
94
+ [output capped at ${(this.#t/1024/1024).toFixed(0)}MB \u2014 process killed]`);let w=this.#e,R=is(x,w),oe=is(S,w);s({stdout:R,stderr:oe,exitCode:l?1:_??1,timedOut:l})}),u.on("error",_=>{clearTimeout(f),!d&&s({stdout:"",stderr:_.message,exitCode:1,timedOut:!1})})})}#c(e){let r=process.env.HOME??process.env.USERPROFILE??e,n=new Set(["BASH_ENV","ENV","PROMPT_COMMAND","PS4","SHELLOPTS","BASHOPTS","CDPATH","INPUTRC","BASH_XTRACEFD","NODE_OPTIONS","NODE_PATH","PYTHONSTARTUP","PYTHONHOME","PYTHONWARNINGS","PYTHONBREAKPOINT","PYTHONINSPECT","RUBYOPT","RUBYLIB","PERL5OPT","PERL5LIB","PERLLIB","PERL5DB","ERL_AFLAGS","ERL_FLAGS","ELIXIR_ERL_OPTIONS","ERL_LIBS","GOFLAGS","CGO_CFLAGS","CGO_LDFLAGS","RUSTC","RUSTC_WRAPPER","RUSTC_WORKSPACE_WRAPPER","CARGO_BUILD_RUSTC","CARGO_BUILD_RUSTC_WRAPPER","RUSTFLAGS","PHPRC","PHP_INI_SCAN_DIR","R_PROFILE","R_PROFILE_USER","R_HOME","LD_PRELOAD","DYLD_INSERT_LIBRARIES","OPENSSL_CONF","OPENSSL_ENGINES","CC","CXX","AR","GIT_TEMPLATE_DIR","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_EXEC_PATH","GIT_SSH","GIT_SSH_COMMAND","GIT_ASKPASS"]),o={};for(let[s,i]of Object.entries(process.env))i!==void 0&&!n.has(s)&&!s.startsWith("BASH_FUNC_")&&(o[s]=i);if(o.TMPDIR=e,o.HOME=r,o.LANG="en_US.UTF-8",o.PYTHONDONTWRITEBYTECODE="1",o.PYTHONUNBUFFERED="1",o.PYTHONUTF8="1",o.NO_COLOR="1",$t&&!o.PATH&&o.Path&&(o.PATH=o.Path,delete o.Path),o.PATH||(o.PATH=$t?"":"/usr/local/bin:/usr/bin:/bin"),$t){o.MSYS_NO_PATHCONV="1",o.MSYS2_ARG_CONV_EXCL="*";let s="C:\\Program Files\\Git\\usr\\bin",i="C:\\Program Files\\Git\\bin";o.PATH.includes(s)||(o.PATH=`${s};${i};${o.PATH}`)}if(!o.SSL_CERT_FILE){let s=$t?[]:["/etc/ssl/cert.pem","/etc/ssl/certs/ca-certificates.crt","/etc/pki/tls/certs/ca-bundle.crt","/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"];for(let i of s)if(Wy(i)){o.SSL_CERT_FILE=i;break}}return o}#u(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o};
84
95
  const file_path = FILE_CONTENT_PATH;
85
96
  const FILE_CONTENT = require("fs").readFileSync(FILE_CONTENT_PATH, "utf-8");
86
97
  ${n}`;case"python":return`FILE_CONTENT_PATH = ${o}
@@ -110,7 +121,8 @@ func main() {
110
121
  _ = fmt.Sprint()
111
122
  ${n}
112
123
  }
113
- `;case"rust":return`use std::fs;
124
+ `;case"rust":return`#![allow(unused_variables)]
125
+ use std::fs;
114
126
 
115
127
  fn main() {
116
128
  let file_content_path = ${o};
@@ -134,7 +146,7 @@ FILE_CONTENT <- paste(FILE_CONTENT, collapse="\\n")
134
146
  ${n}`;case"elixir":return`file_content_path = ${o}
135
147
  file_path = file_content_path
136
148
  file_content = File.read!(file_content_path)
137
- ${n}`}}};import{createRequire as UR}from"node:module";var Wd=null;function Py(){return Wd||(Wd=UR(import.meta.url)("better-sqlite3")),Wd}function Ry(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL")}import{readFileSync as qR,readdirSync as HR,unlinkSync as Cy}from"node:fs";import{tmpdir as zy}from"node:os";import{join as Ny}from"node:path";var Oy=new Set(["the","and","for","are","but","not","you","all","can","had","her","was","one","our","out","has","his","how","its","may","new","now","old","see","way","who","did","get","got","let","say","she","too","use","will","with","this","that","from","they","been","have","many","some","them","than","each","make","like","just","over","such","take","into","year","your","good","could","would","about","which","their","there","other","after","should","through","also","more","most","only","very","when","what","then","these","those","being","does","done","both","same","still","while","where","here","were","much","update","updates","updated","deps","dev","tests","test","add","added","fix","fixed","run","running","using"]);function FR(t,e="AND"){let r=t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(n=>n.length>0&&!["AND","OR","NOT","NEAR"].includes(n.toUpperCase()));return r.length===0?'""':r.map(n=>`"${n}"`).join(e==="OR"?" OR ":" ")}function VR(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=r.split(/\s+/).filter(o=>o.length>=3);return n.length===0?"":n.map(o=>`"${o}"`).join(e==="OR"?" OR ":" ")}function BR(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=Array.from({length:e.length+1},(n,o)=>o);for(let n=1;n<=t.length;n++){let o=[n];for(let s=1;s<=e.length;s++)o[s]=t[n-1]===e[s-1]?r[s-1]:1+Math.min(r[s],o[s-1],r[s-1]);r=o}return r[e.length]}function KR(t){return t<=4?1:t<=12?2:3}var Iy=4096;function Ay(){let t=zy(),e=0;try{let r=HR(t);for(let n of r){let o=n.match(/^context-mode-(\d+)\.db$/);if(!o)continue;let s=parseInt(o[1],10);if(s!==process.pid)try{process.kill(s,0)}catch{let i=Ny(t,n);for(let a of["","-wal","-shm"])try{Cy(i+a)}catch{}e++}}}catch{}return e}var ea=class{#e;#t;#r;#n;#o;#i;#a;#s;#c;#u;#d;#p;#f;#m;#h;#g;#_;#y;#v;#x;constructor(e){let r=Py();this.#t=e??Ny(zy(),`context-mode-${process.pid}.db`),this.#e=new r(this.#t,{timeout:5e3}),Ry(this.#e),this.#k(),this.#S()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{Cy(this.#t+e)}catch{}}#k(){this.#e.exec(`
149
+ ${n}`}}};import{createRequire as OO}from"node:module";var pp=null;function Xy(){return pp||(pp=OO(import.meta.url)("better-sqlite3")),pp}function Qy(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL")}import{readFileSync as CO,readdirSync as IO,unlinkSync as rv}from"node:fs";import{tmpdir as nv}from"node:os";import{join as ov}from"node:path";var ev=new Set(["the","and","for","are","but","not","you","all","can","had","her","was","one","our","out","has","his","how","its","may","new","now","old","see","way","who","did","get","got","let","say","she","too","use","will","with","this","that","from","they","been","have","many","some","them","than","each","make","like","just","over","such","take","into","year","your","good","could","would","about","which","their","there","other","after","should","through","also","more","most","only","very","when","what","then","these","those","being","does","done","both","same","still","while","where","here","were","much","update","updates","updated","deps","dev","tests","test","add","added","fix","fixed","run","running","using"]);function zO(t,e="AND"){let r=t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(n=>n.length>0&&!["AND","OR","NOT","NEAR"].includes(n.toUpperCase()));return r.length===0?'""':r.map(n=>`"${n}"`).join(e==="OR"?" OR ":" ")}function NO(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=r.split(/\s+/).filter(o=>o.length>=3);return n.length===0?"":n.map(o=>`"${o}"`).join(e==="OR"?" OR ":" ")}function AO(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=Array.from({length:e.length+1},(n,o)=>o);for(let n=1;n<=t.length;n++){let o=[n];for(let s=1;s<=e.length;s++)o[s]=t[n-1]===e[s-1]?r[s-1]:1+Math.min(r[s],o[s-1],r[s-1]);r=o}return r[e.length]}function jO(t){return t<=4?1:t<=12?2:3}var tv=4096;function sv(){let t=nv(),e=0;try{let r=IO(t);for(let n of r){let o=n.match(/^context-mode-(\d+)\.db$/);if(!o)continue;let s=parseInt(o[1],10);if(s!==process.pid)try{process.kill(s,0)}catch{let i=ov(t,n);for(let a of["","-wal","-shm"])try{rv(i+a)}catch{}e++}}}catch{}return e}var fa=class{#e;#t;#r;#n;#o;#i;#a;#s;#c;#u;#d;#p;#f;#m;#h;#g;#_;#y;#v;#x;constructor(e){let r=Xy();this.#t=e??ov(nv(),`context-mode-${process.pid}.db`),this.#e=new r(this.#t,{timeout:5e3}),Qy(this.#e),this.#k(),this.#b()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{rv(this.#t+e)}catch{}}#k(){this.#e.exec(`
138
150
  CREATE TABLE IF NOT EXISTS sources (
139
151
  id INTEGER PRIMARY KEY AUTOINCREMENT,
140
152
  label TEXT NOT NULL,
@@ -162,7 +174,7 @@ ${n}`}}};import{createRequire as UR}from"node:module";var Wd=null;function Py(){
162
174
  CREATE TABLE IF NOT EXISTS vocabulary (
163
175
  word TEXT PRIMARY KEY
164
176
  );
165
- `)}#S(){this.#r=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count) VALUES (?, 0, 0)"),this.#n=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count) VALUES (?, ?, ?)"),this.#o=this.#e.prepare("INSERT INTO chunks (title, content, source_id, content_type) VALUES (?, ?, ?, ?)"),this.#i=this.#e.prepare("INSERT INTO chunks_trigram (title, content, source_id, content_type) VALUES (?, ?, ?, ?)"),this.#a=this.#e.prepare("INSERT OR IGNORE INTO vocabulary (word) VALUES (?)"),this.#s=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#c=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#u=this.#e.prepare("DELETE FROM sources WHERE label = ?"),this.#d=this.#e.prepare(`
177
+ `)}#b(){this.#r=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count) VALUES (?, 0, 0)"),this.#n=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count) VALUES (?, ?, ?)"),this.#o=this.#e.prepare("INSERT INTO chunks (title, content, source_id, content_type) VALUES (?, ?, ?, ?)"),this.#i=this.#e.prepare("INSERT INTO chunks_trigram (title, content, source_id, content_type) VALUES (?, ?, ?, ?)"),this.#a=this.#e.prepare("INSERT OR IGNORE INTO vocabulary (word) VALUES (?)"),this.#s=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#c=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#u=this.#e.prepare("DELETE FROM sources WHERE label = ?"),this.#d=this.#e.prepare(`
166
178
  SELECT
167
179
  chunks.title,
168
180
  chunks.content,
@@ -223,31 +235,31 @@ ${n}`}}};import{createRequire as UR}from"node:module";var Wd=null;function Py(){
223
235
  (SELECT COUNT(*) FROM sources) AS sources,
224
236
  (SELECT COUNT(*) FROM chunks) AS chunks,
225
237
  (SELECT COUNT(*) FROM chunks WHERE content_type = 'code') AS codeChunks
226
- `)}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??qR(n,"utf-8"),i=o??n??"untitled",a=this.#$(s);return this.#l(a,i,s)}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#T(e,n);return this.#l(o.map(s=>({...s,hasCode:!1})),r,e)}indexJSON(e,r,n=Iy){if(!e||e.trim().length===0)return this.indexPlainText("",r);let o;try{o=JSON.parse(e)}catch{return this.indexPlainText(e,r)}let s=[];return this.#b(o,[],s,n),s.length===0?this.indexPlainText(e,r):this.#l(s,r,e)}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#s.run(r),this.#c.run(r),this.#u.run(r),e.length===0){let u=this.#r.run(r);return Number(u.lastInsertRowid)}let a=this.#n.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#o.run(u.title,u.content,c,l),this.#i.run(u.title,u.content,c,l)}return c})();return n&&this.#w(n),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}search(e,r=3,n,o="AND"){let s=FR(e,o),i=n?this.#p:this.#d,a=n?[s,`%${n}%`,r]:[s,r];return i.all(...a).map(u=>({title:u.title,content:u.content,source:u.label,rank:u.rank,contentType:u.content_type,highlighted:u.highlighted}))}searchTrigram(e,r=3,n,o="AND"){let s=VR(e,o);if(!s)return[];let i=n?this.#m:this.#f,a=n?[s,`%${n}%`,r]:[s,r];return i.all(...a).map(u=>({title:u.title,content:u.content,source:u.label,rank:u.rank,contentType:u.content_type,highlighted:u.highlighted}))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;let n=KR(r.length),o=this.#h.all(r.length-n,r.length+n),s=null,i=n+1;for(let{word:a}of o){if(a===r)return null;let c=BR(r,a);c<i&&(i=c,s=a)}return i<=n?s:null}searchWithFallback(e,r=3,n){let o=this.search(e,r,n,"AND");if(o.length>0)return o.map(f=>({...f,matchLayer:"porter"}));let s=this.search(e,r,n,"OR");if(s.length>0)return s.map(f=>({...f,matchLayer:"porter"}));let i=this.searchTrigram(e,r,n,"AND");if(i.length>0)return i.map(f=>({...f,matchLayer:"trigram"}));let a=this.searchTrigram(e,r,n,"OR");if(a.length>0)return a.map(f=>({...f,matchLayer:"trigram"}));let c=e.toLowerCase().trim().split(/\s+/).filter(f=>f.length>=3),u=c.join(" "),d=c.map(f=>this.fuzzyCorrect(f)??f).join(" ");if(d!==u){let f=this.search(d,r,n,"AND");if(f.length>0)return f.map(g=>({...g,matchLayer:"fuzzy"}));let m=this.search(d,r,n,"OR");if(m.length>0)return m.map(g=>({...g,matchLayer:"fuzzy"}));let p=this.searchTrigram(d,r,n,"AND");if(p.length>0)return p.map(g=>({...g,matchLayer:"fuzzy"}));let h=this.searchTrigram(d,r,n,"OR");if(h.length>0)return h.map(g=>({...g,matchLayer:"fuzzy"}))}return[]}listSources(){return this.#g.all()}getChunksBySource(e){return this.#_.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#y.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#v.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!Oy.has(f)));for(let f of d)a.set(f,(a.get(f)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let f=Math.log(o/d),m=Math.min(l.length/20,.5),p=/[_]/.test(l),h=l.length>=12,g=p?1.5:h?.8:0;return{word:l,score:f+m+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#x.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}close(){this.#e.close()}#w(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(o=>o.length>=3&&!Oy.has(o)),n=[...new Set(r)];this.#e.transaction(()=>{for(let o of n)this.#a.run(o)})()}#$(e,r=Iy){let n=[],o=e.split(`
238
+ `)}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??CO(n,"utf-8"),i=o??n??"untitled",a=this.#E(s);return this.#l(a,i,s)}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#$(e,n);return this.#l(o.map(s=>({...s,hasCode:!1})),r,e)}indexJSON(e,r,n=tv){if(!e||e.trim().length===0)return this.indexPlainText("",r);let o;try{o=JSON.parse(e)}catch{return this.indexPlainText(e,r)}let s=[];return this.#S(o,[],s,n),s.length===0?this.indexPlainText(e,r):this.#l(s,r,e)}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#s.run(r),this.#c.run(r),this.#u.run(r),e.length===0){let u=this.#r.run(r);return Number(u.lastInsertRowid)}let a=this.#n.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#o.run(u.title,u.content,c,l),this.#i.run(u.title,u.content,c,l)}return c})();return n&&this.#w(n),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}search(e,r=3,n,o="AND"){let s=zO(e,o),i=n?this.#p:this.#d,a=n?[s,`%${n}%`,r]:[s,r];return i.all(...a).map(u=>({title:u.title,content:u.content,source:u.label,rank:u.rank,contentType:u.content_type,highlighted:u.highlighted}))}searchTrigram(e,r=3,n,o="AND"){let s=NO(e,o);if(!s)return[];let i=n?this.#m:this.#f,a=n?[s,`%${n}%`,r]:[s,r];return i.all(...a).map(u=>({title:u.title,content:u.content,source:u.label,rank:u.rank,contentType:u.content_type,highlighted:u.highlighted}))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;let n=jO(r.length),o=this.#h.all(r.length-n,r.length+n),s=null,i=n+1;for(let{word:a}of o){if(a===r)return null;let c=AO(r,a);c<i&&(i=c,s=a)}return i<=n?s:null}searchWithFallback(e,r=3,n){let o=this.search(e,r,n,"AND");if(o.length>0)return o.map(f=>({...f,matchLayer:"porter"}));let s=this.search(e,r,n,"OR");if(s.length>0)return s.map(f=>({...f,matchLayer:"porter"}));let i=this.searchTrigram(e,r,n,"AND");if(i.length>0)return i.map(f=>({...f,matchLayer:"trigram"}));let a=this.searchTrigram(e,r,n,"OR");if(a.length>0)return a.map(f=>({...f,matchLayer:"trigram"}));let c=e.toLowerCase().trim().split(/\s+/).filter(f=>f.length>=3),u=c.join(" "),d=c.map(f=>this.fuzzyCorrect(f)??f).join(" ");if(d!==u){let f=this.search(d,r,n,"AND");if(f.length>0)return f.map(g=>({...g,matchLayer:"fuzzy"}));let m=this.search(d,r,n,"OR");if(m.length>0)return m.map(g=>({...g,matchLayer:"fuzzy"}));let p=this.searchTrigram(d,r,n,"AND");if(p.length>0)return p.map(g=>({...g,matchLayer:"fuzzy"}));let h=this.searchTrigram(d,r,n,"OR");if(h.length>0)return h.map(g=>({...g,matchLayer:"fuzzy"}))}return[]}listSources(){return this.#g.all()}getChunksBySource(e){return this.#_.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#y.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#v.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!ev.has(f)));for(let f of d)a.set(f,(a.get(f)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let f=Math.log(o/d),m=Math.min(l.length/20,.5),p=/[_]/.test(l),h=l.length>=12,g=p?1.5:h?.8:0;return{word:l,score:f+m+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#x.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}close(){this.#e.close()}#w(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(o=>o.length>=3&&!ev.has(o)),n=[...new Set(r)];this.#e.transaction(()=>{for(let o of n)this.#a.run(o)})()}#E(e,r=tv){let n=[],o=e.split(`
227
239
  `),s=[],i=[],a="",c=()=>{let l=i.join(`
228
- `).trim();if(l.length===0)return;let d=this.#O(s,a),f=i.some(y=>/^`{3,}/.test(y));if(Buffer.byteLength(l)<=r){n.push({title:d,content:l,hasCode:f}),i=[];return}let m=l.split(/\n\n+/),p=[],h=1,g=()=>{if(p.length===0)return;let y=p.join(`
240
+ `).trim();if(l.length===0)return;let d=this.#O(s,a),f=i.some(_=>/^`{3,}/.test(_));if(Buffer.byteLength(l)<=r){n.push({title:d,content:l,hasCode:f}),i=[];return}let m=l.split(/\n\n+/),p=[],h=1,g=()=>{if(p.length===0)return;let _=p.join(`
229
241
 
230
- `).trim();if(y.length===0)return;let x=m.length>1?`${d} (${h})`:d;h++,n.push({title:x,content:y,hasCode:y.includes("```")}),p=[]};for(let y of m){p.push(y);let x=p.join(`
242
+ `).trim();if(_.length===0)return;let x=m.length>1?`${d} (${h})`:d;h++,n.push({title:x,content:_,hasCode:_.includes("```")}),p=[]};for(let _ of m){p.push(_);let x=p.join(`
231
243
 
232
- `);Buffer.byteLength(x)>r&&p.length>1&&(p.pop(),g(),p=[y])}g(),i=[]},u=0;for(;u<o.length;){let l=o[u];if(/^[-_*]{3,}\s*$/.test(l)){c(),u++;continue}let d=l.match(/^(#{1,4})\s+(.+)$/);if(d){c();let m=d[1].length,p=d[2].trim();for(;s.length>0&&s[s.length-1].level>=m;)s.pop();s.push({level:m,text:p}),a=p,i.push(l),u++;continue}let f=l.match(/^(`{3,})(.*)?$/);if(f){let m=f[1],p=[l];for(u++;u<o.length;){if(p.push(o[u]),o[u].startsWith(m)&&o[u].trim()===m){u++;break}u++}i.push(...p);continue}i.push(l),u++}return c(),n}#T(e,r){let n=e.split(/\n\s*\n/);if(n.length>=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(`
244
+ `);Buffer.byteLength(x)>r&&p.length>1&&(p.pop(),g(),p=[_])}g(),i=[]},u=0;for(;u<o.length;){let l=o[u];if(/^[-_*]{3,}\s*$/.test(l)){c(),u++;continue}let d=l.match(/^(#{1,4})\s+(.+)$/);if(d){c();let m=d[1].length,p=d[2].trim();for(;s.length>0&&s[s.length-1].level>=m;)s.pop();s.push({level:m,text:p}),a=p,i.push(l),u++;continue}let f=l.match(/^(`{3,})(.*)?$/);if(f){let m=f[1],p=[l];for(u++;u<o.length;){if(p.push(o[u]),o[u].startsWith(m)&&o[u].trim()===m){u++;break}u++}i.push(...p);continue}i.push(l),u++}return c(),n}#$(e,r){let n=e.split(/\n\s*\n/);if(n.length>=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(`
233
245
  `)[0].slice(0,80)||`Section ${u+1}`,content:l}}).filter(c=>c.content.length>0);let o=e.split(`
234
246
  `);if(o.length<=r)return[{title:"Output",content:e}];let s=[],a=Math.max(r-2,1);for(let c=0;c<o.length;c+=a){let u=o.slice(c,c+r);if(u.length===0)break;let l=c+1,d=Math.min(c+u.length,o.length),f=u[0]?.trim().slice(0,80);s.push({title:f||`Lines ${l}-${d}`,content:u.join(`
235
- `)})}return s}#b(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=JSON.stringify(e,null,2);if(Buffer.byteLength(i)<=o&&!(typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.values(e).some(c=>typeof c=="object"&&c!==null))){n.push({title:s,content:i,hasCode:!0});return}if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let a=Object.entries(e);if(a.length>0){for(let[c,u]of a)this.#b(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#R(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#E(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#P(e,r,n,o,s){let i=e?`${e} > `:"";if(!s)return r===n?`${i}[${r}]`:`${i}[${r}-${n}]`;let a=c=>String(c[s]);return o.length===1?`${i}${a(o[0])}`:o.length<=3?i+o.map(a).join(", "):`${i}${a(o[0])}\u2026${a(o[o.length-1])}`}#R(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#E(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#P(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;l<e.length;l++){a.push(e[l]);let d=JSON.stringify(a,null,2);Buffer.byteLength(d)>o&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#O(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as My}from"node:fs";import{resolve as jn}from"node:path";import{homedir as Dy}from"node:os";function Zy(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function GR(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function JR(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function jy(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function WR(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=JR(o),a=jy(s);r=`^${i}(\\s${a})?$`}else r=`^${jy(t)}$`;return new RegExp(r,e?"i":"")}function YR(t,e=!1){let r="",n=0;for(;n<t.length;)t[n]==="*"&&t[n+1]==="*"?n+2<t.length&&t[n+2]==="/"?(r+="(.*/)?",n+=3):(r+=".*",n+=2):t[n]==="*"?(r+="[^/]*",n++):t[n]==="?"?(r+="[^/]",n++):(r+=t[n].replace(/[.+^${}()|[\]\\\/\-]/g,"\\$&"),n++);return new RegExp(`^${r}$`,e?"i":"")}function XR(t,e,r=!1){for(let n of e){let o=Zy(n);if(o&&WR(o,r).test(t))return n}return null}function QR(t){let e=[],r="",n=!1,o=!1,s=!1;for(let i=0;i<t.length;i++){let a=t[i],c=i>0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function Yd(t){let e;try{e=My(t,"utf-8")}catch{return null}let r;try{r=JSON.parse(e)}catch{return null}let n=r?.permissions;if(!n||typeof n!="object")return null;let o=s=>Array.isArray(s)?s.filter(i=>typeof i=="string"&&Zy(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Xd(t,e){let r=[];if(t){let s=jn(t,".claude","settings.local.json"),i=Yd(s);i&&r.push(i);let a=jn(t,".claude","settings.json"),c=Yd(a);c&&r.push(c)}let n=e??jn(Dy(),".claude","settings.json"),o=Yd(n);return o&&r.push(o),r}function Ly(t,e,r){let n=[],o=a=>{let c;try{c=My(a,"utf-8")}catch{return null}let u;try{u=JSON.parse(c)}catch{return null}let l=u?.permissions?.deny;if(!Array.isArray(l))return[];let d=[];for(let f of l){if(typeof f!="string")continue;let m=GR(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(jn(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(jn(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??jn(Dy(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Qd(t,e,r=process.platform==="win32"){let n=QR(t);for(let o of n)for(let s of e){let i=XR(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function Uy(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(YR(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var eO={python:[/os\.system\(\s*(['"])(.*?)\1\s*\)/g,/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*(['"])(.*?)\1/g],javascript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],typescript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],ruby:[/system\(\s*(['"])(.*?)\1/g,/`(.*?)`/g],go:[/exec\.Command\(\s*(['"`])(.*?)\1/g],php:[/shell_exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])system\(\s*(['"`])(.*?)\1/g,/passthru\(\s*(['"`])(.*?)\1/g,/proc_open\(\s*(['"`])(.*?)\1/g],rust:[/Command::new\(\s*(['"`])(.*?)\1/g]};function tO(t){let e=[],r=/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*\[([^\]]+)\]/g,n;for(;(n=r.exec(t))!==null;){let s=[...n[1].matchAll(/(['"])(.*?)\1/g)].map(i=>i[2]);s.length>0&&e.push(s.join(" "))}return e}function qy(t,e){let r=eO[e];if(!r&&e!=="python")return[];let n=[];if(r)for(let o of r){o.lastIndex=0;let s;for(;(s=o.exec(t))!==null;){let i=s[s.length-1];i&&n.push(i)}}return e==="python"&&n.push(...tO(t)),n}function ep(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r}
247
+ `)})}return s}#S(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=JSON.stringify(e,null,2);if(Buffer.byteLength(i)<=o&&!(typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.values(e).some(c=>typeof c=="object"&&c!==null))){n.push({title:s,content:i,hasCode:!0});return}if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let a=Object.entries(e);if(a.length>0){for(let[c,u]of a)this.#S(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#R(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#T(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#P(e,r,n,o,s){let i=e?`${e} > `:"";if(!s)return r===n?`${i}[${r}]`:`${i}[${r}-${n}]`;let a=c=>String(c[s]);return o.length===1?`${i}${a(o[0])}`:o.length<=3?i+o.map(a).join(", "):`${i}${a(o[0])}\u2026${a(o[o.length-1])}`}#R(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#T(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#P(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;l<e.length;l++){a.push(e[l]);let d=JSON.stringify(a,null,2);Buffer.byteLength(d)>o&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#O(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as av}from"node:fs";import{resolve as Hn}from"node:path";import{homedir as cv}from"node:os";function uv(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function MO(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function DO(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function iv(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function LO(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=DO(o),a=iv(s);r=`^${i}(\\s${a})?$`}else r=`^${iv(t)}$`;return new RegExp(r,e?"i":"")}function ZO(t,e=!1){let r="",n=0;for(;n<t.length;)t[n]==="*"&&t[n+1]==="*"?n+2<t.length&&t[n+2]==="/"?(r+="(.*/)?",n+=3):(r+=".*",n+=2):t[n]==="*"?(r+="[^/]*",n++):t[n]==="?"?(r+="[^/]",n++):(r+=t[n].replace(/[.+^${}()|[\]\\\/\-]/g,"\\$&"),n++);return new RegExp(`^${r}$`,e?"i":"")}function UO(t,e,r=!1){for(let n of e){let o=uv(n);if(o&&LO(o,r).test(t))return n}return null}function HO(t){let e=[],r="",n=!1,o=!1,s=!1;for(let i=0;i<t.length;i++){let a=t[i],c=i>0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function fp(t){let e;try{e=av(t,"utf-8")}catch{return null}let r;try{r=JSON.parse(e)}catch{return null}let n=r?.permissions;if(!n||typeof n!="object")return null;let o=s=>Array.isArray(s)?s.filter(i=>typeof i=="string"&&uv(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function mp(t,e){let r=[];if(t){let s=Hn(t,".claude","settings.local.json"),i=fp(s);i&&r.push(i);let a=Hn(t,".claude","settings.json"),c=fp(a);c&&r.push(c)}let n=e??Hn(cv(),".claude","settings.json"),o=fp(n);return o&&r.push(o),r}function lv(t,e,r){let n=[],o=a=>{let c;try{c=av(a,"utf-8")}catch{return null}let u;try{u=JSON.parse(c)}catch{return null}let l=u?.permissions?.deny;if(!Array.isArray(l))return[];let d=[];for(let f of l){if(typeof f!="string")continue;let m=MO(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(Hn(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(Hn(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??Hn(cv(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function hp(t,e,r=process.platform==="win32"){let n=HO(t);for(let o of n)for(let s of e){let i=UO(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function dv(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(ZO(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var qO={python:[/os\.system\(\s*(['"])(.*?)\1\s*\)/g,/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*(['"])(.*?)\1/g],javascript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],typescript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],ruby:[/system\(\s*(['"])(.*?)\1/g,/`(.*?)`/g],go:[/exec\.Command\(\s*(['"`])(.*?)\1/g],php:[/shell_exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])system\(\s*(['"`])(.*?)\1/g,/passthru\(\s*(['"`])(.*?)\1/g,/proc_open\(\s*(['"`])(.*?)\1/g],rust:[/Command::new\(\s*(['"`])(.*?)\1/g]};function FO(t){let e=[],r=/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*\[([^\]]+)\]/g,n;for(;(n=r.exec(t))!==null;){let s=[...n[1].matchAll(/(['"])(.*?)\1/g)].map(i=>i[2]);s.length>0&&e.push(s.join(" "))}return e}function pv(t,e){let r=qO[e];if(!r&&e!=="python")return[];let n=[];if(r)for(let o of r){o.lastIndex=0;let s;for(;(s=o.exec(t))!==null;){let i=s[s.length-1];i&&n.push(i)}}return e==="python"&&n.push(...FO(t)),n}function gp(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r}
236
248
 
237
249
  stdout:
238
250
  ${n}
239
251
 
240
252
  stderr:
241
- ${o}`}}var rO=process.ppid;function nO(){let t=process.ppid;return!(t!==rO||t===0||t===1)}function Hy(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??nO,n=!1,o=()=>{n||(n=!0,t.onShutdown())},s=setInterval(()=>{r()||o()},e);s.unref();let i=()=>o();process.stdin.resume(),process.stdin.on("end",i),process.stdin.on("close",i),process.stdin.on("error",i);let a=["SIGTERM","SIGINT"];process.platform!=="win32"&&a.push("SIGHUP");for(let c of a)process.on(c,o);return()=>{n=!0,clearInterval(s),process.stdin.removeListener("end",i),process.stdin.removeListener("close",i),process.stdin.removeListener("error",i);for(let c of a)process.removeListener(c,o)}}var Cv="1.0.20";process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t}
253
+ ${o}`}}var VO=process.ppid;function BO(){let t=process.ppid;return!(t!==VO||t===0||t===1)}function fv(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??BO,n=!1,o=()=>{n||(n=!0,t.onShutdown())},s=setInterval(()=>{r()||o()},e);s.unref();let i=()=>o();process.stdin.resume(),process.stdin.on("end",i),process.stdin.on("close",i),process.stdin.on("error",i);let a=["SIGTERM","SIGINT"];process.platform!=="win32"&&a.push("SIGHUP");for(let c of a)process.on(c,o);return()=>{n=!0,clearInterval(s),process.stdin.removeListener("end",i),process.stdin.removeListener("close",i),process.stdin.removeListener("error",i);for(let c of a)process.removeListener(c,o)}}import{createHash as KO}from"node:crypto";import{execFileSync as JO}from"node:child_process";function mv(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=JO("git",["worktree","list","--porcelain"],{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).split(/\r?\n/).find(n=>n.startsWith("worktree "))?.replace("worktree ","")?.trim();if(r&&e!==r)return`__${KO("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var UC=Ra(import.meta.url),xx=UC("../package.json").version;process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t}
242
254
  `)});process.on("uncaughtException",t=>{process.stderr.write(`[context-mode] uncaughtException: ${t?.message??t}
243
- `)});var $p=Yi(),DO=ky($p),Mt=new Gi({name:"context-mode",version:Cv}),ss=new Qi({runtimes:$p,projectRoot:process.env.CLAUDE_PROJECT_DIR}),Hn=null;function ZO(t){try{let e=da(Iv(),".claude","context-mode","sessions");if(!Ov(e))return;let r=zO(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=da(e,n);try{t.index({path:o,source:"session-events"}),CO(o)}catch{}}}catch{}}function is(){return Hn||(Hn=new ea),ZO(Hn),Hn}var qe={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,sessionStart:Date.now()};function G(t,e){let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return qe.calls[t]=(qe.calls[t]||0)+1,qe.bytesReturned[t]=(qe.bytesReturned[t]||0)+r,e}function yr(t){qe.bytesIndexed+=t}function Tp(t,e){try{let r=Xd(process.env.CLAUDE_PROJECT_DIR),n=Qd(t,r);if(n.decision==="deny")return G(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function zv(t,e,r){try{let n=qy(t,e);if(n.length===0)return null;let o=Xd(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Qd(s,o);if(i.decision==="deny")return G(r,{content:[{type:"text",text:`Command blocked by security policy: embedded shell command "${s}" matches deny pattern ${i.matchedPattern}`}],isError:!0})}}catch{}return null}function LO(t,e){try{let r=Ly("Read",process.env.CLAUDE_PROJECT_DIR),n=Uy(t,r);if(n.denied)return G(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}var UO=DO.join(", "),qO=Gd()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",HO="",FO="";function VO(t){let e=[],r=0,n=0;for(;n<t.length;)if(t[n]===HO){for(e.push(r),n++;n<t.length&&t[n]!==FO;)r++,n++;n<t.length&&n++}else r++,n++;return e}function Nv(t,e,r=1500,n){if(t.length<=r)return t;let o=[];if(n)for(let u of VO(n))o.push(u);if(o.length===0){let u=e.toLowerCase().split(/\s+/).filter(d=>d.length>2),l=t.toLowerCase();for(let d of u){let f=l.indexOf(d);for(;f!==-1;)o.push(f),f=l.indexOf(d,f+1)}}if(o.length===0)return t.slice(0,r)+`
255
+ `)});var Jp=la(),HC=By(Jp),Pt=new aa({name:"context-mode",version:xx}),vs=new pa({runtimes:Jp,projectRoot:process.env.CLAUDE_PROJECT_DIR}),to=null;function qC(t){try{let e=$a(vx(),".claude","context-mode","sessions");if(!yx(e))return;let r=jC(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=$a(e,n);try{t.index({path:o,source:"session-events"}),AC(o)}catch{}}}catch{}}function xs(){return to||(to=new fa),qC(to),to}var Ve={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,sessionStart:Date.now()};function J(t,e){let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return Ve.calls[t]=(Ve.calls[t]||0)+1,Ve.bytesReturned[t]=(Ve.bytesReturned[t]||0)+r,e}function kr(t){Ve.bytesIndexed+=t}function Gp(t,e){try{let r=mp(process.env.CLAUDE_PROJECT_DIR),n=hp(t,r);if(n.decision==="deny")return J(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function Sx(t,e,r){try{let n=pv(t,e);if(n.length===0)return null;let o=mp(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=hp(s,o);if(i.decision==="deny")return J(r,{content:[{type:"text",text:`Command blocked by security policy: embedded shell command "${s}" matches deny pattern ${i.matchedPattern}`}],isError:!0})}}catch{}return null}function FC(t,e){try{let r=lv("Read",process.env.CLAUDE_PROJECT_DIR),n=dv(t,r);if(n.denied)return J(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}var VC=HC.join(", "),BC=lp()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",KC="",JC="";function GC(t){let e=[],r=0,n=0;for(;n<t.length;)if(t[n]===KC){for(e.push(r),n++;n<t.length&&t[n]!==JC;)r++,n++;n<t.length&&n++}else r++,n++;return e}function kx(t,e,r=1500,n){if(t.length<=r)return t;let o=[];if(n)for(let u of GC(n))o.push(u);if(o.length===0){let u=e.toLowerCase().split(/\s+/).filter(d=>d.length>2),l=t.toLowerCase();for(let d of u){let f=l.indexOf(d);for(;f!==-1;)o.push(f),f=l.indexOf(d,f+1)}}if(o.length===0)return t.slice(0,r)+`
244
256
  \u2026`;o.sort((u,l)=>u-l);let s=300,i=[];for(let u of o){let l=Math.max(0,u-s),d=Math.min(t.length,u+s);i.length>0&&l<=i[i.length-1][1]?i[i.length-1][1]=d:i.push([l,d])}let a=[],c=0;for(let[u,l]of i){if(c>=r)break;let d=t.slice(u,Math.min(l,u+(r-c)));a.push((u>0?"\u2026":"")+d+(l<t.length?"\u2026":"")),c+=d.length}return a.join(`
245
257
 
246
- `)}Mt.registerTool("ctx_execute",{title:"Execute Code",description:`MANDATORY: Use for any command where output exceeds 20 lines. Execute code in a sandboxed subprocess. Only stdout enters context \u2014 raw data stays in the subprocess.${qO} Available: ${UO}.
258
+ `)}Pt.registerTool("ctx_execute",{title:"Execute Code",description:`MANDATORY: Use for any command where output exceeds 20 lines. Execute code in a sandboxed subprocess. Only stdout enters context \u2014 raw data stays in the subprocess.${BC} Available: ${VC}.
247
259
 
248
- PREFER THIS OVER BASH for: API calls (gh, curl, aws), test runners (npm test, pytest), git queries (git log, git diff), data processing, and ANY CLI command that may produce large output. Bash should only be used for file mutations, git writes, and navigation.`,inputSchema:F.object({language:F.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:F.string().describe("Source code to execute. Use console.log (JS/TS), print (Python/Ruby/Perl/R), echo (Shell), echo (PHP), fmt.Println (Go), or IO.puts (Elixir) to output a summary to context."),timeout:F.number().optional().default(3e4).describe("Max execution time in ms"),background:F.boolean().optional().default(!1).describe("Keep process running after timeout (for servers/daemons). Returns partial output without killing the process. IMPORTANT: Do NOT add setTimeout/self-close timers in background scripts \u2014 the process must stay alive until the timeout detaches it. For server+fetch patterns, prefer putting both server and fetch in ONE ctx_execute call instead of using background."),intent:F.string().optional().describe(`What you're looking for in the output. When provided and output is large (>5KB), indexes output into knowledge base and returns section titles + previews \u2014 not full content. Use search(queries: [...]) to retrieve specific sections. Example: 'failing tests', 'HTTP 500 errors'.
260
+ PREFER THIS OVER BASH for: API calls (gh, curl, aws), test runners (npm test, pytest), git queries (git log, git diff), data processing, and ANY CLI command that may produce large output. Bash should only be used for file mutations, git writes, and navigation.`,inputSchema:Z.object({language:Z.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:Z.string().describe("Source code to execute. Use console.log (JS/TS), print (Python/Ruby/Perl/R), echo (Shell), echo (PHP), fmt.Println (Go), or IO.puts (Elixir) to output a summary to context."),timeout:Z.number().optional().default(3e4).describe("Max execution time in ms"),background:Z.boolean().optional().default(!1).describe("Keep process running after timeout (for servers/daemons). Returns partial output without killing the process. IMPORTANT: Do NOT add setTimeout/self-close timers in background scripts \u2014 the process must stay alive until the timeout detaches it. For server+fetch patterns, prefer putting both server and fetch in ONE ctx_execute call instead of using background."),intent:Z.string().optional().describe(`What you're looking for in the output. When provided and output is large (>5KB), indexes output into knowledge base and returns section titles + previews \u2014 not full content. Use search(queries: [...]) to retrieve specific sections. Example: 'failing tests', 'HTTP 500 errors'.
249
261
 
250
- TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=Tp(e,"execute");if(s)return s}else{let s=zv(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=`
262
+ TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=Gp(e,"execute");if(s)return s}else{let s=Sx(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=`
251
263
  let __cm_net=0;
252
264
  // Report network bytes on process exit \u2014 works with both promise and callback patterns.
253
265
  // process.on('exit') fires after all I/O completes, unlike .finally() which fires
@@ -293,20 +305,20 @@ ${e}
293
305
  }
294
306
  __cm_main().catch(e=>{console.error(e);process.exitCode=1});${n?`
295
307
  setInterval(()=>{},2147483647);`:""}
296
- })(typeof require!=='undefined'?require:null);`);let i=await ss.execute({language:t,code:s,timeout:r,background:n}),a=i.stderr?.match(/__CM_NET__:(\d+)/);if(a&&(qe.bytesSandboxed+=parseInt(a[1]),i.stderr=i.stderr.replace(/\n?__CM_NET__:\d+\n?/g,"")),i.timedOut){let u=i.stdout?.trim();return i.backgrounded&&u?G("ctx_execute",{content:[{type:"text",text:`${u}
308
+ })(typeof require!=='undefined'?require:null);`);let i=await vs.execute({language:t,code:s,timeout:r,background:n}),a=i.stderr?.match(/__CM_NET__:(\d+)/);if(a&&(Ve.bytesSandboxed+=parseInt(a[1]),i.stderr=i.stderr.replace(/\n?__CM_NET__:\d+\n?/g,"")),i.timedOut){let u=i.stdout?.trim();return i.backgrounded&&u?J("ctx_execute",{content:[{type:"text",text:`${u}
297
309
 
298
- _(process backgrounded after ${r}ms \u2014 still running)_`}]}):u?G("ctx_execute",{content:[{type:"text",text:`${u}
310
+ _(process backgrounded after ${r}ms \u2014 still running)_`}]}):u?J("ctx_execute",{content:[{type:"text",text:`${u}
299
311
 
300
- _(timed out after ${r}ms \u2014 partial output shown above)_`}]}):G("ctx_execute",{content:[{type:"text",text:`Execution timed out after ${r}ms
312
+ _(timed out after ${r}ms \u2014 partial output shown above)_`}]}):J("ctx_execute",{content:[{type:"text",text:`Execution timed out after ${r}ms
301
313
 
302
314
  stderr:
303
- ${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:u,output:l}=ep({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(l)>pa?(yr(Buffer.byteLength(l)),G("ctx_execute",{content:[{type:"text",text:fa(l,o,u?`execute:${t}:error`:`execute:${t}`)}],isError:u})):G("ctx_execute",{content:[{type:"text",text:l}],isError:u})}let c=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(c)>pa?(yr(Buffer.byteLength(c)),G("ctx_execute",{content:[{type:"text",text:fa(c,o,`execute:${t}`)}]})):G("ctx_execute",{content:[{type:"text",text:c}]})}catch(s){let i=s instanceof Error?s.message:String(s);return G("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});var pa=5e3;function fa(t,e,r,n=5){let o=t.split(`
304
- `).length,s=Buffer.byteLength(t),i=is(),a=i.indexPlainText(t,r),c=i.searchWithFallback(e,n,r),u=i.getDistinctiveTerms(a.sourceId);if(c.length===0){let d=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`No sections matched intent "${e}" in ${o}-line output (${(s/1024).toFixed(1)}KB).`];return u.length>0&&(d.push(""),d.push(`Searchable terms: ${u.join(", ")}`)),d.push(""),d.push("Use search() to explore the indexed content."),d.join(`
315
+ ${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:u,output:l}=gp({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(l)>Ta?(kr(Buffer.byteLength(l)),J("ctx_execute",{content:[{type:"text",text:Pa(l,o,u?`execute:${t}:error`:`execute:${t}`)}],isError:u})):J("ctx_execute",{content:[{type:"text",text:l}],isError:u})}let c=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(c)>Ta?(kr(Buffer.byteLength(c)),J("ctx_execute",{content:[{type:"text",text:Pa(c,o,`execute:${t}`)}]})):J("ctx_execute",{content:[{type:"text",text:c}]})}catch(s){let i=s instanceof Error?s.message:String(s);return J("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});var Ta=5e3;function Pa(t,e,r,n=5){let o=t.split(`
316
+ `).length,s=Buffer.byteLength(t),i=xs(),a=i.indexPlainText(t,r),c=i.searchWithFallback(e,n,r),u=i.getDistinctiveTerms(a.sourceId);if(c.length===0){let d=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`No sections matched intent "${e}" in ${o}-line output (${(s/1024).toFixed(1)}KB).`];return u.length>0&&(d.push(""),d.push(`Searchable terms: ${u.join(", ")}`)),d.push(""),d.push("Use search() to explore the indexed content."),d.join(`
305
317
  `)}let l=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`${c.length} sections matched "${e}" (${o} lines, ${(s/1024).toFixed(1)}KB):`,""];for(let d of c){let f=d.content.split(`
306
318
  `)[0].slice(0,120);l.push(` - ${d.title}: ${f}`)}return u.length>0&&(l.push(""),l.push(`Searchable terms: ${u.join(", ")}`)),l.push(""),l.push("Use search(queries: [...]) to retrieve full content of any section."),l.join(`
307
- `)}Mt.registerTool("ctx_execute_file",{title:"Execute File Processing",description:`Read a file and process it without loading contents into context. The file is read into a FILE_CONTENT variable inside the sandbox. Only your printed summary enters context.
319
+ `)}Pt.registerTool("ctx_execute_file",{title:"Execute File Processing",description:`Read a file and process it without loading contents into context. The file is read into a FILE_CONTENT variable inside the sandbox. Only your printed summary enters context.
308
320
 
309
- PREFER THIS OVER Read/cat for: log files, data files (CSV, JSON, XML), large source files for analysis, and any file where you need to extract specific information rather than read the entire content.`,inputSchema:F.object({path:F.string().describe("Absolute file path or relative to project root"),language:F.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:F.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:F.number().optional().default(3e4).describe("Max execution time in ms"),intent:F.string().optional().describe("What you're looking for in the output. When provided and output is large (>5KB), returns only matching sections via BM25 search instead of truncated output.")})},async({path:t,language:e,code:r,timeout:n,intent:o})=>{let s=LO(t,"execute_file");if(s)return s;if(e==="shell"){let i=Tp(r,"execute_file");if(i)return i}else{let i=zv(r,e,"execute_file");if(i)return i}try{let i=await ss.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return G("ctx_execute_file",{content:[{type:"text",text:`Timed out processing ${t} after ${n}ms`}],isError:!0});if(i.exitCode!==0){let{isError:c,output:u}=ep({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>pa?(yr(Buffer.byteLength(u)),G("ctx_execute_file",{content:[{type:"text",text:fa(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):G("ctx_execute_file",{content:[{type:"text",text:u}],isError:c})}let a=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(a)>pa?(yr(Buffer.byteLength(a)),G("ctx_execute_file",{content:[{type:"text",text:fa(a,o,`file:${t}`)}]})):G("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return G("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});Mt.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned.
321
+ PREFER THIS OVER Read/cat for: log files, data files (CSV, JSON, XML), large source files for analysis, and any file where you need to extract specific information rather than read the entire content.`,inputSchema:Z.object({path:Z.string().describe("Absolute file path or relative to project root"),language:Z.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:Z.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:Z.number().optional().default(3e4).describe("Max execution time in ms"),intent:Z.string().optional().describe("What you're looking for in the output. When provided and output is large (>5KB), returns only matching sections via BM25 search instead of truncated output.")})},async({path:t,language:e,code:r,timeout:n,intent:o})=>{let s=FC(t,"execute_file");if(s)return s;if(e==="shell"){let i=Gp(r,"execute_file");if(i)return i}else{let i=Sx(r,e,"execute_file");if(i)return i}try{let i=await vs.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return J("ctx_execute_file",{content:[{type:"text",text:`Timed out processing ${t} after ${n}ms`}],isError:!0});if(i.exitCode!==0){let{isError:c,output:u}=gp({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Ta?(kr(Buffer.byteLength(u)),J("ctx_execute_file",{content:[{type:"text",text:Pa(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):J("ctx_execute_file",{content:[{type:"text",text:u}],isError:c})}let a=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(a)>Ta?(kr(Buffer.byteLength(a)),J("ctx_execute_file",{content:[{type:"text",text:Pa(a,o,`file:${t}`)}]})):J("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return J("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});Pt.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned.
310
322
 
311
323
  WHEN TO USE:
312
324
  - Documentation from Context7, Skills, or MCP tools (API docs, framework guides, code examples)
@@ -317,16 +329,16 @@ WHEN TO USE:
317
329
  - Any content with code examples you may need to reference precisely
318
330
 
319
331
  After indexing, use 'search' to retrieve specific sections on-demand.
320
- Do NOT use for: log files, test output, CSV, build output \u2014 use 'execute_file' for those.`,inputSchema:F.object({content:F.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:F.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:F.string().optional().describe("Label for the indexed content (e.g., 'Context7: React useEffect', 'Skill: frontend-design')")})},async({content:t,path:e,source:r})=>{if(!t&&!e)return G("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)yr(Buffer.byteLength(t));else if(e)try{let s=await import("fs");yr(s.readFileSync(e).byteLength)}catch{}let o=is().index({content:t,path:e,source:r});return G("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label}
321
- Use search(queries: ["..."]) to query this content. Use source: "${o.label}" to scope results.`}]})}catch(n){let o=n instanceof Error?n.message:String(n);return G("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});var tn=0,xp=Date.now(),BO=6e4,Pv=3,Rv=8;Mt.registerTool("ctx_search",{title:"Search Indexed Content",description:`Search indexed content. Pass ALL search questions as queries array in ONE call.
332
+ Do NOT use for: log files, test output, CSV, build output \u2014 use 'execute_file' for those.`,inputSchema:Z.object({content:Z.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:Z.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:Z.string().optional().describe("Label for the indexed content (e.g., 'Context7: React useEffect', 'Skill: frontend-design')")})},async({content:t,path:e,source:r})=>{if(!t&&!e)return J("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)kr(Buffer.byteLength(t));else if(e)try{let s=await import("fs");kr(s.readFileSync(e).byteLength)}catch{}let o=xs().index({content:t,path:e,source:r});return J("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label}
333
+ Use search(queries: ["..."]) to query this content. Use source: "${o.label}" to scope results.`}]})}catch(n){let o=n instanceof Error?n.message:String(n);return J("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});var cn=0,Fp=Date.now(),WC=6e4,gx=3,_x=8;function Wp(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function YC(t){let e=Wp(t);return Array.isArray(e)?e.map((r,n)=>typeof r=="string"?{label:`cmd_${n+1}`,command:r}:r):e}Pt.registerTool("ctx_search",{title:"Search Indexed Content",description:`Search indexed content. Pass ALL search questions as queries array in ONE call.
322
334
 
323
- TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:F.object({queries:F.array(F.string()).optional().describe("Array of search queries. Batch ALL questions in one call."),limit:F.number().optional().default(3).describe("Results per query (default: 3)"),source:F.string().optional().describe("Filter to a specific indexed source (partial match).")})},async t=>{try{let e=is(),r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return G("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s}=t,i=Date.now();if(i-xp>BO&&(tn=0,xp=i),tn++,tn>Rv)return G("ctx_search",{content:[{type:"text",text:`BLOCKED: ${tn} search calls in ${Math.round((i-xp)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let a=tn>Pv?1:Math.min(o,2),c=40*1024,u=0,l=[];for(let f of n){if(u>c){l.push(`## ${f}
335
+ TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:Z.object({queries:Z.preprocess(Wp,Z.array(Z.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:Z.number().optional().default(3).describe("Results per query (default: 3)"),source:Z.string().optional().describe("Filter to a specific indexed source (partial match).")})},async t=>{try{let e=xs(),r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return J("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s}=t,i=Date.now();if(i-Fp>WC&&(cn=0,Fp=i),cn++,cn>_x)return J("ctx_search",{content:[{type:"text",text:`BLOCKED: ${cn} search calls in ${Math.round((i-Fp)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let a=cn>gx?1:Math.min(o,2),c=40*1024,u=0,l=[];for(let f of n){if(u>c){l.push(`## ${f}
324
336
  (output cap reached)
325
337
  `);continue}let m=e.searchWithFallback(f,a,s);if(m.length===0){l.push(`## ${f}
326
- No results found.`);continue}let p=m.map((h,g)=>{let y=`--- [${h.source}] ---`,x=`### ${h.title}`,b=Nv(h.content,f,1500,h.highlighted);return`${y}
338
+ No results found.`);continue}let p=m.map((h,g)=>{let _=`--- [${h.source}] ---`,x=`### ${h.title}`,S=kx(h.content,f,1500,h.highlighted);return`${_}
327
339
  ${x}
328
340
 
329
- ${b}`}).join(`
341
+ ${S}`}).join(`
330
342
 
331
343
  `);l.push(`## ${f}
332
344
 
@@ -334,10 +346,10 @@ ${p}`),u+=p.length}let d=l.join(`
334
346
 
335
347
  ---
336
348
 
337
- `);if(tn>=Pv&&(d+=`
349
+ `);if(cn>=gx&&(d+=`
338
350
 
339
- \u26A0 search call #${tn}/${Rv} in this window. Results limited to ${a}/query. Batch queries: search(queries: ["q1","q2","q3"]) or use batch_execute.`),d.trim().length===0){let f=e.listSources(),m=f.length>0?`
340
- Indexed sources: ${f.map(p=>`"${p.label}" (${p.chunkCount} sections)`).join(", ")}`:"";return G("ctx_search",{content:[{type:"text",text:`No results found.${m}`}]})}return G("ctx_search",{content:[{type:"text",text:d}]})}catch(e){let r=e instanceof Error?e.message:String(e);return G("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});var bp=null,kp=null;function KO(){return bp||(bp=Sp(import.meta.url).resolve("turndown")),bp}function GO(){return kp||(kp=Sp(import.meta.url).resolve("turndown-plugin-gfm")),kp}function JO(t,e){let r=JSON.stringify(KO()),n=JSON.stringify(GO()),o=JSON.stringify(e);return`
351
+ \u26A0 search call #${cn}/${_x} in this window. Results limited to ${a}/query. Batch queries: search(queries: ["q1","q2","q3"]) or use batch_execute.`),d.trim().length===0){let f=e.listSources(),m=f.length>0?`
352
+ Indexed sources: ${f.map(p=>`"${p.label}" (${p.chunkCount} sections)`).join(", ")}`:"";return J("ctx_search",{content:[{type:"text",text:`No results found.${m}`}]})}return J("ctx_search",{content:[{type:"text",text:d}]})}catch(e){let r=e instanceof Error?e.message:String(e);return J("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});var Vp=null,Bp=null;function XC(){return Vp||(Vp=Ra(import.meta.url).resolve("turndown")),Vp}function QC(){return Bp||(Bp=Ra(import.meta.url).resolve("turndown-plugin-gfm")),Bp}function eI(t,e){let r=JSON.stringify(XC()),n=JSON.stringify(QC()),o=JSON.stringify(e);return`
341
353
  const TurndownService = require(${r});
342
354
  const { gfm } = require(${n});
343
355
  const fs = require('fs');
@@ -383,36 +395,36 @@ async function main() {
383
395
  emit('text', text);
384
396
  }
385
397
  main();
386
- `}Mt.registerTool("ctx_fetch_and_index",{title:"Fetch & Index URL",description:`Fetches URL content, converts HTML to markdown, indexes into searchable knowledge base, and returns a ~3KB preview. Full content stays in sandbox \u2014 use search() for deeper lookups.
398
+ `}Pt.registerTool("ctx_fetch_and_index",{title:"Fetch & Index URL",description:`Fetches URL content, converts HTML to markdown, indexes into searchable knowledge base, and returns a ~3KB preview. Full content stays in sandbox \u2014 use search() for deeper lookups.
387
399
 
388
400
  Better than WebFetch: preview is immediate, full content is searchable, raw HTML never enters context.
389
401
 
390
- Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, plain text is indexed directly.`,inputSchema:F.object({url:F.string().describe("The URL to fetch and index"),source:F.string().optional().describe("Label for the indexed content (e.g., 'React useEffect docs', 'Supabase Auth API')")})},async({url:t,source:e})=>{let r=da(MO(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let n=JO(t,r),o=await ss.execute({language:"javascript",code:n,timeout:3e4});if(o.exitCode!==0)return G("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${o.stderr||o.stdout}`}],isError:!0});let s=is(),i=(o.stdout||"").trim(),a;try{a=NO(r,"utf-8").trim()}catch{return G("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(a.length===0)return G("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});yr(Buffer.byteLength(a));let c;i==="__CM_CT__:json"?c=s.indexJSON(a,e??t):i==="__CM_CT__:text"?c=s.indexPlainText(a,e??t):c=s.index({content:a,source:e??t});let u=3072,l=a.length>u?a.slice(0,u)+`
402
+ Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, plain text is indexed directly.`,inputSchema:Z.object({url:Z.string().describe("The URL to fetch and index"),source:Z.string().optional().describe("Label for the indexed content (e.g., 'React useEffect docs', 'Supabase Auth API')")})},async({url:t,source:e})=>{let r=$a(ZC(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let n=eI(t,r),o=await vs.execute({language:"javascript",code:n,timeout:3e4});if(o.exitCode!==0)return J("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${o.stderr||o.stdout}`}],isError:!0});let s=xs(),i=(o.stdout||"").trim(),a;try{a=MC(r,"utf-8").trim()}catch{return J("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(a.length===0)return J("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});kr(Buffer.byteLength(a));let c;i==="__CM_CT__:json"?c=s.indexJSON(a,e??t):i==="__CM_CT__:text"?c=s.indexPlainText(a,e??t):c=s.index({content:a,source:e??t});let u=3072,l=a.length>u?a.slice(0,u)+`
391
403
 
392
404
  \u2026[truncated \u2014 use search() for full content]`:a,d=(Buffer.byteLength(a)/1024).toFixed(1),f=[`Fetched and indexed **${c.totalChunks} sections** (${d}KB) from: ${c.label}`,`Full content indexed in sandbox \u2014 use search(queries: [...], source: "${c.label}") for specific lookups.`,"","---","",l].join(`
393
- `);return G("ctx_fetch_and_index",{content:[{type:"text",text:f}]})}catch(n){let o=n instanceof Error?n.message:String(n);return G("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${o}`}],isError:!0})}finally{try{AO(r)}catch{}}});Mt.registerTool("ctx_batch_execute",{title:"Batch Execute & Search",description:`Execute multiple commands in ONE call, auto-index all output, and search with multiple queries. Returns search results directly \u2014 no follow-up calls needed.
405
+ `);return J("ctx_fetch_and_index",{content:[{type:"text",text:f}]})}catch(n){let o=n instanceof Error?n.message:String(n);return J("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${o}`}],isError:!0})}finally{try{DC(r)}catch{}}});Pt.registerTool("ctx_batch_execute",{title:"Batch Execute & Search",description:`Execute multiple commands in ONE call, auto-index all output, and search with multiple queries. Returns search results directly \u2014 no follow-up calls needed.
394
406
 
395
407
  THIS IS THE PRIMARY TOOL. Use this instead of multiple execute() calls.
396
408
 
397
409
  One batch_execute call replaces 30+ execute calls + 10+ search calls.
398
- Provide all commands to run and all queries to search \u2014 everything happens in one round trip.`,inputSchema:F.object({commands:F.array(F.object({label:F.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:F.string().describe("Shell command to execute")})).min(1).describe("Commands to execute as a batch. Each runs sequentially, output is labeled with the section header."),queries:F.array(F.string()).min(1).describe("Search queries to extract information from indexed output. Use 5-8 comprehensive queries. Each returns top 5 matching sections with full content. This is your ONLY chance \u2014 put ALL your questions here. No follow-up calls needed."),timeout:F.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=Tp(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1;for(let w of t){let R=Date.now()-o,ie=r-R;if(ie<=0){n.push(`# ${w.label}
410
+ Provide all commands to run and all queries to search \u2014 everything happens in one round trip.`,inputSchema:Z.object({commands:Z.preprocess(YC,Z.array(Z.object({label:Z.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:Z.string().describe("Shell command to execute")})).min(1).describe("Commands to execute as a batch. Each runs sequentially, output is labeled with the section header.")),queries:Z.preprocess(Wp,Z.array(Z.string()).min(1).describe("Search queries to extract information from indexed output. Use 5-8 comprehensive queries. Each returns top 5 matching sections with full content. This is your ONLY chance \u2014 put ALL your questions here. No follow-up calls needed.")),timeout:Z.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=Gp(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1;for(let w of t){let R=Date.now()-o,oe=r-R;if(oe<=0){n.push(`# ${w.label}
399
411
 
400
412
  (skipped \u2014 batch timeout exceeded)
401
- `),s=!0;continue}let ae=await ss.execute({language:"shell",code:`${w.command} 2>&1`,timeout:ie}),Xe=ae.stdout||"(no output)";if(n.push(`# ${w.label}
413
+ `),s=!0;continue}let ge=await vs.execute({language:"shell",code:`${w.command} 2>&1`,timeout:oe}),Ae=ge.stdout||"(no output)";if(n.push(`# ${w.label}
402
414
 
403
- ${Xe}
404
- `),ae.timedOut){s=!0;let Dt=t.indexOf(w);for(let fe=Dt+1;fe<t.length;fe++)n.push(`# ${t[fe].label}
415
+ ${Ae}
416
+ `),ge.timedOut){s=!0;let Ut=t.indexOf(w);for(let ht=Ut+1;ht<t.length;ht++)n.push(`# ${t[ht].label}
405
417
 
406
418
  (skipped \u2014 batch timeout exceeded)
407
419
  `);break}}let i=n.join(`
408
420
  `),a=Buffer.byteLength(i),c=i.split(`
409
- `).length;if(s&&n.length===0)return G("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});yr(a);let u=is(),l=`batch:${t.map(w=>w.label).join(",").slice(0,80)}`,d=u.index({content:i,source:l}),f=u.getChunksBySource(d.sourceId),m=["## Indexed Sections",""],p=[];for(let w of f){let R=Buffer.byteLength(w.content);m.push(`- ${w.title} (${(R/1024).toFixed(1)}KB)`),p.push(w.title)}let h=80*1024,g=[],y=0;for(let w of e){if(y>h){g.push(`## ${w}
421
+ `).length;if(s&&n.length===0)return J("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});kr(a);let u=xs(),l=`batch:${t.map(w=>w.label).join(",").slice(0,80)}`,d=u.index({content:i,source:l}),f=u.getChunksBySource(d.sourceId),m=["## Indexed Sections",""],p=[];for(let w of f){let R=Buffer.byteLength(w.content);m.push(`- ${w.title} (${(R/1024).toFixed(1)}KB)`),p.push(w.title)}let h=80*1024,g=[],_=0;for(let w of e){if(_>h){g.push(`## ${w}
410
422
  (output cap reached \u2014 use search(queries: ["${w}"]) for details)
411
- `);continue}let R=u.searchWithFallback(w,3,l),ie=!1;if(R.length===0&&(R=u.searchWithFallback(w,3),ie=R.length>0),g.push(`## ${w}`),ie&&g.push("> **Note:** No results in current batch output. Showing results from previously indexed content."),g.push(""),R.length>0)for(let ae of R){let Xe=Nv(ae.content,w,3e3,ae.highlighted),Dt=ie?` _(source: ${ae.source})_`:"";g.push(`### ${ae.title}${Dt}`),g.push(Xe),g.push(""),y+=Xe.length+ae.title.length}else g.push("No matching sections found."),g.push("")}let x=u.getDistinctiveTerms?u.getDistinctiveTerms(d.sourceId):[],b=[`Executed ${t.length} commands (${c} lines, ${(a/1024).toFixed(1)}KB). Indexed ${d.totalChunks} sections. Searched ${e.length} queries.`,"",...m,"",...g,x.length>0?`
423
+ `);continue}let R=u.searchWithFallback(w,3,l),oe=!1;if(R.length===0&&(R=u.searchWithFallback(w,3),oe=R.length>0),g.push(`## ${w}`),oe&&g.push("> **Note:** No results in current batch output. Showing results from previously indexed content."),g.push(""),R.length>0)for(let ge of R){let Ae=kx(ge.content,w,3e3,ge.highlighted),Ut=oe?` _(source: ${ge.source})_`:"";g.push(`### ${ge.title}${Ut}`),g.push(Ae),g.push(""),_+=Ae.length+ge.title.length}else g.push("No matching sections found."),g.push("")}let x=u.getDistinctiveTerms?u.getDistinctiveTerms(d.sourceId):[],S=[`Executed ${t.length} commands (${c} lines, ${(a/1024).toFixed(1)}KB). Indexed ${d.totalChunks} sections. Searched ${e.length} queries.`,"",...m,"",...g,x.length>0?`
412
424
  Searchable terms for follow-up: ${x.join(", ")}`:""].join(`
413
- `);return G("ctx_batch_execute",{content:[{type:"text",text:b}]})}catch(n){let o=n instanceof Error?n.message:String(n);return G("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});Mt.registerTool("ctx_stats",{title:"Session Statistics",description:"Returns context consumption statistics for the current session. Shows total bytes returned to context, breakdown by tool, call counts, estimated token usage, and context savings ratio.",inputSchema:F.object({})},async()=>{let t=Object.values(qe.bytesReturned).reduce((d,f)=>d+f,0),e=Object.values(qe.calls).reduce((d,f)=>d+f,0),n=((Date.now()-qe.sessionStart)/6e4).toFixed(1),o=qe.bytesIndexed+qe.bytesSandboxed,s=o+t,i=s/Math.max(t,1),a=s>0?((1-t/s)*100).toFixed(0):"0",c=d=>d>=1024*1024?`${(d/1024/1024).toFixed(1)}MB`:`${(d/1024).toFixed(1)}KB`,u=[`## context-mode \u2014 Session Report (${n} min)`];if(u.push("","### Context Window Protection",""),e===0)u.push("No context-mode tool calls yet. Use `batch_execute`, `execute`, or `fetch_and_index` to keep raw output out of your context window.");else{u.push("| Metric | Value |","|--------|------:|",`| Total data processed | **${c(s)}** |`,`| Kept in sandbox (never entered context) | **${c(o)}** |`,`| Entered context | ${c(t)} |`,`| Estimated tokens saved | ~${Math.round(o/4).toLocaleString()} |`,`| **Context savings** | **${i.toFixed(1)}x (${a}% reduction)** |`);let d=new Set([...Object.keys(qe.calls),...Object.keys(qe.bytesReturned)]);if(d.size>0){u.push("","| Tool | Calls | Context | Tokens |","|------|------:|--------:|-------:|");for(let f of Array.from(d).sort()){let m=qe.calls[f]||0,p=qe.bytesReturned[f]||0,h=Math.round(p/4);u.push(`| ${f} | ${m} | ${c(p)} | ~${h.toLocaleString()} |`)}u.push(`| **Total** | **${e}** | **${c(t)}** | **~${Math.round(t/4).toLocaleString()}** |`)}o>0&&u.push("",`Without context-mode, **${c(s)}** of raw output would flood your context window. Instead, **${a}%** stayed in sandbox.`)}try{let d=process.env.CLAUDE_PROJECT_DIR||process.cwd(),f=IO("sha256").update(d).digest("hex").slice(0,16),m=da(Iv(),".claude","context-mode","sessions",`${f}.db`);if(Ov(m)){let h=Sp(import.meta.url)("better-sqlite3"),g=new h(m,{readonly:!0}),y=g.prepare("SELECT COUNT(*) as cnt FROM session_events").get(),x=g.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),b=g.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get(),w=g.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get();if(y.cnt>0){let R=b?.compact_count??0,ie=g.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),ae=new Map;for(let fe of ie){ae.has(fe.category)||ae.set(fe.category,new Set);let Jt=ae.get(fe.category);if(Jt.size<5){let Me=fe.data;fe.category==="file"?Me=fe.data.split("/").pop()||fe.data:fe.category==="prompt"&&(Me=Me.length>50?Me.slice(0,47)+"...":Me),Me.length>40&&(Me=Me.slice(0,37)+"..."),Jt.add(Me)}}let Xe={file:"Files tracked",rule:"Project rules (CLAUDE.md)",prompt:"Your requests saved",mcp:"Plugin tools used",git:"Git operations",env:"Environment setup",error:"Errors caught",task:"Tasks in progress",decision:"Your decisions",cwd:"Working directory",skill:"Skills used",subagent:"Delegated work",intent:"Session mode",data:"Data references",role:"Behavioral directives"},Dt={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won't ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"};u.push("","### Session Continuity","","| What's preserved | Count | I remember... | Why it matters |","|------------------|------:|---------------|----------------|");for(let fe of x){let Jt=Xe[fe.category]||fe.category,Me=ae.get(fe.category),as=Me?Array.from(Me).join(", "):"",ma=Dt[fe.category]||"Survives context resets";u.push(`| ${Jt} | ${fe.cnt} | ${as} | ${ma} |`)}u.push(`| **Total** | **${y.cnt}** | | **Zero knowledge lost on compact** |`),u.push(""),R>0?u.push(`Context has been compacted **${R} time(s)** \u2014 session knowledge was preserved each time.`):u.push("When your context compacts, all of this will restore Claude's awareness \u2014 no starting from scratch."),w&&!w.consumed&&u.push(`Resume snapshot ready (${w.event_count} events) for the next compaction.`),u.push(""),u.push("> **Note:** Previous session data is loaded when you start a new session. Without `--continue`, old session history is cleaned up to keep the database lean.")}g.close()}}catch{}u.push("","---","_Display this entire report as-is in your response. Do NOT summarize, collapse, or paraphrase any section._");let l=u.join(`
414
- `);return G("ctx_stats",{content:[{type:"text",text:l}]})});Mt.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a markdown checklist.",inputSchema:F.object({})},async()=>{let r=["## ctx-doctor","","Run this command using your shell execution tool:","","```",`node "${os(os(wp(import.meta.url)))}/build/cli.js" doctor`,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for PASS, `[ ]` for FAIL, `[-]` for WARN","- Example format:"," ```"," ## context-mode doctor"," - [x] Runtimes: 6/10 (javascript, typescript, python, shell, ruby, perl)"," - [x] Performance: FAST (Bun)"," - [x] Server test: PASS"," - [x] Hooks: PASS"," - [x] FTS5: PASS"," - [x] npm: v0.9.23"," ```"].join(`
415
- `);return G("ctx_doctor",{content:[{type:"text",text:r}]})});Mt.registerTool("ctx_upgrade",{title:"Upgrade Plugin",description:"Upgrade context-mode to the latest version. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a checklist. Tell the user to restart their session after upgrade.",inputSchema:F.object({})},async()=>{let r=["## ctx-upgrade","","Run this command using your shell execution tool:","","```",`node "${os(os(wp(import.meta.url)))}/build/cli.js" upgrade`,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for success, `[ ]` for failure","- Example format:"," ```"," ## context-mode upgrade"," - [x] Pulled latest from GitHub"," - [x] Built and installed v0.9.24"," - [x] npm global updated"," - [x] Hooks configured"," - [x] Doctor: all checks PASS"," ```","- Tell the user to restart their session to pick up the new version."].join(`
416
- `);return G("ctx_upgrade",{content:[{type:"text",text:r}]})});async function WO(){let t=Ay();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=()=>{ss.cleanupBackgrounded(),Hn&&Hn.cleanup()},r=async()=>{e(),process.exit(0)};process.on("exit",e),process.on("SIGINT",()=>{r()}),process.on("SIGTERM",()=>{r()}),Hy({onShutdown:()=>r()});let n=new Wi;await Mt.connect(n);try{let{detectPlatform:o,getAdapter:s}=await Promise.resolve().then(()=>(Ev(),Tv)),i=o(),a=await s(i.platform);if(!a.capabilities.sessionStart){let c=jO(os(wp(import.meta.url)),".."),u=process.env.CLAUDE_PROJECT_DIR??process.env.CODEX_HOME??process.cwd(),l=a.writeRoutingInstructions(u,c);l&&console.error(`Wrote routing instructions: ${l}`)}}catch{}console.error(`Context Mode MCP server v${Cv} running on stdio`),console.error(`Detected runtimes:
417
- ${by($p)}`),Gd()||(console.error(`
418
- Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}WO().catch(t=>{console.error("Fatal:",t),process.exit(1)});export{Nv as extractSnippet,VO as positionsFromHighlight};
425
+ `);return J("ctx_batch_execute",{content:[{type:"text",text:S}]})}catch(n){let o=n instanceof Error?n.message:String(n);return J("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});Pt.registerTool("ctx_stats",{title:"Session Statistics",description:"Returns context consumption statistics for the current session. Shows total bytes returned to context, breakdown by tool, call counts, estimated token usage, and context savings ratio.",inputSchema:Z.object({})},async()=>{let t=Object.values(Ve.bytesReturned).reduce((d,f)=>d+f,0),e=Object.values(Ve.calls).reduce((d,f)=>d+f,0),n=((Date.now()-Ve.sessionStart)/6e4).toFixed(1),o=Ve.bytesIndexed+Ve.bytesSandboxed,s=o+t,i=s/Math.max(t,1),a=s>0?((1-t/s)*100).toFixed(0):"0",c=d=>d>=1024*1024?`${(d/1024/1024).toFixed(1)}MB`:`${(d/1024).toFixed(1)}KB`,u=[`## context-mode \u2014 Session Report (${n} min)`];if(u.push("","### Context Window Protection",""),e===0)u.push("No context-mode tool calls yet. Use `batch_execute`, `execute`, or `fetch_and_index` to keep raw output out of your context window.");else{u.push("| Metric | Value |","|--------|------:|",`| Total data processed | **${c(s)}** |`,`| Kept in sandbox (never entered context) | **${c(o)}** |`,`| Entered context | ${c(t)} |`,`| Estimated tokens saved | ~${Math.round(o/4).toLocaleString()} |`,`| **Context savings** | **${i.toFixed(1)}x (${a}% reduction)** |`);let d=new Set([...Object.keys(Ve.calls),...Object.keys(Ve.bytesReturned)]);if(d.size>0){u.push("","| Tool | Calls | Context | Tokens |","|------|------:|--------:|-------:|");for(let f of Array.from(d).sort()){let m=Ve.calls[f]||0,p=Ve.bytesReturned[f]||0,h=Math.round(p/4);u.push(`| ${f} | ${m} | ${c(p)} | ~${h.toLocaleString()} |`)}u.push(`| **Total** | **${e}** | **${c(t)}** | **~${Math.round(t/4).toLocaleString()}** |`)}o>0&&u.push("",`Without context-mode, **${c(s)}** of raw output would flood your context window. Instead, **${a}%** stayed in sandbox.`)}try{let d=process.env.CLAUDE_PROJECT_DIR||process.cwd(),f=NC("sha256").update(d).digest("hex").slice(0,16),m=mv(),p=$a(vx(),".claude","context-mode","sessions",`${f}${m}.db`);if(yx(p)){let g=Ra(import.meta.url)("better-sqlite3"),_=new g(p,{readonly:!0}),x=_.prepare("SELECT COUNT(*) as cnt FROM session_events").get(),S=_.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),w=_.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get(),R=_.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get();if(x.cnt>0){let oe=w?.compact_count??0,ge=_.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),Ae=new Map;for(let be of ge){Ae.has(be.category)||Ae.set(be.category,new Set);let br=Ae.get(be.category);if(br.size<5){let Ze=be.data;be.category==="file"?Ze=be.data.split("/").pop()||be.data:be.category==="prompt"&&(Ze=Ze.length>50?Ze.slice(0,47)+"...":Ze),Ze.length>40&&(Ze=Ze.slice(0,37)+"..."),br.add(Ze)}}let Ut={file:"Files tracked",rule:"Project rules (CLAUDE.md)",prompt:"Your requests saved",mcp:"Plugin tools used",git:"Git operations",env:"Environment setup",error:"Errors caught",task:"Tasks in progress",decision:"Your decisions",cwd:"Working directory",skill:"Skills used",subagent:"Delegated work",intent:"Session mode",data:"Data references",role:"Behavioral directives"},ht={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won't ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"};u.push("","### Session Continuity","","| What's preserved | Count | I remember... | Why it matters |","|------------------|------:|---------------|----------------|");for(let be of S){let br=Ut[be.category]||be.category,Ze=Ae.get(be.category),Oa=Ze?Array.from(Ze).join(", "):"",bx=ht[be.category]||"Survives context resets";u.push(`| ${br} | ${be.cnt} | ${Oa} | ${bx} |`)}u.push(`| **Total** | **${x.cnt}** | | **Zero knowledge lost on compact** |`),u.push(""),oe>0?u.push(`Context has been compacted **${oe} time(s)** \u2014 session knowledge was preserved each time.`):u.push("When your context compacts, all of this will restore Claude's awareness \u2014 no starting from scratch."),R&&!R.consumed&&u.push(`Resume snapshot ready (${R.event_count} events) for the next compaction.`),u.push(""),u.push("> **Note:** Previous session data is loaded when you start a new session. Without `--continue`, old session history is cleaned up to keep the database lean.")}_.close()}}catch{}u.push("","---","_Display this entire report as-is in your response. Do NOT summarize, collapse, or paraphrase any section._");let l=u.join(`
426
+ `);return J("ctx_stats",{content:[{type:"text",text:l}]})});Pt.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a markdown checklist.",inputSchema:Z.object({})},async()=>{let r=["## ctx-doctor","","Run this command using your shell execution tool:","","```",`node "${ys(ys(Kp(import.meta.url)))}/build/cli.js" doctor`,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for PASS, `[ ]` for FAIL, `[-]` for WARN","- Example format:"," ```"," ## context-mode doctor"," - [x] Runtimes: 6/10 (javascript, typescript, python, shell, ruby, perl)"," - [x] Performance: FAST (Bun)"," - [x] Server test: PASS"," - [x] Hooks: PASS"," - [x] FTS5: PASS"," - [x] npm: v0.9.23"," ```"].join(`
427
+ `);return J("ctx_doctor",{content:[{type:"text",text:r}]})});Pt.registerTool("ctx_upgrade",{title:"Upgrade Plugin",description:"Upgrade context-mode to the latest version. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a checklist. Tell the user to restart their session after upgrade.",inputSchema:Z.object({})},async()=>{let r=["## ctx-upgrade","","Run this command using your shell execution tool:","","```",`node "${ys(ys(Kp(import.meta.url)))}/build/cli.js" upgrade`,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for success, `[ ]` for failure","- Example format:"," ```"," ## context-mode upgrade"," - [x] Pulled latest from GitHub"," - [x] Built and installed v0.9.24"," - [x] npm global updated"," - [x] Hooks configured"," - [x] Doctor: all checks PASS"," ```","- Tell the user to restart their session to pick up the new version."].join(`
428
+ `);return J("ctx_upgrade",{content:[{type:"text",text:r}]})});async function tI(){let t=sv();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=()=>{vs.cleanupBackgrounded(),to&&to.cleanup()},r=async()=>{e(),process.exit(0)};process.on("exit",e),process.on("SIGINT",()=>{r()}),process.on("SIGTERM",()=>{r()}),fv({onShutdown:()=>r()});let n=new ua;await Pt.connect(n);try{let{detectPlatform:o,getAdapter:s}=await Promise.resolve().then(()=>(hx(),mx)),i=Pt.server.getClientVersion(),a=o(i??void 0),c=await s(a.platform);if(i&&console.error(`MCP client: ${i.name} v${i.version} \u2192 ${a.platform}`),!c.capabilities.sessionStart){let u=LC(ys(Kp(import.meta.url)),".."),l=process.env.CLAUDE_PROJECT_DIR??process.env.CODEX_HOME??process.cwd(),d=c.writeRoutingInstructions(l,u);d&&console.error(`Wrote routing instructions: ${d}`)}}catch{}console.error(`Context Mode MCP server v${xx} running on stdio`),console.error(`Detected runtimes:
429
+ ${Vy(Jp)}`),lp()||(console.error(`
430
+ Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}tI().catch(t=>{console.error("Fatal:",t),process.exit(1)});export{kx as extractSnippet,GC as positionsFromHighlight};