diff --git a/cli.bundle.mjs b/cli.bundle.mjs index 2061283c..9070ff60 100755 --- a/cli.bundle.mjs +++ b/cli.bundle.mjs @@ -1,25 +1,25 @@ #!/usr/bin/env node -var Xk=Object.create;var tu=Object.defineProperty;var Qk=Object.getOwnPropertyDescriptor;var ew=Object.getOwnPropertyNames;var tw=Object.getPrototypeOf,rw=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>(t&&(e=t(t=0)),e);var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Le=(t,e)=>{for(var r in e)tu(t,r,{get:e[r],enumerable:!0})},nw=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ew(e))!rw.call(t,o)&&o!==r&&tu(t,o,{get:()=>e[o],enumerable:!(n=Qk(e,o))||n.enumerable});return t};var Yo=(t,e,r)=>(r=t!=null?Xk(tw(t)):{},nw(e||!t||!t.__esModule?tu(r,"default",{value:t,enumerable:!0}):r,t));var cu=R((lM,sg)=>{"use strict";var au={to(t,e){return e?`\x1B[${e+1};${t+1}H`:`\x1B[${t+1}G`},move(t,e){let r="";return t<0?r+=`\x1B[${-t}D`:t>0&&(r+=`\x1B[${t}C`),e<0?r+=`\x1B[${-e}A`:e>0&&(r+=`\x1B[${e}B`),r},up:(t=1)=>`\x1B[${t}A`,down:(t=1)=>`\x1B[${t}B`,forward:(t=1)=>`\x1B[${t}C`,backward:(t=1)=>`\x1B[${t}D`,nextLine:(t=1)=>"\x1B[E".repeat(t),prevLine:(t=1)=>"\x1B[F".repeat(t),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},mw={up:(t=1)=>"\x1B[S".repeat(t),down:(t=1)=>"\x1B[T".repeat(t)},fw={screen:"\x1B[2J",up:(t=1)=>"\x1B[1J".repeat(t),down:(t=1)=>"\x1B[J".repeat(t),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(t){let e="";for(let r=0;r{var Oi=process||{},lg=Oi.argv||[],Ri=Oi.env||{},Lw=!(Ri.NO_COLOR||lg.includes("--no-color"))&&(!!Ri.FORCE_COLOR||lg.includes("--color")||Oi.platform==="win32"||(Oi.stdout||{}).isTTY&&Ri.TERM!=="dumb"||!!Ri.CI),Fw=(t,e,r=t)=>n=>{let o=""+n,s=o.indexOf(e,t.length);return~s?t+Zw(o,e,r,s)+e:t+o+e},Zw=(t,e,r,n)=>{let o="",s=0;do o+=t.substring(s,n)+r,s=n+e.length,n=t.indexOf(e,s);while(~n);return o+t.substring(s)},dg=(t=Lw)=>{let e=t?Fw:()=>String;return{isColorSupported:t,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};hu.exports=dg();hu.exports.createColors=dg});import{execSync as gu}from"node:child_process";import{existsSync as mg}from"node:fs";function Fe(t){try{let e=_u?`where ${t}`:`command -v ${t}`;return gu(e,{stdio:"pipe"}),!0}catch{return!1}}function fg(){if(Fe("bun"))return!0;if(!_u){let t=process.env.HOME??process.env.USERPROFILE??"";if(t&&mg(`${t}/.bun/bin/bun`))return!0}return!1}function Uw(){return Fe("bun")?"bun":`${process.env.HOME??process.env.USERPROFILE??""}/.bun/bin/bun`}function Hw(){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(mg(e))return e;try{let r=gu("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 It(t){try{return gu(`${t} --version`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function Gn(){let e=fg()?Uw():null;return{javascript:e??process.execPath,typescript:e||(Fe("tsx")?"tsx":Fe("ts-node")?"ts-node":null),python:Fe("python3")?"python3":Fe("python")?"python":null,shell:_u?Hw()??(Fe("sh")?"sh":Fe("powershell")?"powershell":"cmd.exe"):Fe("bash")?"bash":"sh",ruby:Fe("ruby")?"ruby":null,go:Fe("go")?"go":null,rust:Fe("rustc")?"rustc":null,php:Fe("php")?"php":null,perl:Fe("perl")?"perl":null,r:Fe("Rscript")?"Rscript":Fe("r")?"r":null,elixir:Fe("elixir")?"elixir":null}}function Kn(){return fg()}function Ci(t){let e=[],r=t.javascript?.endsWith("bun")??!1;return e.push(` JavaScript: ${t.javascript} (${It(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${It(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${It(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${It(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${It(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${It(t.go)})`),t.rust&&e.push(` Rust: ${t.rust} (${It(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${It(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${It(t.perl)})`),t.r&&e.push(` R: ${t.r} (${It(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${It(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(` -`)}function Ii(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 hg(t,e,r){switch(e){case"javascript":return t.javascript.endsWith("bun")?[t.javascript,"run",r]:[t.javascript,r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript?.endsWith("bun")?[t.typescript,"run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}var _u,Ai=b(()=>{"use strict";_u=process.platform==="win32"});var gg,_g=b(()=>{"use strict";gg={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot",Codex:"codex","codex-mcp-client":"codex","Kilo Code":"kilo","Kiro CLI":"kiro","Pi CLI":"pi","Pi Coding Agent":"pi",Zed:"zed",zed:"zed"}});function ts(t,e){let r=es[e],n=yu(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function yu(t,e){if(e){let r=es[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function vu(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function xu(t){let e=Object.values(es);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var At,qw,yg,Bw,YM,es,vg,XM,xg=b(()=>{"use strict";At={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},qw=["Bash","WebFetch","Read","Grep","Agent","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],yg=qw.join("|"),Bw=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],YM=Bw.join("|"),es={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},vg=[At.PRE_TOOL_USE,At.SESSION_START],XM=[At.POST_TOOL_USE,At.PRE_COMPACT,At.USER_PROMPT_SUBMIT]});var Su={};Le(Su,{ClaudeCodeAdapter:()=>bu});import{createHash as bg}from"node:crypto";import{readFileSync as Ni,writeFileSync as Sg,mkdirSync as Vw,copyFileSync as Ww,accessSync as kg,existsSync as Gw,readdirSync as Kw,chmodSync as Jw,constants as wg}from"node:fs";import{resolve as tn,join as rs}from"node:path";import{homedir as Jn}from"node:os";var bu,ku=b(()=>{"use strict";xg();bu=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 tn(Jn(),".claude","settings.json")}getSessionDir(){let e=rs(Jn(),".claude","context-mode","sessions");return Vw(e,{recursive:!0}),e}getSessionDBPath(e){let r=bg("sha256").update(e).digest("hex").slice(0,16);return rs(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=bg("sha256").update(e).digest("hex").slice(0,16);return rs(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=Ni(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Sg(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=this.readPluginHooks(e),i=this.checkHookType(o,s,At.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,At.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=[rs(e,"hooks","hooks.json"),rs(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=Ni(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=>ts(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>ts(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=tn(Jn(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Ni(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=[tn(Jn(),".claude"),tn(Jn(),".config","claude")];for(let r of e){let n=tn(r,"plugins","cache","context-mode","context-mode");try{let s=Kw(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[];for(let a of Object.keys(n)){let c=n[a];if(!Array.isArray(c))continue;let u=c.filter(d=>{let m=d;if(!xu(m))return!0;let h=m.hooks??[];return h.every(f=>!f.command||!vu(f.command))?!0:h.every(f=>{let g=f.command?vu(f.command):null;return g?Gw(g):!0})}),l=c.length-u.length;l>0&&(n[a]=u,o.push(`Removed ${l} stale ${a} hook(s)`))}let s=this.readPluginHooks(e);if(s&&vg.every(c=>this.checkHookType(void 0,s,c))){for(let c of Object.keys(n)){let u=n[c];if(!Array.isArray(u))continue;let l=u.filter(m=>!xu(m)),d=u.length-l.length;d>0&&(n[c]=l,o.push(`Removed ${d} duplicate ${c} hook(s) \u2014 covered by plugin hooks.json`))}return r.hooks=n,this.writeSettings(r),o.push("Skipped settings.json registration \u2014 plugin hooks.json is sufficient"),o}let i=[At.PRE_TOOL_USE,At.SESSION_START];for(let a of i){let c=yu(a,e);if(a===At.PRE_TOOL_USE){let u={matcher:yg,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(m=>ts(m,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n.PreToolUse=l}else n.PreToolUse=[u],o.push(`Created ${a} hooks section`)}else{let u={matcher:"",hooks:[{type:"command",command:c}]},l=n[a];if(l&&Array.isArray(l)){let d=l.findIndex(m=>ts(m,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n[a]=l}else n[a]=[u],o.push(`Created ${a} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{kg(e,wg.R_OK);let r=e+".bak";return Ww(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(es)){let o=tn(e,"hooks",n);try{kg(o,wg.R_OK),Jw(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=tn(Jn(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Ni(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();Sg(n,JSON.stringify(o,null,2)+` -`,"utf-8")}catch{}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function Yn(t,e){let r=wu[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var Oe,wu,sD,iD,$g=b(()=>{"use strict";Oe={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},wu={[Oe.BEFORE_TOOL]:"beforetool.mjs",[Oe.AFTER_TOOL]:"aftertool.mjs",[Oe.PRE_COMPRESS]:"precompress.mjs",[Oe.SESSION_START]:"sessionstart.mjs"},sD=[Oe.BEFORE_TOOL,Oe.SESSION_START],iD=[Oe.AFTER_TOOL,Oe.PRE_COMPRESS]});var Cg={};Le(Cg,{GeminiCLIAdapter:()=>Eu});import{createHash as Eg}from"node:crypto";import{readFileSync as $u,writeFileSync as Tg,mkdirSync as Pg,copyFileSync as Yw,accessSync as Rg,chmodSync as Xw,constants as Og}from"node:fs";import{resolve as ns,join as zi}from"node:path";import{homedir as os}from"node:os";var Eu,Ig=b(()=>{"use strict";$g();Eu=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 ns(os(),".gemini","settings.json")}getSessionDir(){let e=zi(os(),".gemini","context-mode","sessions");return Pg(e,{recursive:!0}),e}getSessionDBPath(e){let r=Eg("sha256").update(e).digest("hex").slice(0,16);return zi(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Eg("sha256").update(e).digest("hex").slice(0,16);return zi(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[Oe.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:Yn(Oe.BEFORE_TOOL,e)}]}],[Oe.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:Yn(Oe.AFTER_TOOL,e)}]}],[Oe.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:Yn(Oe.PRE_COMPRESS,e)}]}],[Oe.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Yn(Oe.SESSION_START,e)}]}]}}readSettings(){try{let e=$u(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=ns(os(),".gemini");Pg(r,{recursive:!0}),Tg(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[Oe.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?.[Oe.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=ns(os(),".gemini","extensions","context-mode","package.json"),r=JSON.parse($u(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:Oe.BEFORE_TOOL},{name:Oe.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:Yn(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(h=>h.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{Rg(e,Og.R_OK);let r=e+".bak";return Yw(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=zi(e,"hooks","gemini-cli");for(let o of Object.values(wu)){let s=ns(n,o);try{Rg(s,Og.R_OK),Xw(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=ns(os(),".gemini","extensions","context-mode","package.json"),o=JSON.parse($u(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),Tg(n,JSON.stringify(o,null,2)+` -`,"utf-8")}catch{}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var rn,mD,fD,Ag=b(()=>{"use strict";rn={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},mD=[rn.BEFORE,rn.AFTER],fD=[rn.COMPACTING]});var jg={};Le(jg,{OpenCodeAdapter:()=>Tu});import{createHash as Ng}from"node:crypto";import{readFileSync as zg,writeFileSync as e$,mkdirSync as t$,copyFileSync as r$,accessSync as n$,constants as o$}from"node:fs";import{resolve as Vt,join as lr}from"node:path";import{homedir as Er}from"node:os";function Qw(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Tu,Mg=b(()=>{"use strict";Ag();Tu=class{get name(){return this.platform==="kilo"?"KiloCode":"OpenCode"}paradigm="ts-plugin";settingsPath;capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};platform;constructor(e="opencode"){this.platform=e}parsePreToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},toolOutput:r.output,isError:void 0,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return this.settingsPath??Vt(`${this.platform}.json`)}paths(){return this.platform==="kilo"?[Vt("kilo.json"),Vt("kilo.jsonc"),Vt(".kilo","kilo.json"),Vt(".kilo","kilo.jsonc"),lr(Er(),".config","kilo","kilo.json"),lr(Er(),".config","kilo","kilo.jsonc")]:[Vt("opencode.json"),Vt("opencode.jsonc"),Vt(".opencode","opencode.json"),Vt(".opencode","opencode.jsonc"),lr(Er(),".config","opencode","opencode.json"),lr(Er(),".config","opencode","opencode.jsonc")]}getSessionDir(){let e;process.platform==="win32"?e=process.env.APPDATA||lr(Er(),"AppData","Roaming"):e=process.env.XDG_CONFIG_HOME||lr(Er(),".config");let r=lr(e,this.platform,"context-mode","sessions");return t$(r,{recursive:!0}),r}getSessionDBPath(e){let r=Ng("sha256").update(e).digest("hex").slice(0,16);return lr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Ng("sha256").update(e).digest("hex").slice(0,16);return lr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[rn.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[rn.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[rn.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){this.settingsPath=void 0;let e=this.paths(),r=new Set(e.filter(s=>s.includes(Er()))),n=null,o;for(let s of e)try{let i=zg(s,"utf-8"),a=s.endsWith(".jsonc")?Qw(i):i,c=JSON.parse(a);n||(n=c,o=s);let u=r.has(s);if(this.hasContextModePlugin(c)||u)return this.settingsPath=s,c}catch{continue}return n?(this.settingsPath=o,n):null}writeSettings(e){e$(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r;let o=this.hasContextModePlugin(n);return Array.isArray(n.plugin)?r.push({check:"Plugin registration",status:o?"pass":"fail",message:o?"context-mode found in plugin array":"context-mode not found in plugin array",fix:o?void 0:"context-mode upgrade"}):r.push({check:"Plugin registration",status:"fail",message:`No plugin array found in ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r.push({check:"SessionStart hook",status:"warn",message:`SessionStart not supported in ${this.name} (see issues #14808, #5409)`}),r}checkPluginRegistration(){let e=this.readSettings();return e?this.hasContextModePlugin(e)?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:`context-mode not found in ${this.platform}.json plugin array`,fix:"context-mode upgrade"}:{check:"Plugin registration",status:"warn",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`}}getInstalledVersion(){try{let e=Vt(Er(),".cache",this.platform,"node_modules","context-mode","package.json"),r=JSON.parse(zg(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=this.checkPluginRegistration();if(!this.settingsPath)return null;if(e.status==="pass")return this.settingsPath;try{n$(this.settingsPath,o$.R_OK);let r=this.settingsPath+".bak";return r$(this.settingsPath,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}hasContextModePlugin(e){let r=e.plugin;return Array.isArray(r)&&r.some(n=>typeof n=="string"&&n.includes("context-mode"))}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var nn,bD,SD,Dg=b(()=>{"use strict";nn={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},bD=[nn.TOOL_CALL_BEFORE,nn.TOOL_CALL_AFTER],SD=[nn.COMMAND_NEW]});var Fg={};Le(Fg,{OpenClawAdapter:()=>Ru});import{createHash as Lg}from"node:crypto";import{readFileSync as Pu,writeFileSync as s$,mkdirSync as i$,copyFileSync as a$,accessSync as c$,constants as u$}from"node:fs";import{resolve as Tr,join as ss}from"node:path";import{homedir as ji}from"node:os";var Ru,Zg=b(()=>{"use strict";Dg();Ru=class{name="OpenClaw";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},toolOutput:r.output??r.tool_output,isError:r.isError??r.is_error,sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{block:!0,blockReason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{params:e.updatedInput};if(e.decision==="ask")return{block:!0,blockReason:e.reason??"Action requires user confirmation (security policy)"};e.decision==="context"&&e.additionalContext}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Tr("openclaw.json")}getSessionDir(){let e=ss(ji(),".openclaw","context-mode","sessions");return i$(e,{recursive:!0}),e}getSessionDBPath(e){let r=Lg("sha256").update(e).digest("hex").slice(0,16);return ss(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Lg("sha256").update(e).digest("hex").slice(0,16);return ss(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[nn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[nn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[nn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[Tr("openclaw.json"),Tr(".openclaw","openclaw.json"),ss(ji(),".openclaw","openclaw.json")];for(let r of e)try{let n=Pu(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=Tr("openclaw.json");s$(r,JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read openclaw.json",fix:"context-mode upgrade"}),r;let o=n.plugins,s=o?.entries;if(s){let a=Object.keys(s).some(c=>c.includes("context-mode"));if(r.push({check:"Plugin registration",status:a?"pass":"fail",message:a?"context-mode found in plugins.entries":"context-mode not found in plugins.entries",fix:a?void 0:"context-mode upgrade"}),a){let u=s["context-mode"]?.enabled!==!1;r.push({check:"Plugin enabled",status:u?"pass":"warn",message:u?"context-mode plugin is enabled":"context-mode plugin is disabled"})}}else r.push({check:"Plugin registration",status:"fail",message:"No plugins.entries found in openclaw.json",fix:"context-mode upgrade"});return o?.slots?.contextEngine==="context-mode"?r.push({check:"Context engine",status:"pass",message:"context-mode registered as context engine (owns compaction)"}):r.push({check:"Context engine",status:"warn",message:"context-mode not set as context engine \u2014 compaction will use default engine"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read openclaw.json"};let n=e.plugins?.entries;return n&&Object.keys(n).some(s=>s.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugins.entries"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in openclaw.json plugins.entries",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=Tr(ji(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Pu(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=Tr("node_modules","context-mode","package.json"),r=JSON.parse(Pu(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=[Tr("openclaw.json"),Tr(".openclaw","openclaw.json"),ss(ji(),".openclaw","openclaw.json")];for(let r of e)try{c$(r,u$.R_OK);let n=r+".bak";return a$(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var Bg={};Le(Bg,{CodexAdapter:()=>Iu});import{createHash as Ug}from"node:crypto";import{readFileSync as Ou,mkdirSync as l$,copyFileSync as d$,accessSync as p$,constants as m$}from"node:fs";import{resolve as Hg,join as Cu,dirname as f$}from"node:path";import{fileURLToPath as h$}from"node:url";import{homedir as qg}from"node:os";var Iu,Vg=b(()=>{"use strict";Iu=class{name="Codex CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!0,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_response,sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:r.cwd,raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e.reason??"Blocked by context-mode hook"}}:e.decision==="context"&&e.additionalContext?{}:{}}formatPostToolUseResponse(e){return e.additionalContext?{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:e.additionalContext}}:{}}formatPreCompactResponse(e){return e.context?{hookSpecificOutput:{additionalContext:e.context}}:{}}formatSessionStartResponse(e){return e.context?{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:e.context}}:{}}getSettingsPath(){return Hg(qg(),".codex","config.toml")}getSessionDir(){let e=Cu(qg(),".codex","context-mode","sessions");return l$(e,{recursive:!0}),e}getSessionDBPath(e){let r=Ug("sha256").update(e).digest("hex").slice(0,16);return Cu(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Ug("sha256").update(e).digest("hex").slice(0,16);return Cu(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{PreToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/pretooluse.mjs`}]}],PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{return{_raw_toml:Ou(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI hooks are implemented but dispatch is not yet active (Stage::UnderDevelopment, v0.118.0). Enable flag: [features] codex_hooks = true in ~/.codex/config.toml. Track: openai/codex#16685"}]}checkPluginRegistration(){try{let e=Ou(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{p$(e,m$.R_OK);let r=e+".bak";return d$(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Hg(f$(h$(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Ou(e,"utf-8")}catch{return`# context-mode +var Xk=Object.create;var tu=Object.defineProperty;var Qk=Object.getOwnPropertyDescriptor;var ew=Object.getOwnPropertyNames;var tw=Object.getPrototypeOf,rw=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>(t&&(e=t(t=0)),e);var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Le=(t,e)=>{for(var r in e)tu(t,r,{get:e[r],enumerable:!0})},nw=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ew(e))!rw.call(t,o)&&o!==r&&tu(t,o,{get:()=>e[o],enumerable:!(n=Qk(e,o))||n.enumerable});return t};var Yo=(t,e,r)=>(r=t!=null?Xk(tw(t)):{},nw(e||!t||!t.__esModule?tu(r,"default",{value:t,enumerable:!0}):r,t));var cu=R((dM,og)=>{"use strict";var au={to(t,e){return e?`\x1B[${e+1};${t+1}H`:`\x1B[${t+1}G`},move(t,e){let r="";return t<0?r+=`\x1B[${-t}D`:t>0&&(r+=`\x1B[${t}C`),e<0?r+=`\x1B[${-e}A`:e>0&&(r+=`\x1B[${e}B`),r},up:(t=1)=>`\x1B[${t}A`,down:(t=1)=>`\x1B[${t}B`,forward:(t=1)=>`\x1B[${t}C`,backward:(t=1)=>`\x1B[${t}D`,nextLine:(t=1)=>"\x1B[E".repeat(t),prevLine:(t=1)=>"\x1B[F".repeat(t),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},mw={up:(t=1)=>"\x1B[S".repeat(t),down:(t=1)=>"\x1B[T".repeat(t)},fw={screen:"\x1B[2J",up:(t=1)=>"\x1B[1J".repeat(t),down:(t=1)=>"\x1B[J".repeat(t),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(t){let e="";for(let r=0;r{var Oi=process||{},ug=Oi.argv||[],Ri=Oi.env||{},Lw=!(Ri.NO_COLOR||ug.includes("--no-color"))&&(!!Ri.FORCE_COLOR||ug.includes("--color")||Oi.platform==="win32"||(Oi.stdout||{}).isTTY&&Ri.TERM!=="dumb"||!!Ri.CI),Fw=(t,e,r=t)=>n=>{let o=""+n,s=o.indexOf(e,t.length);return~s?t+Zw(o,e,r,s)+e:t+o+e},Zw=(t,e,r,n)=>{let o="",s=0;do o+=t.substring(s,n)+r,s=n+e.length,n=t.indexOf(e,s);while(~n);return o+t.substring(s)},lg=(t=Lw)=>{let e=t?Fw:()=>String;return{isColorSupported:t,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};hu.exports=lg();hu.exports.createColors=lg});import{execFileSync as Uw,execSync as pg}from"node:child_process";import{existsSync as mg}from"node:fs";function Fe(t){try{let e=gu?`where ${t}`:`command -v ${t}`;return pg(e,{stdio:"pipe"}),!0}catch{return!1}}function fg(){if(Fe("bun"))return!0;if(!gu){let t=process.env.HOME??process.env.USERPROFILE??"";if(t&&mg(`${t}/.bun/bin/bun`))return!0}return!1}function Hw(){return Fe("bun")?"bun":`${process.env.HOME??process.env.USERPROFILE??""}/.bun/bin/bun`}function qw(){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(mg(e))return e;try{let r=pg("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 It(t,e=["--version"]){try{return Uw(t,e,{encoding:"utf-8",shell:process.platform==="win32",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function Gn(){let e=fg()?Hw():null;return{javascript:e??process.execPath,typescript:e||(Fe("tsx")?"tsx":Fe("ts-node")?"ts-node":null),python:Fe("python3")?"python3":Fe("python")?"python":null,shell:gu?qw()??(Fe("sh")?"sh":Fe("powershell")?"powershell":"cmd.exe"):Fe("bash")?"bash":"sh",ruby:Fe("ruby")?"ruby":null,go:Fe("go")?"go":null,rust:Fe("rustc")?"rustc":null,php:Fe("php")?"php":null,perl:Fe("perl")?"perl":null,r:Fe("Rscript")?"Rscript":Fe("r")?"r":null,elixir:Fe("elixir")?"elixir":null}}function Kn(){return fg()}function Ci(t){let e=[],r=t.javascript?.endsWith("bun")??!1;return e.push(` JavaScript: ${t.javascript} (${It(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${It(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${It(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${It(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${It(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${It(t.go,["version"])})`),t.rust&&e.push(` Rust: ${t.rust} (${It(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${It(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${It(t.perl)})`),t.r&&e.push(` R: ${t.r} (${It(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${It(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(` +`)}function Ii(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 hg(t,e,r){switch(e){case"javascript":return t.javascript.endsWith("bun")?[t.javascript,"run",r]:[t.javascript,r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript?.endsWith("bun")?[t.typescript,"run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}var gu,Ai=b(()=>{"use strict";gu=process.platform==="win32"});var gg,_g=b(()=>{"use strict";gg={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot",Codex:"codex","codex-mcp-client":"codex","Kilo Code":"kilo","Kiro CLI":"kiro","Pi CLI":"pi","Pi Coding Agent":"pi",Zed:"zed",zed:"zed"}});function ts(t,e){let r=es[e],n=_u(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function _u(t,e){if(e){let r=es[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function yu(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function vu(t){let e=Object.values(es);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var At,Bw,yg,Vw,XM,es,vg,QM,xg=b(()=>{"use strict";At={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},Bw=["Bash","WebFetch","Read","Grep","Agent","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],yg=Bw.join("|"),Vw=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],XM=Vw.join("|"),es={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},vg=[At.PRE_TOOL_USE,At.SESSION_START],QM=[At.POST_TOOL_USE,At.PRE_COMPACT,At.USER_PROMPT_SUBMIT]});var bu={};Le(bu,{ClaudeCodeAdapter:()=>xu});import{createHash as bg}from"node:crypto";import{readFileSync as Ni,writeFileSync as Sg,mkdirSync as Ww,copyFileSync as Gw,accessSync as kg,existsSync as Kw,readdirSync as Jw,chmodSync as Yw,constants as wg}from"node:fs";import{resolve as tn,join as rs}from"node:path";import{homedir as Jn}from"node:os";var xu,Su=b(()=>{"use strict";xg();xu=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 tn(Jn(),".claude","settings.json")}getSessionDir(){let e=rs(Jn(),".claude","context-mode","sessions");return Ww(e,{recursive:!0}),e}getSessionDBPath(e){let r=bg("sha256").update(e).digest("hex").slice(0,16);return rs(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=bg("sha256").update(e).digest("hex").slice(0,16);return rs(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=Ni(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Sg(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=this.readPluginHooks(e),i=this.checkHookType(o,s,At.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,At.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=[rs(e,"hooks","hooks.json"),rs(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=Ni(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=>ts(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>ts(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=tn(Jn(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Ni(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=[tn(Jn(),".claude"),tn(Jn(),".config","claude")];for(let r of e){let n=tn(r,"plugins","cache","context-mode","context-mode");try{let s=Jw(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[];for(let a of Object.keys(n)){let c=n[a];if(!Array.isArray(c))continue;let u=c.filter(d=>{let m=d;if(!vu(m))return!0;let h=m.hooks??[];return h.every(f=>!f.command||!yu(f.command))?!0:h.every(f=>{let g=f.command?yu(f.command):null;return g?Kw(g):!0})}),l=c.length-u.length;l>0&&(n[a]=u,o.push(`Removed ${l} stale ${a} hook(s)`))}let s=this.readPluginHooks(e);if(s&&vg.every(c=>this.checkHookType(void 0,s,c))){for(let c of Object.keys(n)){let u=n[c];if(!Array.isArray(u))continue;let l=u.filter(m=>!vu(m)),d=u.length-l.length;d>0&&(n[c]=l,o.push(`Removed ${d} duplicate ${c} hook(s) \u2014 covered by plugin hooks.json`))}return r.hooks=n,this.writeSettings(r),o.push("Skipped settings.json registration \u2014 plugin hooks.json is sufficient"),o}let i=[At.PRE_TOOL_USE,At.SESSION_START];for(let a of i){let c=_u(a,e);if(a===At.PRE_TOOL_USE){let u={matcher:yg,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(m=>ts(m,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n.PreToolUse=l}else n.PreToolUse=[u],o.push(`Created ${a} hooks section`)}else{let u={matcher:"",hooks:[{type:"command",command:c}]},l=n[a];if(l&&Array.isArray(l)){let d=l.findIndex(m=>ts(m,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n[a]=l}else n[a]=[u],o.push(`Created ${a} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{kg(e,wg.R_OK);let r=e+".bak";return Gw(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(es)){let o=tn(e,"hooks",n);try{kg(o,wg.R_OK),Yw(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=tn(Jn(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Ni(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();Sg(n,JSON.stringify(o,null,2)+` +`,"utf-8")}catch{}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function Yn(t,e){let r=ku[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var Oe,ku,iD,aD,$g=b(()=>{"use strict";Oe={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},ku={[Oe.BEFORE_TOOL]:"beforetool.mjs",[Oe.AFTER_TOOL]:"aftertool.mjs",[Oe.PRE_COMPRESS]:"precompress.mjs",[Oe.SESSION_START]:"sessionstart.mjs"},iD=[Oe.BEFORE_TOOL,Oe.SESSION_START],aD=[Oe.AFTER_TOOL,Oe.PRE_COMPRESS]});var Cg={};Le(Cg,{GeminiCLIAdapter:()=>$u});import{createHash as Eg}from"node:crypto";import{readFileSync as wu,writeFileSync as Tg,mkdirSync as Pg,copyFileSync as Xw,accessSync as Rg,chmodSync as Qw,constants as Og}from"node:fs";import{resolve as ns,join as zi}from"node:path";import{homedir as os}from"node:os";var $u,Ig=b(()=>{"use strict";$g();$u=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 ns(os(),".gemini","settings.json")}getSessionDir(){let e=zi(os(),".gemini","context-mode","sessions");return Pg(e,{recursive:!0}),e}getSessionDBPath(e){let r=Eg("sha256").update(e).digest("hex").slice(0,16);return zi(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Eg("sha256").update(e).digest("hex").slice(0,16);return zi(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[Oe.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:Yn(Oe.BEFORE_TOOL,e)}]}],[Oe.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:Yn(Oe.AFTER_TOOL,e)}]}],[Oe.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:Yn(Oe.PRE_COMPRESS,e)}]}],[Oe.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Yn(Oe.SESSION_START,e)}]}]}}readSettings(){try{let e=wu(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=ns(os(),".gemini");Pg(r,{recursive:!0}),Tg(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[Oe.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?.[Oe.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=ns(os(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(wu(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:Oe.BEFORE_TOOL},{name:Oe.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:Yn(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(h=>h.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{Rg(e,Og.R_OK);let r=e+".bak";return Xw(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=zi(e,"hooks","gemini-cli");for(let o of Object.values(ku)){let s=ns(n,o);try{Rg(s,Og.R_OK),Qw(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=ns(os(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(wu(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),Tg(n,JSON.stringify(o,null,2)+` +`,"utf-8")}catch{}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var rn,fD,hD,Ag=b(()=>{"use strict";rn={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},fD=[rn.BEFORE,rn.AFTER],hD=[rn.COMPACTING]});var jg={};Le(jg,{OpenCodeAdapter:()=>Eu});import{createHash as Ng}from"node:crypto";import{readFileSync as zg,writeFileSync as t$,mkdirSync as r$,copyFileSync as n$,accessSync as o$,constants as s$}from"node:fs";import{resolve as Vt,join as lr}from"node:path";import{homedir as Er}from"node:os";function e$(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Eu,Mg=b(()=>{"use strict";Ag();Eu=class{get name(){return this.platform==="kilo"?"KiloCode":"OpenCode"}paradigm="ts-plugin";settingsPath;capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};platform;constructor(e="opencode"){this.platform=e}parsePreToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},toolOutput:r.output,isError:void 0,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return this.settingsPath??Vt(`${this.platform}.json`)}paths(){return this.platform==="kilo"?[Vt("kilo.json"),Vt("kilo.jsonc"),Vt(".kilo","kilo.json"),Vt(".kilo","kilo.jsonc"),lr(Er(),".config","kilo","kilo.json"),lr(Er(),".config","kilo","kilo.jsonc")]:[Vt("opencode.json"),Vt("opencode.jsonc"),Vt(".opencode","opencode.json"),Vt(".opencode","opencode.jsonc"),lr(Er(),".config","opencode","opencode.json"),lr(Er(),".config","opencode","opencode.jsonc")]}getSessionDir(){let e;process.platform==="win32"?e=process.env.APPDATA||lr(Er(),"AppData","Roaming"):e=process.env.XDG_CONFIG_HOME||lr(Er(),".config");let r=lr(e,this.platform,"context-mode","sessions");return r$(r,{recursive:!0}),r}getSessionDBPath(e){let r=Ng("sha256").update(e).digest("hex").slice(0,16);return lr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Ng("sha256").update(e).digest("hex").slice(0,16);return lr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[rn.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[rn.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[rn.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){this.settingsPath=void 0;let e=this.paths(),r=new Set(e.filter(s=>s.includes(Er()))),n=null,o;for(let s of e)try{let i=zg(s,"utf-8"),a=s.endsWith(".jsonc")?e$(i):i,c=JSON.parse(a);n||(n=c,o=s);let u=r.has(s);if(this.hasContextModePlugin(c)||u)return this.settingsPath=s,c}catch{continue}return n?(this.settingsPath=o,n):null}writeSettings(e){t$(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r;let o=this.hasContextModePlugin(n);return Array.isArray(n.plugin)?r.push({check:"Plugin registration",status:o?"pass":"fail",message:o?"context-mode found in plugin array":"context-mode not found in plugin array",fix:o?void 0:"context-mode upgrade"}):r.push({check:"Plugin registration",status:"fail",message:`No plugin array found in ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r.push({check:"SessionStart hook",status:"warn",message:`SessionStart not supported in ${this.name} (see issues #14808, #5409)`}),r}checkPluginRegistration(){let e=this.readSettings();return e?this.hasContextModePlugin(e)?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:`context-mode not found in ${this.platform}.json plugin array`,fix:"context-mode upgrade"}:{check:"Plugin registration",status:"warn",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`}}getInstalledVersion(){try{let e=Vt(Er(),".cache",this.platform,"node_modules","context-mode","package.json"),r=JSON.parse(zg(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=this.checkPluginRegistration();if(!this.settingsPath)return null;if(e.status==="pass")return this.settingsPath;try{o$(this.settingsPath,s$.R_OK);let r=this.settingsPath+".bak";return n$(this.settingsPath,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}hasContextModePlugin(e){let r=e.plugin;return Array.isArray(r)&&r.some(n=>typeof n=="string"&&n.includes("context-mode"))}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var nn,SD,kD,Dg=b(()=>{"use strict";nn={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},SD=[nn.TOOL_CALL_BEFORE,nn.TOOL_CALL_AFTER],kD=[nn.COMMAND_NEW]});var Fg={};Le(Fg,{OpenClawAdapter:()=>Pu});import{createHash as Lg}from"node:crypto";import{readFileSync as Tu,writeFileSync as i$,mkdirSync as a$,copyFileSync as c$,accessSync as u$,constants as l$}from"node:fs";import{resolve as Tr,join as ss}from"node:path";import{homedir as ji}from"node:os";var Pu,Zg=b(()=>{"use strict";Dg();Pu=class{name="OpenClaw";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},toolOutput:r.output??r.tool_output,isError:r.isError??r.is_error,sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{block:!0,blockReason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{params:e.updatedInput};if(e.decision==="ask")return{block:!0,blockReason:e.reason??"Action requires user confirmation (security policy)"};e.decision==="context"&&e.additionalContext}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Tr("openclaw.json")}getSessionDir(){let e=ss(ji(),".openclaw","context-mode","sessions");return a$(e,{recursive:!0}),e}getSessionDBPath(e){let r=Lg("sha256").update(e).digest("hex").slice(0,16);return ss(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Lg("sha256").update(e).digest("hex").slice(0,16);return ss(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[nn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[nn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[nn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[Tr("openclaw.json"),Tr(".openclaw","openclaw.json"),ss(ji(),".openclaw","openclaw.json")];for(let r of e)try{let n=Tu(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=Tr("openclaw.json");i$(r,JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read openclaw.json",fix:"context-mode upgrade"}),r;let o=n.plugins,s=o?.entries;if(s){let a=Object.keys(s).some(c=>c.includes("context-mode"));if(r.push({check:"Plugin registration",status:a?"pass":"fail",message:a?"context-mode found in plugins.entries":"context-mode not found in plugins.entries",fix:a?void 0:"context-mode upgrade"}),a){let u=s["context-mode"]?.enabled!==!1;r.push({check:"Plugin enabled",status:u?"pass":"warn",message:u?"context-mode plugin is enabled":"context-mode plugin is disabled"})}}else r.push({check:"Plugin registration",status:"fail",message:"No plugins.entries found in openclaw.json",fix:"context-mode upgrade"});return o?.slots?.contextEngine==="context-mode"?r.push({check:"Context engine",status:"pass",message:"context-mode registered as context engine (owns compaction)"}):r.push({check:"Context engine",status:"warn",message:"context-mode not set as context engine \u2014 compaction will use default engine"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read openclaw.json"};let n=e.plugins?.entries;return n&&Object.keys(n).some(s=>s.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugins.entries"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in openclaw.json plugins.entries",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=Tr(ji(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Tu(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=Tr("node_modules","context-mode","package.json"),r=JSON.parse(Tu(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=[Tr("openclaw.json"),Tr(".openclaw","openclaw.json"),ss(ji(),".openclaw","openclaw.json")];for(let r of e)try{u$(r,l$.R_OK);let n=r+".bak";return c$(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var Bg={};Le(Bg,{CodexAdapter:()=>Cu});import{createHash as Ug}from"node:crypto";import{readFileSync as Ru,mkdirSync as d$,copyFileSync as p$,accessSync as m$,constants as f$}from"node:fs";import{resolve as Hg,join as Ou,dirname as h$}from"node:path";import{fileURLToPath as g$}from"node:url";import{homedir as qg}from"node:os";var Cu,Vg=b(()=>{"use strict";Cu=class{name="Codex CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!0,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_response,sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:r.cwd,raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e.reason??"Blocked by context-mode hook"}}:e.decision==="context"&&e.additionalContext?{}:{}}formatPostToolUseResponse(e){return e.additionalContext?{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:e.additionalContext}}:{}}formatPreCompactResponse(e){return e.context?{hookSpecificOutput:{additionalContext:e.context}}:{}}formatSessionStartResponse(e){return e.context?{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:e.context}}:{}}getSettingsPath(){return Hg(qg(),".codex","config.toml")}getSessionDir(){let e=Ou(qg(),".codex","context-mode","sessions");return d$(e,{recursive:!0}),e}getSessionDBPath(e){let r=Ug("sha256").update(e).digest("hex").slice(0,16);return Ou(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Ug("sha256").update(e).digest("hex").slice(0,16);return Ou(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{PreToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/pretooluse.mjs`}]}],PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{return{_raw_toml:Ru(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI hooks are implemented but dispatch is not yet active (Stage::UnderDevelopment, v0.118.0). Enable flag: [features] codex_hooks = true in ~/.codex/config.toml. Track: openai/codex#16685"}]}checkPluginRegistration(){try{let e=Ru(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{m$(e,f$.R_OK);let r=e+".bak";return p$(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Hg(h$(g$(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Ru(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});function Xn(t,e){let r=Mi[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 pe,Mi,ND,zD,Wg=b(()=>{"use strict";pe={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Mi={[pe.PRE_TOOL_USE]:"pretooluse.mjs",[pe.POST_TOOL_USE]:"posttooluse.mjs",[pe.PRE_COMPACT]:"precompact.mjs",[pe.SESSION_START]:"sessionstart.mjs"},ND=[pe.PRE_TOOL_USE,pe.SESSION_START],zD=[pe.POST_TOOL_USE,pe.PRE_COMPACT]});var Jg={};Le(Jg,{VSCodeCopilotAdapter:()=>Mu});import{createHash as Gg}from"node:crypto";import{readFileSync as Di,writeFileSync as Kg,mkdirSync as Au,copyFileSync as g$,accessSync as Nu,existsSync as _$,chmodSync as y$,constants as zu}from"node:fs";import{resolve as Nt,join as on}from"node:path";import{homedir as ju}from"node:os";var Mu,Yg=b(()=>{"use strict";Wg();Mu=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:pe.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:pe.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:pe.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:pe.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Nt(".github","hooks","context-mode.json")}getSessionDir(){let e=Nt(".github","context-mode","sessions"),r=on(ju(),".vscode","context-mode","sessions"),n=_$(Nt(".github"))?e:r;return Au(n,{recursive:!0}),n}getSessionDBPath(e){let r=Gg("sha256").update(e).digest("hex").slice(0,16);return on(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Gg("sha256").update(e).digest("hex").slice(0,16);return on(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[pe.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:Xn(pe.PRE_TOOL_USE,e)}]}],[pe.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:Xn(pe.POST_TOOL_USE,e)}]}],[pe.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:Xn(pe.PRE_COMPACT,e)}]}],[pe.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Xn(pe.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),Nt(".claude","settings.json")];for(let r of e)try{let n=Di(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=Nt(".github","hooks");Au(n,{recursive:!0}),Kg(r,JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=Nt(".github","hooks");try{Nu(n,zu.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=Nt(n,"context-mode.json");try{let s=Di(o,"utf-8"),a=JSON.parse(s).hooks;a?.[pe.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?.[pe.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=Nt(".vscode","mcp.json"),r=Di(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=[on(ju(),".vscode","extensions"),on(ju(),".vscode-insiders","extensions")];for(let r of e)try{let n=Di(on(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=[pe.PRE_TOOL_USE,pe.POST_TOOL_USE,pe.PRE_COMPACT,pe.SESSION_START];for(let c of s)Mi[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:Xn(c,e)}]}],r.push(`Configured ${c} hook`));let i=Nt(".github","hooks");Au(i,{recursive:!0});let a=Nt(i,"context-mode.json");return Kg(a,JSON.stringify(n,null,2)+` -`,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Nu(e,zu.R_OK);let r=e+".bak";return g$(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=on(e,"hooks","vscode-copilot");for(let o of Object.values(Mi)){let s=Nt(n,o);try{Nu(s,zu.R_OK),y$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});function Li(t,e){let r=Du[e],n=xt(e);if("command"in t){let s=t.command??"";return r!=null&&s.includes(r)||s.includes(n)}return t.hooks?.some(s=>{let i=s.command??"";return r!=null&&i.includes(r)||i.includes(n)})??!1}function xt(t){return`context-mode hook cursor ${t.toLowerCase()}`}var me,Du,v$,Lu,Xg,Qg,e_=b(()=>{"use strict";me={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Du={[me.PRE_TOOL_USE]:"pretooluse.mjs",[me.POST_TOOL_USE]:"posttooluse.mjs",[me.SESSION_START]:"sessionstart.mjs",[me.STOP]:"stop.mjs"},v$=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Lu=v$.join("|"),Xg=[me.PRE_TOOL_USE],Qg=[me.POST_TOOL_USE]});var a_={};Le(a_,{CursorAdapter:()=>Zu});import{createHash as t_}from"node:crypto";import{readFileSync as Fu,writeFileSync as x$,mkdirSync as r_,copyFileSync as b$,accessSync as n_,chmodSync as S$,constants as o_,existsSync as s_}from"node:fs";import{execSync as k$}from"node:child_process";import{resolve as Qn,join as sn}from"node:path";import{homedir as Fi}from"node:os";var i_,Zu,c_=b(()=>{"use strict";e_();i_="/Library/Application Support/Cursor/hooks.json",Zu=class{name="Cursor";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output??r.error_message,isError:!!r.error_message,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??r.trigger??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(r),raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{permission:"deny",user_message:e.reason??"Blocked by context-mode hook"}:e.decision==="modify"&&e.updatedInput?{updated_input:e.updatedInput}:e.decision==="context"&&e.additionalContext?{agent_message:e.additionalContext}:e.decision==="ask"?{permission:"ask",user_message:e.reason??"Action requires user confirmation (security policy)"}:{agent_message:""}}formatPostToolUseResponse(e){return{additional_context:e.additionalContext??""}}formatSessionStartResponse(e){return{additional_context:e.context??""}}parseStopInput(e){let r=e;return{sessionId:r.conversation_id??`pid-${process.ppid}`,status:r.status??"completed",loopCount:r.loop_count??0,generationId:r.generation_id,transcriptPath:r.transcript_path??void 0}}formatStopResponse(e){return e.followupMessage?{followup_message:e.followupMessage}:{}}parseAfterAgentResponseInput(e){return{text:e.text??""}}getSettingsPath(){return Qn(".cursor","hooks.json")}getSessionDir(){let e=sn(Fi(),".cursor","context-mode","sessions");return r_(e,{recursive:!0}),e}getSessionDBPath(e){let r=t_("sha256").update(e).digest("hex").slice(0,16);return sn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=t_("sha256").update(e).digest("hex").slice(0,16);return sn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[me.PRE_TOOL_USE]:[{type:"command",command:xt(me.PRE_TOOL_USE),matcher:Lu,loop_limit:null,failClosed:!1}],[me.POST_TOOL_USE]:[{type:"command",command:xt(me.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[me.SESSION_START]:[{type:"command",command:xt(me.SESSION_START),loop_limit:null,failClosed:!1}],[me.STOP]:[{type:"command",command:xt(me.STOP),loop_limit:null,failClosed:!1}],[me.AFTER_AGENT_RESPONSE]:[{type:"command",command:xt(me.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=Fu(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();r_(Qn(".cursor"),{recursive:!0}),x$(r,JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.loadNativeHookConfig();if(!n)r.push({check:"Native hook config",status:"fail",message:"No readable native Cursor hook config found in .cursor/hooks.json or ~/.cursor/hooks.json",fix:"context-mode upgrade"});else{let o=n.config.hooks??{};r.push({check:"Native hook config",status:"pass",message:`Loaded ${n.path}`});for(let s of Xg){let i=o[s],a=Array.isArray(i)&&i.some(c=>Li(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 Qg){let i=o[s],a=Array.isArray(i)&&i.some(c=>Li(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 s_(i_)&&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"),sn(Fi(),".cursor","mcp.json")];for(let r of e)try{let n=Fu(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 k$("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,me.PRE_TOOL_USE,{type:"command",command:xt(me.PRE_TOOL_USE),matcher:Lu,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,me.POST_TOOL_USE,{type:"command",command:xt(me.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,me.SESSION_START,{type:"command",command:xt(me.SESSION_START),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,me.STOP,{type:"command",command:xt(me.STOP),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,me.AFTER_AGENT_RESPONSE,{type:"command",command:xt(me.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1},o),r.version=1,r.hooks=n,this.writeSettings(r),o.push(`Wrote native Cursor hooks to ${this.getSettingsPath()}`),o}backupSettings(){let e=this.getSettingsPath();try{n_(e,o_.R_OK);let r=e+".bak";return b$(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=sn(e,"hooks","cursor");for(let o of Object.values(Du)){let s=Qn(n,o);try{n_(s,o_.R_OK),S$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),sn(Fi(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(i_),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=Fu(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"),sn(Fi(),".claude","settings.json")].some(r=>s_(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>Li(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 p_={};Le(p_,{AntigravityAdapter:()=>Bu});import{createHash as u_}from"node:crypto";import{readFileSync as Zi,writeFileSync as w$,mkdirSync as l_,copyFileSync as $$,accessSync as E$,constants as T$}from"node:fs";import{resolve as Uu,join as Hu,dirname as d_}from"node:path";import{fileURLToPath as P$}from"node:url";import{homedir as qu}from"node:os";var Bu,m_=b(()=>{"use strict";Bu=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 Uu(qu(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=Hu(qu(),".gemini","context-mode","sessions");return l_(e,{recursive:!0}),e}getSessionDBPath(e){let r=u_("sha256").update(e).digest("hex").slice(0,16);return Hu(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=u_("sha256").update(e).digest("hex").slice(0,16);return Hu(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Zi(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();l_(d_(r),{recursive:!0}),w$(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=Zi(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=Uu(qu(),".gemini","extensions","context-mode","package.json");return JSON.parse(Zi(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{E$(e,T$.R_OK);let r=e+".bak";return $$(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Uu(d_(P$(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Zi(e,"utf-8")}catch{return`# context-mode +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});function Xn(t,e){let r=Mi[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 pe,Mi,zD,jD,Wg=b(()=>{"use strict";pe={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Mi={[pe.PRE_TOOL_USE]:"pretooluse.mjs",[pe.POST_TOOL_USE]:"posttooluse.mjs",[pe.PRE_COMPACT]:"precompact.mjs",[pe.SESSION_START]:"sessionstart.mjs"},zD=[pe.PRE_TOOL_USE,pe.SESSION_START],jD=[pe.POST_TOOL_USE,pe.PRE_COMPACT]});var Jg={};Le(Jg,{VSCodeCopilotAdapter:()=>ju});import{createHash as Gg}from"node:crypto";import{readFileSync as Di,writeFileSync as Kg,mkdirSync as Iu,copyFileSync as _$,accessSync as Au,existsSync as y$,chmodSync as v$,constants as Nu}from"node:fs";import{resolve as Nt,join as on}from"node:path";import{homedir as zu}from"node:os";var ju,Yg=b(()=>{"use strict";Wg();ju=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:pe.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:pe.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:pe.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:pe.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Nt(".github","hooks","context-mode.json")}getSessionDir(){let e=Nt(".github","context-mode","sessions"),r=on(zu(),".vscode","context-mode","sessions"),n=y$(Nt(".github"))?e:r;return Iu(n,{recursive:!0}),n}getSessionDBPath(e){let r=Gg("sha256").update(e).digest("hex").slice(0,16);return on(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Gg("sha256").update(e).digest("hex").slice(0,16);return on(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[pe.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:Xn(pe.PRE_TOOL_USE,e)}]}],[pe.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:Xn(pe.POST_TOOL_USE,e)}]}],[pe.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:Xn(pe.PRE_COMPACT,e)}]}],[pe.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Xn(pe.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),Nt(".claude","settings.json")];for(let r of e)try{let n=Di(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=Nt(".github","hooks");Iu(n,{recursive:!0}),Kg(r,JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=Nt(".github","hooks");try{Au(n,Nu.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=Nt(n,"context-mode.json");try{let s=Di(o,"utf-8"),a=JSON.parse(s).hooks;a?.[pe.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?.[pe.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=Nt(".vscode","mcp.json"),r=Di(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=[on(zu(),".vscode","extensions"),on(zu(),".vscode-insiders","extensions")];for(let r of e)try{let n=Di(on(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=[pe.PRE_TOOL_USE,pe.POST_TOOL_USE,pe.PRE_COMPACT,pe.SESSION_START];for(let c of s)Mi[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:Xn(c,e)}]}],r.push(`Configured ${c} hook`));let i=Nt(".github","hooks");Iu(i,{recursive:!0});let a=Nt(i,"context-mode.json");return Kg(a,JSON.stringify(n,null,2)+` +`,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Au(e,Nu.R_OK);let r=e+".bak";return _$(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=on(e,"hooks","vscode-copilot");for(let o of Object.values(Mi)){let s=Nt(n,o);try{Au(s,Nu.R_OK),v$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});function Li(t,e){let r=Mu[e],n=xt(e);if("command"in t){let s=t.command??"";return r!=null&&s.includes(r)||s.includes(n)}return t.hooks?.some(s=>{let i=s.command??"";return r!=null&&i.includes(r)||i.includes(n)})??!1}function xt(t){return`context-mode hook cursor ${t.toLowerCase()}`}var me,Mu,x$,Du,Xg,Qg,e_=b(()=>{"use strict";me={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Mu={[me.PRE_TOOL_USE]:"pretooluse.mjs",[me.POST_TOOL_USE]:"posttooluse.mjs",[me.SESSION_START]:"sessionstart.mjs",[me.STOP]:"stop.mjs"},x$=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Du=x$.join("|"),Xg=[me.PRE_TOOL_USE],Qg=[me.POST_TOOL_USE]});var a_={};Le(a_,{CursorAdapter:()=>Fu});import{createHash as t_}from"node:crypto";import{readFileSync as Lu,writeFileSync as b$,mkdirSync as r_,copyFileSync as S$,accessSync as n_,chmodSync as k$,constants as o_,existsSync as s_}from"node:fs";import{execSync as w$}from"node:child_process";import{resolve as Qn,join as sn}from"node:path";import{homedir as Fi}from"node:os";var i_,Fu,c_=b(()=>{"use strict";e_();i_="/Library/Application Support/Cursor/hooks.json",Fu=class{name="Cursor";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output??r.error_message,isError:!!r.error_message,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??r.trigger??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(r),raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{permission:"deny",user_message:e.reason??"Blocked by context-mode hook"}:e.decision==="modify"&&e.updatedInput?{updated_input:e.updatedInput}:e.decision==="context"&&e.additionalContext?{agent_message:e.additionalContext}:e.decision==="ask"?{permission:"ask",user_message:e.reason??"Action requires user confirmation (security policy)"}:{agent_message:""}}formatPostToolUseResponse(e){return{additional_context:e.additionalContext??""}}formatSessionStartResponse(e){return{additional_context:e.context??""}}parseStopInput(e){let r=e;return{sessionId:r.conversation_id??`pid-${process.ppid}`,status:r.status??"completed",loopCount:r.loop_count??0,generationId:r.generation_id,transcriptPath:r.transcript_path??void 0}}formatStopResponse(e){return e.followupMessage?{followup_message:e.followupMessage}:{}}parseAfterAgentResponseInput(e){return{text:e.text??""}}getSettingsPath(){return Qn(".cursor","hooks.json")}getSessionDir(){let e=sn(Fi(),".cursor","context-mode","sessions");return r_(e,{recursive:!0}),e}getSessionDBPath(e){let r=t_("sha256").update(e).digest("hex").slice(0,16);return sn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=t_("sha256").update(e).digest("hex").slice(0,16);return sn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[me.PRE_TOOL_USE]:[{type:"command",command:xt(me.PRE_TOOL_USE),matcher:Du,loop_limit:null,failClosed:!1}],[me.POST_TOOL_USE]:[{type:"command",command:xt(me.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[me.SESSION_START]:[{type:"command",command:xt(me.SESSION_START),loop_limit:null,failClosed:!1}],[me.STOP]:[{type:"command",command:xt(me.STOP),loop_limit:null,failClosed:!1}],[me.AFTER_AGENT_RESPONSE]:[{type:"command",command:xt(me.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=Lu(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();r_(Qn(".cursor"),{recursive:!0}),b$(r,JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.loadNativeHookConfig();if(!n)r.push({check:"Native hook config",status:"fail",message:"No readable native Cursor hook config found in .cursor/hooks.json or ~/.cursor/hooks.json",fix:"context-mode upgrade"});else{let o=n.config.hooks??{};r.push({check:"Native hook config",status:"pass",message:`Loaded ${n.path}`});for(let s of Xg){let i=o[s],a=Array.isArray(i)&&i.some(c=>Li(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 Qg){let i=o[s],a=Array.isArray(i)&&i.some(c=>Li(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 s_(i_)&&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"),sn(Fi(),".cursor","mcp.json")];for(let r of e)try{let n=Lu(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 w$("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,me.PRE_TOOL_USE,{type:"command",command:xt(me.PRE_TOOL_USE),matcher:Du,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,me.POST_TOOL_USE,{type:"command",command:xt(me.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,me.SESSION_START,{type:"command",command:xt(me.SESSION_START),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,me.STOP,{type:"command",command:xt(me.STOP),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,me.AFTER_AGENT_RESPONSE,{type:"command",command:xt(me.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1},o),r.version=1,r.hooks=n,this.writeSettings(r),o.push(`Wrote native Cursor hooks to ${this.getSettingsPath()}`),o}backupSettings(){let e=this.getSettingsPath();try{n_(e,o_.R_OK);let r=e+".bak";return S$(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=sn(e,"hooks","cursor");for(let o of Object.values(Mu)){let s=Qn(n,o);try{n_(s,o_.R_OK),k$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),sn(Fi(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(i_),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=Lu(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"),sn(Fi(),".claude","settings.json")].some(r=>s_(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>Li(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 p_={};Le(p_,{AntigravityAdapter:()=>qu});import{createHash as u_}from"node:crypto";import{readFileSync as Zi,writeFileSync as $$,mkdirSync as l_,copyFileSync as E$,accessSync as T$,constants as P$}from"node:fs";import{resolve as Zu,join as Uu,dirname as d_}from"node:path";import{fileURLToPath as R$}from"node:url";import{homedir as Hu}from"node:os";var qu,m_=b(()=>{"use strict";qu=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 Zu(Hu(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=Uu(Hu(),".gemini","context-mode","sessions");return l_(e,{recursive:!0}),e}getSessionDBPath(e){let r=u_("sha256").update(e).digest("hex").slice(0,16);return Uu(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=u_("sha256").update(e).digest("hex").slice(0,16);return Uu(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Zi(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();l_(d_(r),{recursive:!0}),$$(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=Zi(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=Zu(Hu(),".gemini","extensions","context-mode","package.json");return JSON.parse(Zi(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{T$(e,P$.R_OK);let r=e+".bak";return E$(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Zu(d_(R$(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Zi(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});function is(t,e){let r=f_[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function as(t,e){let r=f_[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var Ce,f_,eL,tL,h_=b(()=>{"use strict";Ce={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},f_={[Ce.PRE_TOOL_USE]:"pretooluse.mjs",[Ce.POST_TOOL_USE]:"posttooluse.mjs"},eL=[Ce.PRE_TOOL_USE],tL=[Ce.POST_TOOL_USE]});var v_={};Le(v_,{KiroAdapter:()=>Gu});import{createHash as g_}from"node:crypto";import{readFileSync as eo,writeFileSync as __,mkdirSync as Vu,copyFileSync as R$,accessSync as O$,constants as C$}from"node:fs";import{resolve as to,join as Wu,dirname as y_}from"node:path";import{fileURLToPath as I$}from"node:url";import{homedir as cs}from"node:os";var Gu,x_=b(()=>{"use strict";h_();Gu=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 to(cs(),".kiro","settings","mcp.json")}getSessionDir(){let e=Wu(cs(),".kiro","context-mode","sessions");return Vu(e,{recursive:!0}),e}getSessionDBPath(e){let r=g_("sha256").update(e).digest("hex").slice(0,16);return Wu(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=g_("sha256").update(e).digest("hex").slice(0,16);return Wu(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[Ce.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:as(Ce.PRE_TOOL_USE,e)}]}],[Ce.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:as(Ce.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=eo(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Vu(y_(r),{recursive:!0}),__(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=to(cs(),".kiro","agents","default.json");try{let s=JSON.parse(eo(n,"utf-8")).hooks??{};for(let i of[Ce.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>is(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[Ce.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>is(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=eo(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.kiro/settings/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.kiro/settings/mcp.json"}}}getInstalledVersion(){try{let e=to(cs(),".kiro","extensions","context-mode","package.json");return JSON.parse(eo(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=to(cs(),".kiro","agents"),o=to(n,"default.json");try{Vu(n,{recursive:!0});let s={};try{s=JSON.parse(eo(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[Ce.PRE_TOOL_USE]??[];a.some(u=>is(u,Ce.PRE_TOOL_USE))||(a.push({matcher:"*",command:as(Ce.PRE_TOOL_USE,e)}),i[Ce.PRE_TOOL_USE]=a,r.push(`Added ${Ce.PRE_TOOL_USE} hook to ${o}`));let c=i[Ce.POST_TOOL_USE]??[];c.some(u=>is(u,Ce.POST_TOOL_USE))||(c.push({matcher:"*",command:as(Ce.POST_TOOL_USE,e)}),i[Ce.POST_TOOL_USE]=c,r.push(`Added ${Ce.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,__(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{O$(e,C$.R_OK);let r=e+".bak";return R$(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=to(y_(I$(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return eo(e,"utf-8")}catch{return`# context-mode +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});function is(t,e){let r=f_[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function as(t,e){let r=f_[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var Ce,f_,tL,rL,h_=b(()=>{"use strict";Ce={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},f_={[Ce.PRE_TOOL_USE]:"pretooluse.mjs",[Ce.POST_TOOL_USE]:"posttooluse.mjs"},tL=[Ce.PRE_TOOL_USE],rL=[Ce.POST_TOOL_USE]});var v_={};Le(v_,{KiroAdapter:()=>Wu});import{createHash as g_}from"node:crypto";import{readFileSync as eo,writeFileSync as __,mkdirSync as Bu,copyFileSync as O$,accessSync as C$,constants as I$}from"node:fs";import{resolve as to,join as Vu,dirname as y_}from"node:path";import{fileURLToPath as A$}from"node:url";import{homedir as cs}from"node:os";var Wu,x_=b(()=>{"use strict";h_();Wu=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 to(cs(),".kiro","settings","mcp.json")}getSessionDir(){let e=Vu(cs(),".kiro","context-mode","sessions");return Bu(e,{recursive:!0}),e}getSessionDBPath(e){let r=g_("sha256").update(e).digest("hex").slice(0,16);return Vu(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=g_("sha256").update(e).digest("hex").slice(0,16);return Vu(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[Ce.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:as(Ce.PRE_TOOL_USE,e)}]}],[Ce.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:as(Ce.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=eo(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Bu(y_(r),{recursive:!0}),__(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=to(cs(),".kiro","agents","default.json");try{let s=JSON.parse(eo(n,"utf-8")).hooks??{};for(let i of[Ce.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>is(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[Ce.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>is(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=eo(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.kiro/settings/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.kiro/settings/mcp.json"}}}getInstalledVersion(){try{let e=to(cs(),".kiro","extensions","context-mode","package.json");return JSON.parse(eo(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=to(cs(),".kiro","agents"),o=to(n,"default.json");try{Bu(n,{recursive:!0});let s={};try{s=JSON.parse(eo(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[Ce.PRE_TOOL_USE]??[];a.some(u=>is(u,Ce.PRE_TOOL_USE))||(a.push({matcher:"*",command:as(Ce.PRE_TOOL_USE,e)}),i[Ce.PRE_TOOL_USE]=a,r.push(`Added ${Ce.PRE_TOOL_USE} hook to ${o}`));let c=i[Ce.POST_TOOL_USE]??[];c.some(u=>is(u,Ce.POST_TOOL_USE))||(c.push({matcher:"*",command:as(Ce.POST_TOOL_USE,e)}),i[Ce.POST_TOOL_USE]=c,r.push(`Added ${Ce.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,__(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{C$(e,I$.R_OK);let r=e+".bak";return O$(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=to(y_(A$(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return eo(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});var E_={};Le(E_,{ZedAdapter:()=>Yu});import{createHash as b_}from"node:crypto";import{readFileSync as Ku,writeFileSync as A$,mkdirSync as S_,copyFileSync as N$,accessSync as z$,constants as j$}from"node:fs";import{resolve as k_,join as Ju,dirname as w_}from"node:path";import{fileURLToPath as M$}from"node:url";import{homedir as $_}from"node:os";var Yu,T_=b(()=>{"use strict";Yu=class{name="Zed";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Zed does not support hooks")}parsePostToolUseInput(e){throw new Error("Zed does not support hooks")}parsePreCompactInput(e){throw new Error("Zed does not support hooks")}parseSessionStartInput(e){throw new Error("Zed does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return k_($_(),".config","zed","settings.json")}getSessionDir(){let e=Ju($_(),".config","zed","context-mode","sessions");return S_(e,{recursive:!0}),e}getSessionDBPath(e){let r=b_("sha256").update(e).digest("hex").slice(0,16);return Ju(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=b_("sha256").update(e).digest("hex").slice(0,16);return Ju(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Ku(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();S_(w_(r),{recursive:!0}),A$(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Zed does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=Ku(this.getSettingsPath(),"utf-8"),n=JSON.parse(e).context_servers!==void 0,o=e.includes("context-mode");return n&&o?{check:"MCP registration",status:"pass",message:"context-mode found in context_servers config"}:n?{check:"MCP registration",status:"fail",message:"context_servers section exists but context-mode not found",fix:"Add context-mode to context_servers in ~/.config/zed/settings.json"}:{check:"MCP registration",status:"fail",message:"No context_servers section in settings.json",fix:"Add context_servers.context-mode to ~/.config/zed/settings.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.config/zed/settings.json"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{z$(e,j$.R_OK);let r=e+".bak";return N$(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=k_(w_(M$(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return Ku(e,"utf-8")}catch{return`# context-mode +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});var E_={};Le(E_,{ZedAdapter:()=>Ju});import{createHash as b_}from"node:crypto";import{readFileSync as Gu,writeFileSync as N$,mkdirSync as S_,copyFileSync as z$,accessSync as j$,constants as M$}from"node:fs";import{resolve as k_,join as Ku,dirname as w_}from"node:path";import{fileURLToPath as D$}from"node:url";import{homedir as $_}from"node:os";var Ju,T_=b(()=>{"use strict";Ju=class{name="Zed";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Zed does not support hooks")}parsePostToolUseInput(e){throw new Error("Zed does not support hooks")}parsePreCompactInput(e){throw new Error("Zed does not support hooks")}parseSessionStartInput(e){throw new Error("Zed does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return k_($_(),".config","zed","settings.json")}getSessionDir(){let e=Ku($_(),".config","zed","context-mode","sessions");return S_(e,{recursive:!0}),e}getSessionDBPath(e){let r=b_("sha256").update(e).digest("hex").slice(0,16);return Ku(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=b_("sha256").update(e).digest("hex").slice(0,16);return Ku(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Gu(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();S_(w_(r),{recursive:!0}),N$(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Zed does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=Gu(this.getSettingsPath(),"utf-8"),n=JSON.parse(e).context_servers!==void 0,o=e.includes("context-mode");return n&&o?{check:"MCP registration",status:"pass",message:"context-mode found in context_servers config"}:n?{check:"MCP registration",status:"fail",message:"context_servers section exists but context-mode not found",fix:"Add context-mode to context_servers in ~/.config/zed/settings.json"}:{check:"MCP registration",status:"fail",message:"No context_servers section in settings.json",fix:"Add context_servers.context-mode to ~/.config/zed/settings.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.config/zed/settings.json"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{j$(e,M$.R_OK);let r=e+".bak";return z$(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=k_(w_(D$(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return Gu(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var P_={};Le(P_,{detectPlatform:()=>an,getAdapter:()=>us});import{existsSync as Wt}from"node:fs";import{resolve as Gt}from"node:path";import{homedir as D$}from"node:os";function an(t){if(t?.name){let n=gg[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","kilo","opencode","codex","vscode-copilot","cursor","antigravity","kiro","pi","zed"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCLAW_HOME||process.env.OPENCLAW_CLI)return{platform:"openclaw",confidence:"high",reason:"OPENCLAW_HOME or OPENCLAW_CLI env var set"};if(process.env.KILO||process.env.KILO_PID)return{platform:"kilo",confidence:"high",reason:"KILO or KILO_PID env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.CURSOR_TRACE_ID||process.env.CURSOR_CLI)return{platform:"cursor",confidence:"high",reason:"CURSOR_TRACE_ID or CURSOR_CLI env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let r=D$();return Wt(Gt(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Wt(Gt(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Wt(Gt(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Wt(Gt(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Wt(Gt(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Wt(Gt(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Wt(Gt(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Wt(Gt(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Wt(Gt(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Wt(Gt(r,".config","zed"))?{platform:"zed",confidence:"medium",reason:"~/.config/zed/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function us(t){let e=t??an().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(ku(),Su));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(Ig(),Cg));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(Mg(),jg));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(Zg(),Fg));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(Vg(),Bg));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(Yg(),Jg));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(c_(),a_));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(m_(),p_));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(x_(),v_));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(T_(),E_));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(ku(),Su));return new r}}}var Xu=b(()=>{"use strict";_g()});var Q,Qu,O,Kt,ls=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})(Q||(Q={}));(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Qu||(Qu={}));O=Q.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Kt=t=>{switch(typeof t){case"undefined":return O.undefined;case"string":return O.string;case"number":return Number.isNaN(t)?O.nan:O.number;case"boolean":return O.boolean;case"function":return O.function;case"bigint":return O.bigint;case"symbol":return O.symbol;case"object":return Array.isArray(t)?O.array:t===null?O.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?O.promise:typeof Map<"u"&&t instanceof Map?O.map:typeof Set<"u"&&t instanceof Set?O.set:typeof Date<"u"&&t instanceof Date?O.date:O.object;default:return O.unknown}}});var w,L$,st,Ui=b(()=>{ls();w=Q.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"]),L$=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),st=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;cr.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};st.create=t=>new st(t)});var F$,dr,el=b(()=>{Ui();ls();F$=(t,e)=>{let r;switch(t.code){case w.invalid_type:t.received===O.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case w.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Q.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:r=`Unrecognized key(s) in object: ${Q.joinValues(t.keys,", ")}`;break;case w.invalid_union:r="Invalid input";break;case w.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Q.joinValues(t.options)}`;break;case w.invalid_enum_value:r=`Invalid enum value. Expected ${Q.joinValues(t.options)}, received '${t.received}'`;break;case w.invalid_arguments:r="Invalid function arguments";break;case w.invalid_return_type:r="Invalid function return type";break;case w.invalid_date:r="Invalid date";break;case w.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}"`:Q.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case w.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 w.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 w.custom:r="Invalid input";break;case w.invalid_intersection_types:r="Intersection results could not be merged";break;case w.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case w.not_finite:r="Number must be finite";break;default:r=e.defaultError,Q.assertNever(t)}return{message:r}},dr=F$});function Z$(t){R_=t}function ro(){return R_}var R_,Hi=b(()=>{el();R_=dr});function P(t,e){let r=ro(),n=ds({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===dr?void 0:dr].filter(o=>!!o)});t.common.issues.push(n)}var ds,U$,Ze,L,cn,Ge,qi,Bi,Pr,no,tl=b(()=>{Hi();el();ds=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}},U$=[];Ze=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 L;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 L;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}}},L=Object.freeze({status:"aborted"}),cn=t=>({status:"dirty",value:t}),Ge=t=>({status:"valid",value:t}),qi=t=>t.status==="aborted",Bi=t=>t.status==="dirty",Pr=t=>t.status==="valid",no=t=>typeof Promise<"u"&&t instanceof Promise});var O_=b(()=>{});var A,C_=b(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(A||(A={}))});function V(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}}function z_(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 sE(t){return new RegExp(`^${z_(t)}$`)}function j_(t){let e=`${N_}T${z_(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 iE(t,e){return!!((e==="v4"||!e)&&X$.test(t)||(e==="v6"||!e)&&eE.test(t))}function aE(t,e){if(!G$.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 cE(t,e){return!!((e==="v4"||!e)&&Q$.test(t)||(e==="v6"||!e)&&tE.test(t))}function uE(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 oo(t){if(t instanceof at){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=it.create(oo(n))}return new at({...t._def,shape:()=>e})}else return t instanceof fr?new fr({...t._def,type:oo(t.element)}):t instanceof it?it.create(oo(t.unwrap())):t instanceof Yt?Yt.create(oo(t.unwrap())):t instanceof Jt?Jt.create(t.items.map(e=>oo(e))):t}function nl(t,e){let r=Kt(t),n=Kt(e);if(t===e)return{valid:!0,data:t};if(r===O.object&&n===O.object){let o=Q.objectKeys(e),s=Q.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=nl(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===O.array&&n===O.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=A_(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=A_(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Or.create()}var bt,I_,G,H$,q$,B$,V$,W$,G$,K$,J$,Y$,rl,X$,Q$,eE,tE,rE,nE,N_,oE,Rr,un,ln,dn,pn,so,mn,fn,Or,mr,zt,io,fr,at,hn,pr,Vi,gn,Jt,Wi,ao,co,Gi,_n,yn,vn,xn,Cr,St,it,Yt,bn,Sn,uo,lE,ps,ms,kn,dE,$,pE,L_,F_,mE,fE,Z_,hE,gE,_E,yE,vE,xE,bE,SE,kE,ol,wE,$E,EE,TE,PE,RE,OE,CE,IE,AE,NE,zE,jE,ME,DE,LE,FE,ZE,UE,HE,qE,BE,VE,WE,U_=b(()=>{Ui();Hi();C_();tl();ls();bt=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}},I_=(t,e)=>{if(Pr(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 st(t.common.issues);return this._error=r,this._error}}};G=class{get description(){return this._def.description}_getType(e){return Kt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Kt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ze,ctx:{common:e.parent.common,data:e.data,parsedType:Kt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(no(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:Kt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return I_(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Kt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Pr(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=>Pr(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:Kt(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(no(o)?o:Promise.resolve(o));return I_(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:w.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 St({schema:this,typeName:$.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 it.create(this,this._def)}nullable(){return Yt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return fr.create(this)}promise(){return Cr.create(this,this._def)}or(e){return hn.create([this,e],this._def)}and(e){return gn.create(this,e,this._def)}transform(e){return new St({...V(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new bn({...V(this._def),innerType:this,defaultValue:r,typeName:$.ZodDefault})}brand(){return new ps({typeName:$.ZodBranded,type:this,...V(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Sn({...V(this._def),innerType:this,catchValue:r,typeName:$.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return ms.create(this,e)}readonly(){return kn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},H$=/^c[^\s-]{8,}$/i,q$=/^[0-9a-z]+$/,B$=/^[0-9A-HJKMNP-TV-Z]{26}$/i,V$=/^[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,W$=/^[a-z0-9_-]{21}$/i,G$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,K$=/^[-+]?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)?)??$/,J$=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Y$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",X$=/^(?:(?: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])$/,Q$=/^(?:(?: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])$/,eE=/^(([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]))$/,tE=/^(([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])$/,rE=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nE=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,N_="((\\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])))",oE=new RegExp(`^${N_}$`);Rr=class t extends G{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==O.string){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:O.string,received:s.parsedType}),L}let n=new Ze,o;for(let s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.lengthe.test(o),{validation:r,code:w.invalid_string,...A.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...A.errToObj(e)})}url(e){return this._addCheck({kind:"url",...A.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...A.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...A.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...A.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...A.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...A.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...A.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...A.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...A.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...A.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...A.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...A.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,...A.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,...A.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...A.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...A.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...A.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...A.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...A.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...A.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...A.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...A.errToObj(r)})}nonempty(e){return this.min(1,A.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Rr({checks:[],typeName:$.ZodString,coerce:t?.coerce??!1,...V(t)});un=class t extends G{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)!==O.number){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:O.number,received:s.parsedType}),L}let n,o=new Ze;for(let s of this._def.checks)s.kind==="int"?Q.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),P(n,{code:w.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?uE(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),P(n,{code:w.not_finite,message:s.message}),o.dirty()):Q.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,A.toString(r))}gt(e,r){return this.setLimit("min",e,!1,A.toString(r))}lte(e,r){return this.setLimit("max",e,!0,A.toString(r))}lt(e,r){return this.setLimit("max",e,!1,A.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:A.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:A.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:A.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:A.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:A.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:A.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:A.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:A.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:A.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:A.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&Q.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew un({checks:[],typeName:$.ZodNumber,coerce:t?.coerce||!1,...V(t)});ln=class t extends G{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)!==O.bigint)return this._getInvalidInput(e);let n,o=new Ze;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.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),P(n,{code:w.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):Q.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:O.bigint,received:r.parsedType}),L}gte(e,r){return this.setLimit("min",e,!0,A.toString(r))}gt(e,r){return this.setLimit("min",e,!1,A.toString(r))}lte(e,r){return this.setLimit("max",e,!0,A.toString(r))}lt(e,r){return this.setLimit("max",e,!1,A.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:A.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:A.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:A.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:A.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:A.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:A.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew ln({checks:[],typeName:$.ZodBigInt,coerce:t?.coerce??!1,...V(t)});dn=class extends G{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==O.boolean){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.boolean,received:n.parsedType}),L}return Ge(e.data)}};dn.create=t=>new dn({typeName:$.ZodBoolean,coerce:t?.coerce||!1,...V(t)});pn=class t extends G{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==O.date){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:O.date,received:s.parsedType}),L}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_date}),L}let n=new Ze,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Q.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:A.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:A.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew pn({checks:[],coerce:t?.coerce||!1,typeName:$.ZodDate,...V(t)});so=class extends G{_parse(e){if(this._getType(e)!==O.symbol){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.symbol,received:n.parsedType}),L}return Ge(e.data)}};so.create=t=>new so({typeName:$.ZodSymbol,...V(t)});mn=class extends G{_parse(e){if(this._getType(e)!==O.undefined){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.undefined,received:n.parsedType}),L}return Ge(e.data)}};mn.create=t=>new mn({typeName:$.ZodUndefined,...V(t)});fn=class extends G{_parse(e){if(this._getType(e)!==O.null){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.null,received:n.parsedType}),L}return Ge(e.data)}};fn.create=t=>new fn({typeName:$.ZodNull,...V(t)});Or=class extends G{constructor(){super(...arguments),this._any=!0}_parse(e){return Ge(e.data)}};Or.create=t=>new Or({typeName:$.ZodAny,...V(t)});mr=class extends G{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ge(e.data)}};mr.create=t=>new mr({typeName:$.ZodUnknown,...V(t)});zt=class extends G{_parse(e){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:O.never,received:r.parsedType}),L}};zt.create=t=>new zt({typeName:$.ZodNever,...V(t)});io=class extends G{_parse(e){if(this._getType(e)!==O.undefined){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.void,received:n.parsedType}),L}return Ge(e.data)}};io.create=t=>new io({typeName:$.ZodVoid,...V(t)});fr=class t extends G{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==O.array)return P(r,{code:w.invalid_type,expected:O.array,received:r.parsedType}),L;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.lengtho.maxLength.value&&(P(r,{code:w.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 bt(r,i,r.path,a)))).then(i=>Ze.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new bt(r,i,r.path,a)));return Ze.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:A.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:A.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:A.toString(r)}})}nonempty(e){return this.min(1,e)}};fr.create=(t,e)=>new fr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...V(e)});at=class t extends G{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=Q.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==O.object){let u=this._getOrReturnCtx(e);return P(u,{code:w.invalid_type,expected:O.object,received:u.parsedType}),L}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof zt&&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 bt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof zt){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&&(P(o,{code:w.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 bt(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,m=await l.value;u.push({key:d,value:m,alwaysSet:l.alwaysSet})}return u}).then(u=>Ze.mergeObjectSync(n,u)):Ze.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return A.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:A.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:$.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 Q.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 Q.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return oo(this)}partial(e){let r={};for(let n of Q.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 Q.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof it;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return M_(Q.objectKeys(this.shape))}};at.create=(t,e)=>new at({shape:()=>t,unknownKeys:"strip",catchall:zt.create(),typeName:$.ZodObject,...V(e)});at.strictCreate=(t,e)=>new at({shape:()=>t,unknownKeys:"strict",catchall:zt.create(),typeName:$.ZodObject,...V(e)});at.lazycreate=(t,e)=>new at({shape:t,unknownKeys:"strip",catchall:zt.create(),typeName:$.ZodObject,...V(e)});hn=class extends G{_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 st(a.ctx.common.issues));return P(r,{code:w.invalid_union,unionErrors:i}),L}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 st(c));return P(r,{code:w.invalid_union,unionErrors:a}),L}}get options(){return this._def.options}};hn.create=(t,e)=>new hn({options:t,typeName:$.ZodUnion,...V(e)});pr=t=>t instanceof _n?pr(t.schema):t instanceof St?pr(t.innerType()):t instanceof yn?[t.value]:t instanceof vn?t.options:t instanceof xn?Q.objectValues(t.enum):t instanceof bn?pr(t._def.innerType):t instanceof mn?[void 0]:t instanceof fn?[null]:t instanceof it?[void 0,...pr(t.unwrap())]:t instanceof Yt?[null,...pr(t.unwrap())]:t instanceof ps||t instanceof kn?pr(t.unwrap()):t instanceof Sn?pr(t._def.innerType):[],Vi=class t extends G{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==O.object)return P(r,{code:w.invalid_type,expected:O.object,received:r.parsedType}),L;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}):(P(r,{code:w.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),L)}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=pr(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:$.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...V(n)})}};gn=class extends G{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(qi(s)||qi(i))return L;let a=nl(s.value,i.value);return a.valid?((Bi(s)||Bi(i))&&r.dirty(),{status:r.value,value:a.data}):(P(n,{code:w.invalid_intersection_types}),L)};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}))}};gn.create=(t,e,r)=>new gn({left:t,right:e,typeName:$.ZodIntersection,...V(r)});Jt=class t extends G{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==O.array)return P(n,{code:w.invalid_type,expected:O.array,received:n.parsedType}),L;if(n.data.lengththis._def.items.length&&(P(n,{code:w.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 bt(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ze.mergeArray(r,i)):Ze.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Jt.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Jt({items:t,typeName:$.ZodTuple,rest:null,...V(e)})};Wi=class t extends G{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!==O.object)return P(n,{code:w.invalid_type,expected:O.object,received:n.parsedType}),L;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new bt(n,a,n.path,a)),value:i._parse(new bt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ze.mergeObjectAsync(r,o):Ze.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof G?new t({keyType:e,valueType:r,typeName:$.ZodRecord,...V(n)}):new t({keyType:Rr.create(),valueType:e,typeName:$.ZodRecord,...V(r)})}},ao=class extends G{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!==O.map)return P(n,{code:w.invalid_type,expected:O.map,received:n.parsedType}),L;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new bt(n,a,n.path,[u,"key"])),value:s._parse(new bt(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 L;(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 L;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};ao.create=(t,e,r)=>new ao({valueType:e,keyType:t,typeName:$.ZodMap,...V(r)});co=class t extends G{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==O.set)return P(n,{code:w.invalid_type,expected:O.set,received:n.parsedType}),L;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(P(n,{code:w.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 L;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 bt(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:A.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:A.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};co.create=(t,e)=>new co({valueType:t,minSize:null,maxSize:null,typeName:$.ZodSet,...V(e)});Gi=class t extends G{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==O.function)return P(r,{code:w.invalid_type,expected:O.function,received:r.parsedType}),L;function n(a,c){return ds({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ro(),dr].filter(u=>!!u),issueData:{code:w.invalid_arguments,argumentsError:c}})}function o(a,c){return ds({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ro(),dr].filter(u=>!!u),issueData:{code:w.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Cr){let a=this;return Ge(async function(...c){let u=new st([]),l=await a._def.args.parseAsync(c,s).catch(h=>{throw u.addIssue(n(c,h)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(h=>{throw u.addIssue(o(d,h)),u})})}else{let a=this;return Ge(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new st([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new st([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:Jt.create(e).rest(mr.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||Jt.create([]).rest(mr.create()),returns:r||mr.create(),typeName:$.ZodFunction,...V(n)})}},_n=class extends G{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})}};_n.create=(t,e)=>new _n({getter:t,typeName:$.ZodLazy,...V(e)});yn=class extends G{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return P(r,{received:r.data,code:w.invalid_literal,expected:this._def.value}),L}return{status:"valid",value:e.data}}get value(){return this._def.value}};yn.create=(t,e)=>new yn({value:t,typeName:$.ZodLiteral,...V(e)});vn=class t extends G{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return P(r,{expected:Q.joinValues(n),received:r.parsedType,code:w.invalid_type}),L}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 P(r,{received:r.data,code:w.invalid_enum_value,options:n}),L}return Ge(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})}};vn.create=M_;xn=class extends G{_parse(e){let r=Q.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==O.string&&n.parsedType!==O.number){let o=Q.objectValues(r);return P(n,{expected:Q.joinValues(o),received:n.parsedType,code:w.invalid_type}),L}if(this._cache||(this._cache=new Set(Q.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=Q.objectValues(r);return P(n,{received:n.data,code:w.invalid_enum_value,options:o}),L}return Ge(e.data)}get enum(){return this._def.values}};xn.create=(t,e)=>new xn({values:t,typeName:$.ZodNativeEnum,...V(e)});Cr=class extends G{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==O.promise&&r.common.async===!1)return P(r,{code:w.invalid_type,expected:O.promise,received:r.parsedType}),L;let n=r.parsedType===O.promise?r.data:Promise.resolve(r.data);return Ge(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Cr.create=(t,e)=>new Cr({type:t,typeName:$.ZodPromise,...V(e)});St=class extends G{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.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=>{P(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 L;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?L:c.status==="dirty"?cn(c.value):r.value==="dirty"?cn(c.value):c});{if(r.value==="aborted")return L;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?L:a.status==="dirty"?cn(a.value):r.value==="dirty"?cn(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"?L:(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"?L:(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(!Pr(i))return L;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=>Pr(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):L);Q.assertNever(o)}};St.create=(t,e,r)=>new St({schema:t,typeName:$.ZodEffects,effect:e,...V(r)});St.createWithPreprocess=(t,e,r)=>new St({schema:e,effect:{type:"preprocess",transform:t},typeName:$.ZodEffects,...V(r)});it=class extends G{_parse(e){return this._getType(e)===O.undefined?Ge(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};it.create=(t,e)=>new it({innerType:t,typeName:$.ZodOptional,...V(e)});Yt=class extends G{_parse(e){return this._getType(e)===O.null?Ge(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Yt.create=(t,e)=>new Yt({innerType:t,typeName:$.ZodNullable,...V(e)});bn=class extends G{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===O.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};bn.create=(t,e)=>new bn({innerType:t,typeName:$.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...V(e)});Sn=class extends G{_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 no(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Sn.create=(t,e)=>new Sn({innerType:t,typeName:$.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...V(e)});uo=class extends G{_parse(e){if(this._getType(e)!==O.nan){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.nan,received:n.parsedType}),L}return{status:"valid",value:e.data}}};uo.create=t=>new uo({typeName:$.ZodNaN,...V(t)});lE=Symbol("zod_brand"),ps=class extends G{_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}},ms=class t extends G{_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"?L:s.status==="dirty"?(r.dirty(),cn(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"?L: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:$.ZodPipeline})}},kn=class extends G{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Pr(o)&&(o.value=Object.freeze(o.value)),o);return no(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};kn.create=(t,e)=>new kn({innerType:t,typeName:$.ZodReadonly,...V(e)});dE={object:at.lazycreate};(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"})($||($={}));pE=(t,e={message:`Input not instance of ${t.name}`})=>D_(r=>r instanceof t,e),L_=Rr.create,F_=un.create,mE=uo.create,fE=ln.create,Z_=dn.create,hE=pn.create,gE=so.create,_E=mn.create,yE=fn.create,vE=Or.create,xE=mr.create,bE=zt.create,SE=io.create,kE=fr.create,ol=at.create,wE=at.strictCreate,$E=hn.create,EE=Vi.create,TE=gn.create,PE=Jt.create,RE=Wi.create,OE=ao.create,CE=co.create,IE=Gi.create,AE=_n.create,NE=yn.create,zE=vn.create,jE=xn.create,ME=Cr.create,DE=St.create,LE=it.create,FE=Yt.create,ZE=St.createWithPreprocess,UE=ms.create,HE=()=>L_().optional(),qE=()=>F_().optional(),BE=()=>Z_().optional(),VE={string:(t=>Rr.create({...t,coerce:!0})),number:(t=>un.create({...t,coerce:!0})),boolean:(t=>dn.create({...t,coerce:!0})),bigint:(t=>ln.create({...t,coerce:!0})),date:(t=>pn.create({...t,coerce:!0}))},WE=L});var H={};Le(H,{BRAND:()=>lE,DIRTY:()=>cn,EMPTY_PATH:()=>U$,INVALID:()=>L,NEVER:()=>WE,OK:()=>Ge,ParseStatus:()=>Ze,Schema:()=>G,ZodAny:()=>Or,ZodArray:()=>fr,ZodBigInt:()=>ln,ZodBoolean:()=>dn,ZodBranded:()=>ps,ZodCatch:()=>Sn,ZodDate:()=>pn,ZodDefault:()=>bn,ZodDiscriminatedUnion:()=>Vi,ZodEffects:()=>St,ZodEnum:()=>vn,ZodError:()=>st,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Gi,ZodIntersection:()=>gn,ZodIssueCode:()=>w,ZodLazy:()=>_n,ZodLiteral:()=>yn,ZodMap:()=>ao,ZodNaN:()=>uo,ZodNativeEnum:()=>xn,ZodNever:()=>zt,ZodNull:()=>fn,ZodNullable:()=>Yt,ZodNumber:()=>un,ZodObject:()=>at,ZodOptional:()=>it,ZodParsedType:()=>O,ZodPipeline:()=>ms,ZodPromise:()=>Cr,ZodReadonly:()=>kn,ZodRecord:()=>Wi,ZodSchema:()=>G,ZodSet:()=>co,ZodString:()=>Rr,ZodSymbol:()=>so,ZodTransformer:()=>St,ZodTuple:()=>Jt,ZodType:()=>G,ZodUndefined:()=>mn,ZodUnion:()=>hn,ZodUnknown:()=>mr,ZodVoid:()=>io,addIssueToContext:()=>P,any:()=>vE,array:()=>kE,bigint:()=>fE,boolean:()=>Z_,coerce:()=>VE,custom:()=>D_,date:()=>hE,datetimeRegex:()=>j_,defaultErrorMap:()=>dr,discriminatedUnion:()=>EE,effect:()=>DE,enum:()=>zE,function:()=>IE,getErrorMap:()=>ro,getParsedType:()=>Kt,instanceof:()=>pE,intersection:()=>TE,isAborted:()=>qi,isAsync:()=>no,isDirty:()=>Bi,isValid:()=>Pr,late:()=>dE,lazy:()=>AE,literal:()=>NE,makeIssue:()=>ds,map:()=>OE,nan:()=>mE,nativeEnum:()=>jE,never:()=>bE,null:()=>yE,nullable:()=>FE,number:()=>F_,object:()=>ol,objectUtil:()=>Qu,oboolean:()=>BE,onumber:()=>qE,optional:()=>LE,ostring:()=>HE,pipeline:()=>UE,preprocess:()=>ZE,promise:()=>ME,quotelessJson:()=>L$,record:()=>RE,set:()=>CE,setErrorMap:()=>Z$,strictObject:()=>wE,string:()=>L_,symbol:()=>gE,transformer:()=>DE,tuple:()=>PE,undefined:()=>_E,union:()=>$E,unknown:()=>xE,util:()=>Q,void:()=>SE});var Ki=b(()=>{Hi();tl();O_();ls();U_();Ui()});var fs=b(()=>{Ki()});function S(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}function ht(t){return t&&Object.assign(Ji,t),Ji}var KE,hr,Ji,lo=b(()=>{KE=Object.freeze({status:"aborted"});hr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ji={}});var ee={};Le(ee,{BIGINT_FORMAT_RANGES:()=>q_,Class:()=>il,NUMBER_FORMAT_RANGES:()=>ml,aborted:()=>$n,allowsEval:()=>ll,assert:()=>eT,assertEqual:()=>JE,assertIs:()=>XE,assertNever:()=>QE,assertNotEqual:()=>YE,assignProp:()=>ul,cached:()=>_s,captureStackTrace:()=>Xi,cleanEnum:()=>mT,cleanRegex:()=>vs,clone:()=>gt,createTransparentProxy:()=>iT,defineLazy:()=>he,esc:()=>wn,escapeRegex:()=>Ir,extend:()=>uT,finalizeIssue:()=>jt,floatSafeRemainder:()=>cl,getElementAtPath:()=>tT,getEnumValues:()=>gs,getLengthableOrigin:()=>xs,getParsedType:()=>sT,getSizableOrigin:()=>B_,isObject:()=>po,isPlainObject:()=>mo,issue:()=>fl,joinValues:()=>Yi,jsonStringifyReplacer:()=>al,merge:()=>lT,normalizeParams:()=>F,nullish:()=>ys,numKeys:()=>oT,omit:()=>cT,optionalKeys:()=>pl,partial:()=>dT,pick:()=>aT,prefixIssues:()=>Xt,primitiveTypes:()=>H_,promiseAllObject:()=>rT,propertyKeyTypes:()=>dl,randomString:()=>nT,required:()=>pT,stringifyPrimitive:()=>Qi,unwrapMessage:()=>hs});function JE(t){return t}function YE(t){return t}function XE(t){}function QE(t){throw new Error}function eT(t){}function gs(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 Yi(t,e="|"){return t.map(r=>Qi(r)).join(e)}function al(t,e){return typeof e=="bigint"?e.toString():e}function _s(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function ys(t){return t==null}function vs(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function cl(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 he(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 ul(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function tT(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function rT(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;se};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 iT(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 Qi(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function pl(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function aT(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 gt(t,{...t._zod.def,shape:r,checks:[]})}function cT(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 gt(t,{...t._zod.def,shape:r,checks:[]})}function uT(t,e){if(!mo(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 ul(this,"shape",n),n},checks:[]};return gt(t,r)}function lT(t,e){return gt(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return ul(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function dT(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 gt(e,{...e._zod.def,shape:o,checks:[]})}function pT(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 gt(e,{...e._zod.def,shape:o,checks:[]})}function $n(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function hs(t){return typeof t=="string"?t:t?.message}function jt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=hs(t.inst?._zod.def?.error?.(t))??hs(e?.error?.(t))??hs(r.customError?.(t))??hs(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function B_(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function xs(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function fl(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function mT(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Xi,ll,sT,dl,H_,ml,q_,il,Qt=b(()=>{Xi=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};ll=_s(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});sT=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}`)}},dl=new Set(["string","number","symbol"]),H_=new Set(["string","number","bigint","boolean","symbol","undefined"]);ml={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]},q_={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};il=class{constructor(...e){}}});function hl(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 gl(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{lo();Qt();V_=(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,al,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},ea=S("$ZodError",V_),bs=S("$ZodError",V_,{Parent:Error})});var yl,vl,xl,bl,Sl,En,kl,Tn,wl=b(()=>{lo();_l();Qt();yl=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 hr;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>jt(c,s,ht())));throw Xi(a,o?.callee),a}return i.value},vl=yl(bs),xl=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=>jt(c,s,ht())));throw Xi(a,o?.callee),a}return i.value},bl=xl(bs),Sl=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 hr;return s.issues.length?{success:!1,error:new(t??ea)(s.issues.map(i=>jt(i,o,ht())))}:{success:!0,data:s.value}},En=Sl(bs),kl=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=>jt(i,o,ht())))}:{success:!0,data:s.value}},Tn=kl(bs)});function ry(){return new RegExp(hT,"u")}function py(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 my(t){return new RegExp(`^${py(t)}$`)}function fy(t){let e=py({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(`^${ly}T(?:${n})$`)}var W_,G_,K_,J_,Y_,X_,Q_,ey,$l,ty,hT,ny,oy,sy,iy,ay,El,cy,uy,ly,dy,hy,gy,_y,yy,vy,xy,by,ra=b(()=>{W_=/^[cC][^\s-]{8,}$/,G_=/^[0-9a-z]+$/,K_=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,J_=/^[0-9a-vA-V]{20}$/,Y_=/^[A-Za-z0-9]{27}$/,X_=/^[a-zA-Z0-9_-]{21}$/,Q_=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ey=/^([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})$/,$l=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)$/,ty=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,hT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";ny=/^(?:(?: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])$/,oy=/^(([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})$/,sy=/^((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])$/,iy=/^(([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])$/,ay=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,El=/^[A-Za-z0-9_-]*$/,cy=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,uy=/^\+(?:[0-9]){6,14}[0-9]$/,ly="(?:(?:\\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])))",dy=new RegExp(`^${ly}$`);hy=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},gy=/^\d+$/,_y=/^-?\d+(?:\.\d+)?/i,yy=/true|false/i,vy=/null/i,xy=/^[^A-Z]*$/,by=/^[^a-z]*$/});var Ue,Sy,Tl,Pl,ky,wy,$y,Ey,Ty,Ss,Py,Ry,Oy,Cy,Iy,Ay,Ny,na=b(()=>{lo();ra();Qt();Ue=S("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Sy={number:"number",bigint:"bigint",object:"date"},Tl=S("$ZodCheckLessThan",(t,e)=>{Ue.init(t,e);let r=Sy[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{Ue.init(t,e);let r=Sy[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})}}),ky=S("$ZodCheckMultipleOf",(t,e)=>{Ue.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):cl(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})}}),wy=S("$ZodCheckNumberFormat",(t,e)=>{Ue.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=ml[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=gy)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}as&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}}),$y=S("$ZodCheckMaxLength",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!ys(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let i=xs(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Ey=S("$ZodCheckMinLength",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!ys(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=xs(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Ty=S("$ZodCheckLengthEquals",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!ys(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=xs(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})}}),Ss=S("$ZodCheckStringFormat",(t,e)=>{var r,n;Ue.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=()=>{})}),Py=S("$ZodCheckRegex",(t,e)=>{Ss.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})}}),Ry=S("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=xy),Ss.init(t,e)}),Oy=S("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=by),Ss.init(t,e)}),Cy=S("$ZodCheckIncludes",(t,e)=>{Ue.init(t,e);let r=Ir(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),Iy=S("$ZodCheckStartsWith",(t,e)=>{Ue.init(t,e);let r=new RegExp(`^${Ir(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Ay=S("$ZodCheckEndsWith",(t,e)=>{Ue.init(t,e);let r=new RegExp(`.*${Ir(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}}),Ny=S("$ZodCheckOverwrite",(t,e)=>{Ue.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}})});var oa,Rl=b(()=>{oa=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var P_={};Le(P_,{detectPlatform:()=>an,getAdapter:()=>us});import{existsSync as Wt}from"node:fs";import{resolve as Gt}from"node:path";import{homedir as L$}from"node:os";function an(t){if(t?.name){let n=gg[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","kilo","opencode","codex","vscode-copilot","cursor","antigravity","kiro","pi","zed"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCLAW_HOME||process.env.OPENCLAW_CLI)return{platform:"openclaw",confidence:"high",reason:"OPENCLAW_HOME or OPENCLAW_CLI env var set"};if(process.env.KILO||process.env.KILO_PID)return{platform:"kilo",confidence:"high",reason:"KILO or KILO_PID env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.CURSOR_TRACE_ID||process.env.CURSOR_CLI)return{platform:"cursor",confidence:"high",reason:"CURSOR_TRACE_ID or CURSOR_CLI env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let r=L$();return Wt(Gt(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Wt(Gt(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Wt(Gt(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Wt(Gt(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Wt(Gt(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Wt(Gt(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Wt(Gt(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Wt(Gt(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Wt(Gt(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Wt(Gt(r,".config","zed"))?{platform:"zed",confidence:"medium",reason:"~/.config/zed/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function us(t){let e=t??an().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Su(),bu));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(Ig(),Cg));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(Mg(),jg));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(Zg(),Fg));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(Vg(),Bg));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(Yg(),Jg));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(c_(),a_));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(m_(),p_));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(x_(),v_));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(T_(),E_));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Su(),bu));return new r}}}var Yu=b(()=>{"use strict";_g()});var Q,Xu,O,Kt,ls=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})(Q||(Q={}));(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Xu||(Xu={}));O=Q.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Kt=t=>{switch(typeof t){case"undefined":return O.undefined;case"string":return O.string;case"number":return Number.isNaN(t)?O.nan:O.number;case"boolean":return O.boolean;case"function":return O.function;case"bigint":return O.bigint;case"symbol":return O.symbol;case"object":return Array.isArray(t)?O.array:t===null?O.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?O.promise:typeof Map<"u"&&t instanceof Map?O.map:typeof Set<"u"&&t instanceof Set?O.set:typeof Date<"u"&&t instanceof Date?O.date:O.object;default:return O.unknown}}});var w,F$,st,Ui=b(()=>{ls();w=Q.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"]),F$=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),st=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;cr.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};st.create=t=>new st(t)});var Z$,dr,Qu=b(()=>{Ui();ls();Z$=(t,e)=>{let r;switch(t.code){case w.invalid_type:t.received===O.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case w.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Q.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:r=`Unrecognized key(s) in object: ${Q.joinValues(t.keys,", ")}`;break;case w.invalid_union:r="Invalid input";break;case w.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Q.joinValues(t.options)}`;break;case w.invalid_enum_value:r=`Invalid enum value. Expected ${Q.joinValues(t.options)}, received '${t.received}'`;break;case w.invalid_arguments:r="Invalid function arguments";break;case w.invalid_return_type:r="Invalid function return type";break;case w.invalid_date:r="Invalid date";break;case w.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}"`:Q.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case w.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 w.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 w.custom:r="Invalid input";break;case w.invalid_intersection_types:r="Intersection results could not be merged";break;case w.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case w.not_finite:r="Number must be finite";break;default:r=e.defaultError,Q.assertNever(t)}return{message:r}},dr=Z$});function U$(t){R_=t}function ro(){return R_}var R_,Hi=b(()=>{Qu();R_=dr});function P(t,e){let r=ro(),n=ds({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===dr?void 0:dr].filter(o=>!!o)});t.common.issues.push(n)}var ds,H$,Ze,L,cn,Ge,qi,Bi,Pr,no,el=b(()=>{Hi();Qu();ds=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}},H$=[];Ze=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 L;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 L;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}}},L=Object.freeze({status:"aborted"}),cn=t=>({status:"dirty",value:t}),Ge=t=>({status:"valid",value:t}),qi=t=>t.status==="aborted",Bi=t=>t.status==="dirty",Pr=t=>t.status==="valid",no=t=>typeof Promise<"u"&&t instanceof Promise});var O_=b(()=>{});var A,C_=b(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(A||(A={}))});function V(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}}function z_(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 iE(t){return new RegExp(`^${z_(t)}$`)}function j_(t){let e=`${N_}T${z_(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 aE(t,e){return!!((e==="v4"||!e)&&Q$.test(t)||(e==="v6"||!e)&&tE.test(t))}function cE(t,e){if(!K$.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 uE(t,e){return!!((e==="v4"||!e)&&eE.test(t)||(e==="v6"||!e)&&rE.test(t))}function lE(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 oo(t){if(t instanceof at){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=it.create(oo(n))}return new at({...t._def,shape:()=>e})}else return t instanceof fr?new fr({...t._def,type:oo(t.element)}):t instanceof it?it.create(oo(t.unwrap())):t instanceof Yt?Yt.create(oo(t.unwrap())):t instanceof Jt?Jt.create(t.items.map(e=>oo(e))):t}function rl(t,e){let r=Kt(t),n=Kt(e);if(t===e)return{valid:!0,data:t};if(r===O.object&&n===O.object){let o=Q.objectKeys(e),s=Q.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=rl(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===O.array&&n===O.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=A_(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=A_(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Or.create()}var bt,I_,G,q$,B$,V$,W$,G$,K$,J$,Y$,X$,tl,Q$,eE,tE,rE,nE,oE,N_,sE,Rr,un,ln,dn,pn,so,mn,fn,Or,mr,zt,io,fr,at,hn,pr,Vi,gn,Jt,Wi,ao,co,Gi,_n,yn,vn,xn,Cr,St,it,Yt,bn,Sn,uo,dE,ps,ms,kn,pE,$,mE,L_,F_,fE,hE,Z_,gE,_E,yE,vE,xE,bE,SE,kE,wE,nl,$E,EE,TE,PE,RE,OE,CE,IE,AE,NE,zE,jE,ME,DE,LE,FE,ZE,UE,HE,qE,BE,VE,WE,GE,U_=b(()=>{Ui();Hi();C_();el();ls();bt=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}},I_=(t,e)=>{if(Pr(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 st(t.common.issues);return this._error=r,this._error}}};G=class{get description(){return this._def.description}_getType(e){return Kt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Kt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ze,ctx:{common:e.parent.common,data:e.data,parsedType:Kt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(no(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:Kt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return I_(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Kt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Pr(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=>Pr(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:Kt(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(no(o)?o:Promise.resolve(o));return I_(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:w.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 St({schema:this,typeName:$.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 it.create(this,this._def)}nullable(){return Yt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return fr.create(this)}promise(){return Cr.create(this,this._def)}or(e){return hn.create([this,e],this._def)}and(e){return gn.create(this,e,this._def)}transform(e){return new St({...V(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new bn({...V(this._def),innerType:this,defaultValue:r,typeName:$.ZodDefault})}brand(){return new ps({typeName:$.ZodBranded,type:this,...V(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Sn({...V(this._def),innerType:this,catchValue:r,typeName:$.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return ms.create(this,e)}readonly(){return kn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},q$=/^c[^\s-]{8,}$/i,B$=/^[0-9a-z]+$/,V$=/^[0-9A-HJKMNP-TV-Z]{26}$/i,W$=/^[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,G$=/^[a-z0-9_-]{21}$/i,K$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,J$=/^[-+]?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)?)??$/,Y$=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,X$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Q$=/^(?:(?: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])$/,eE=/^(?:(?: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])$/,tE=/^(([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]))$/,rE=/^(([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])$/,nE=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,oE=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,N_="((\\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])))",sE=new RegExp(`^${N_}$`);Rr=class t extends G{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==O.string){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:O.string,received:s.parsedType}),L}let n=new Ze,o;for(let s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.lengthe.test(o),{validation:r,code:w.invalid_string,...A.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...A.errToObj(e)})}url(e){return this._addCheck({kind:"url",...A.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...A.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...A.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...A.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...A.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...A.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...A.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...A.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...A.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...A.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...A.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...A.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,...A.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,...A.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...A.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...A.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...A.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...A.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...A.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...A.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...A.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...A.errToObj(r)})}nonempty(e){return this.min(1,A.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Rr({checks:[],typeName:$.ZodString,coerce:t?.coerce??!1,...V(t)});un=class t extends G{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)!==O.number){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:O.number,received:s.parsedType}),L}let n,o=new Ze;for(let s of this._def.checks)s.kind==="int"?Q.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),P(n,{code:w.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?lE(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),P(n,{code:w.not_finite,message:s.message}),o.dirty()):Q.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,A.toString(r))}gt(e,r){return this.setLimit("min",e,!1,A.toString(r))}lte(e,r){return this.setLimit("max",e,!0,A.toString(r))}lt(e,r){return this.setLimit("max",e,!1,A.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:A.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:A.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:A.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:A.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:A.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:A.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:A.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:A.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:A.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:A.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&Q.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew un({checks:[],typeName:$.ZodNumber,coerce:t?.coerce||!1,...V(t)});ln=class t extends G{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)!==O.bigint)return this._getInvalidInput(e);let n,o=new Ze;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.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),P(n,{code:w.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):Q.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:O.bigint,received:r.parsedType}),L}gte(e,r){return this.setLimit("min",e,!0,A.toString(r))}gt(e,r){return this.setLimit("min",e,!1,A.toString(r))}lte(e,r){return this.setLimit("max",e,!0,A.toString(r))}lt(e,r){return this.setLimit("max",e,!1,A.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:A.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:A.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:A.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:A.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:A.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:A.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew ln({checks:[],typeName:$.ZodBigInt,coerce:t?.coerce??!1,...V(t)});dn=class extends G{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==O.boolean){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.boolean,received:n.parsedType}),L}return Ge(e.data)}};dn.create=t=>new dn({typeName:$.ZodBoolean,coerce:t?.coerce||!1,...V(t)});pn=class t extends G{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==O.date){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:O.date,received:s.parsedType}),L}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_date}),L}let n=new Ze,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Q.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:A.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:A.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew pn({checks:[],coerce:t?.coerce||!1,typeName:$.ZodDate,...V(t)});so=class extends G{_parse(e){if(this._getType(e)!==O.symbol){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.symbol,received:n.parsedType}),L}return Ge(e.data)}};so.create=t=>new so({typeName:$.ZodSymbol,...V(t)});mn=class extends G{_parse(e){if(this._getType(e)!==O.undefined){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.undefined,received:n.parsedType}),L}return Ge(e.data)}};mn.create=t=>new mn({typeName:$.ZodUndefined,...V(t)});fn=class extends G{_parse(e){if(this._getType(e)!==O.null){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.null,received:n.parsedType}),L}return Ge(e.data)}};fn.create=t=>new fn({typeName:$.ZodNull,...V(t)});Or=class extends G{constructor(){super(...arguments),this._any=!0}_parse(e){return Ge(e.data)}};Or.create=t=>new Or({typeName:$.ZodAny,...V(t)});mr=class extends G{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ge(e.data)}};mr.create=t=>new mr({typeName:$.ZodUnknown,...V(t)});zt=class extends G{_parse(e){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:O.never,received:r.parsedType}),L}};zt.create=t=>new zt({typeName:$.ZodNever,...V(t)});io=class extends G{_parse(e){if(this._getType(e)!==O.undefined){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.void,received:n.parsedType}),L}return Ge(e.data)}};io.create=t=>new io({typeName:$.ZodVoid,...V(t)});fr=class t extends G{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==O.array)return P(r,{code:w.invalid_type,expected:O.array,received:r.parsedType}),L;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.lengtho.maxLength.value&&(P(r,{code:w.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 bt(r,i,r.path,a)))).then(i=>Ze.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new bt(r,i,r.path,a)));return Ze.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:A.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:A.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:A.toString(r)}})}nonempty(e){return this.min(1,e)}};fr.create=(t,e)=>new fr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...V(e)});at=class t extends G{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=Q.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==O.object){let u=this._getOrReturnCtx(e);return P(u,{code:w.invalid_type,expected:O.object,received:u.parsedType}),L}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof zt&&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 bt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof zt){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&&(P(o,{code:w.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 bt(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,m=await l.value;u.push({key:d,value:m,alwaysSet:l.alwaysSet})}return u}).then(u=>Ze.mergeObjectSync(n,u)):Ze.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return A.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:A.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:$.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 Q.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 Q.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return oo(this)}partial(e){let r={};for(let n of Q.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 Q.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof it;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return M_(Q.objectKeys(this.shape))}};at.create=(t,e)=>new at({shape:()=>t,unknownKeys:"strip",catchall:zt.create(),typeName:$.ZodObject,...V(e)});at.strictCreate=(t,e)=>new at({shape:()=>t,unknownKeys:"strict",catchall:zt.create(),typeName:$.ZodObject,...V(e)});at.lazycreate=(t,e)=>new at({shape:t,unknownKeys:"strip",catchall:zt.create(),typeName:$.ZodObject,...V(e)});hn=class extends G{_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 st(a.ctx.common.issues));return P(r,{code:w.invalid_union,unionErrors:i}),L}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 st(c));return P(r,{code:w.invalid_union,unionErrors:a}),L}}get options(){return this._def.options}};hn.create=(t,e)=>new hn({options:t,typeName:$.ZodUnion,...V(e)});pr=t=>t instanceof _n?pr(t.schema):t instanceof St?pr(t.innerType()):t instanceof yn?[t.value]:t instanceof vn?t.options:t instanceof xn?Q.objectValues(t.enum):t instanceof bn?pr(t._def.innerType):t instanceof mn?[void 0]:t instanceof fn?[null]:t instanceof it?[void 0,...pr(t.unwrap())]:t instanceof Yt?[null,...pr(t.unwrap())]:t instanceof ps||t instanceof kn?pr(t.unwrap()):t instanceof Sn?pr(t._def.innerType):[],Vi=class t extends G{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==O.object)return P(r,{code:w.invalid_type,expected:O.object,received:r.parsedType}),L;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}):(P(r,{code:w.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),L)}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=pr(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:$.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...V(n)})}};gn=class extends G{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(qi(s)||qi(i))return L;let a=rl(s.value,i.value);return a.valid?((Bi(s)||Bi(i))&&r.dirty(),{status:r.value,value:a.data}):(P(n,{code:w.invalid_intersection_types}),L)};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}))}};gn.create=(t,e,r)=>new gn({left:t,right:e,typeName:$.ZodIntersection,...V(r)});Jt=class t extends G{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==O.array)return P(n,{code:w.invalid_type,expected:O.array,received:n.parsedType}),L;if(n.data.lengththis._def.items.length&&(P(n,{code:w.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 bt(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ze.mergeArray(r,i)):Ze.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Jt.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Jt({items:t,typeName:$.ZodTuple,rest:null,...V(e)})};Wi=class t extends G{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!==O.object)return P(n,{code:w.invalid_type,expected:O.object,received:n.parsedType}),L;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new bt(n,a,n.path,a)),value:i._parse(new bt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ze.mergeObjectAsync(r,o):Ze.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof G?new t({keyType:e,valueType:r,typeName:$.ZodRecord,...V(n)}):new t({keyType:Rr.create(),valueType:e,typeName:$.ZodRecord,...V(r)})}},ao=class extends G{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!==O.map)return P(n,{code:w.invalid_type,expected:O.map,received:n.parsedType}),L;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new bt(n,a,n.path,[u,"key"])),value:s._parse(new bt(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 L;(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 L;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};ao.create=(t,e,r)=>new ao({valueType:e,keyType:t,typeName:$.ZodMap,...V(r)});co=class t extends G{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==O.set)return P(n,{code:w.invalid_type,expected:O.set,received:n.parsedType}),L;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(P(n,{code:w.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 L;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 bt(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:A.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:A.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};co.create=(t,e)=>new co({valueType:t,minSize:null,maxSize:null,typeName:$.ZodSet,...V(e)});Gi=class t extends G{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==O.function)return P(r,{code:w.invalid_type,expected:O.function,received:r.parsedType}),L;function n(a,c){return ds({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ro(),dr].filter(u=>!!u),issueData:{code:w.invalid_arguments,argumentsError:c}})}function o(a,c){return ds({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ro(),dr].filter(u=>!!u),issueData:{code:w.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Cr){let a=this;return Ge(async function(...c){let u=new st([]),l=await a._def.args.parseAsync(c,s).catch(h=>{throw u.addIssue(n(c,h)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(h=>{throw u.addIssue(o(d,h)),u})})}else{let a=this;return Ge(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new st([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new st([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:Jt.create(e).rest(mr.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||Jt.create([]).rest(mr.create()),returns:r||mr.create(),typeName:$.ZodFunction,...V(n)})}},_n=class extends G{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})}};_n.create=(t,e)=>new _n({getter:t,typeName:$.ZodLazy,...V(e)});yn=class extends G{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return P(r,{received:r.data,code:w.invalid_literal,expected:this._def.value}),L}return{status:"valid",value:e.data}}get value(){return this._def.value}};yn.create=(t,e)=>new yn({value:t,typeName:$.ZodLiteral,...V(e)});vn=class t extends G{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return P(r,{expected:Q.joinValues(n),received:r.parsedType,code:w.invalid_type}),L}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 P(r,{received:r.data,code:w.invalid_enum_value,options:n}),L}return Ge(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})}};vn.create=M_;xn=class extends G{_parse(e){let r=Q.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==O.string&&n.parsedType!==O.number){let o=Q.objectValues(r);return P(n,{expected:Q.joinValues(o),received:n.parsedType,code:w.invalid_type}),L}if(this._cache||(this._cache=new Set(Q.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=Q.objectValues(r);return P(n,{received:n.data,code:w.invalid_enum_value,options:o}),L}return Ge(e.data)}get enum(){return this._def.values}};xn.create=(t,e)=>new xn({values:t,typeName:$.ZodNativeEnum,...V(e)});Cr=class extends G{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==O.promise&&r.common.async===!1)return P(r,{code:w.invalid_type,expected:O.promise,received:r.parsedType}),L;let n=r.parsedType===O.promise?r.data:Promise.resolve(r.data);return Ge(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Cr.create=(t,e)=>new Cr({type:t,typeName:$.ZodPromise,...V(e)});St=class extends G{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.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=>{P(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 L;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?L:c.status==="dirty"?cn(c.value):r.value==="dirty"?cn(c.value):c});{if(r.value==="aborted")return L;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?L:a.status==="dirty"?cn(a.value):r.value==="dirty"?cn(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"?L:(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"?L:(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(!Pr(i))return L;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=>Pr(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):L);Q.assertNever(o)}};St.create=(t,e,r)=>new St({schema:t,typeName:$.ZodEffects,effect:e,...V(r)});St.createWithPreprocess=(t,e,r)=>new St({schema:e,effect:{type:"preprocess",transform:t},typeName:$.ZodEffects,...V(r)});it=class extends G{_parse(e){return this._getType(e)===O.undefined?Ge(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};it.create=(t,e)=>new it({innerType:t,typeName:$.ZodOptional,...V(e)});Yt=class extends G{_parse(e){return this._getType(e)===O.null?Ge(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Yt.create=(t,e)=>new Yt({innerType:t,typeName:$.ZodNullable,...V(e)});bn=class extends G{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===O.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};bn.create=(t,e)=>new bn({innerType:t,typeName:$.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...V(e)});Sn=class extends G{_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 no(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Sn.create=(t,e)=>new Sn({innerType:t,typeName:$.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...V(e)});uo=class extends G{_parse(e){if(this._getType(e)!==O.nan){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:O.nan,received:n.parsedType}),L}return{status:"valid",value:e.data}}};uo.create=t=>new uo({typeName:$.ZodNaN,...V(t)});dE=Symbol("zod_brand"),ps=class extends G{_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}},ms=class t extends G{_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"?L:s.status==="dirty"?(r.dirty(),cn(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"?L: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:$.ZodPipeline})}},kn=class extends G{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Pr(o)&&(o.value=Object.freeze(o.value)),o);return no(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};kn.create=(t,e)=>new kn({innerType:t,typeName:$.ZodReadonly,...V(e)});pE={object:at.lazycreate};(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"})($||($={}));mE=(t,e={message:`Input not instance of ${t.name}`})=>D_(r=>r instanceof t,e),L_=Rr.create,F_=un.create,fE=uo.create,hE=ln.create,Z_=dn.create,gE=pn.create,_E=so.create,yE=mn.create,vE=fn.create,xE=Or.create,bE=mr.create,SE=zt.create,kE=io.create,wE=fr.create,nl=at.create,$E=at.strictCreate,EE=hn.create,TE=Vi.create,PE=gn.create,RE=Jt.create,OE=Wi.create,CE=ao.create,IE=co.create,AE=Gi.create,NE=_n.create,zE=yn.create,jE=vn.create,ME=xn.create,DE=Cr.create,LE=St.create,FE=it.create,ZE=Yt.create,UE=St.createWithPreprocess,HE=ms.create,qE=()=>L_().optional(),BE=()=>F_().optional(),VE=()=>Z_().optional(),WE={string:(t=>Rr.create({...t,coerce:!0})),number:(t=>un.create({...t,coerce:!0})),boolean:(t=>dn.create({...t,coerce:!0})),bigint:(t=>ln.create({...t,coerce:!0})),date:(t=>pn.create({...t,coerce:!0}))},GE=L});var H={};Le(H,{BRAND:()=>dE,DIRTY:()=>cn,EMPTY_PATH:()=>H$,INVALID:()=>L,NEVER:()=>GE,OK:()=>Ge,ParseStatus:()=>Ze,Schema:()=>G,ZodAny:()=>Or,ZodArray:()=>fr,ZodBigInt:()=>ln,ZodBoolean:()=>dn,ZodBranded:()=>ps,ZodCatch:()=>Sn,ZodDate:()=>pn,ZodDefault:()=>bn,ZodDiscriminatedUnion:()=>Vi,ZodEffects:()=>St,ZodEnum:()=>vn,ZodError:()=>st,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Gi,ZodIntersection:()=>gn,ZodIssueCode:()=>w,ZodLazy:()=>_n,ZodLiteral:()=>yn,ZodMap:()=>ao,ZodNaN:()=>uo,ZodNativeEnum:()=>xn,ZodNever:()=>zt,ZodNull:()=>fn,ZodNullable:()=>Yt,ZodNumber:()=>un,ZodObject:()=>at,ZodOptional:()=>it,ZodParsedType:()=>O,ZodPipeline:()=>ms,ZodPromise:()=>Cr,ZodReadonly:()=>kn,ZodRecord:()=>Wi,ZodSchema:()=>G,ZodSet:()=>co,ZodString:()=>Rr,ZodSymbol:()=>so,ZodTransformer:()=>St,ZodTuple:()=>Jt,ZodType:()=>G,ZodUndefined:()=>mn,ZodUnion:()=>hn,ZodUnknown:()=>mr,ZodVoid:()=>io,addIssueToContext:()=>P,any:()=>xE,array:()=>wE,bigint:()=>hE,boolean:()=>Z_,coerce:()=>WE,custom:()=>D_,date:()=>gE,datetimeRegex:()=>j_,defaultErrorMap:()=>dr,discriminatedUnion:()=>TE,effect:()=>LE,enum:()=>jE,function:()=>AE,getErrorMap:()=>ro,getParsedType:()=>Kt,instanceof:()=>mE,intersection:()=>PE,isAborted:()=>qi,isAsync:()=>no,isDirty:()=>Bi,isValid:()=>Pr,late:()=>pE,lazy:()=>NE,literal:()=>zE,makeIssue:()=>ds,map:()=>CE,nan:()=>fE,nativeEnum:()=>ME,never:()=>SE,null:()=>vE,nullable:()=>ZE,number:()=>F_,object:()=>nl,objectUtil:()=>Xu,oboolean:()=>VE,onumber:()=>BE,optional:()=>FE,ostring:()=>qE,pipeline:()=>HE,preprocess:()=>UE,promise:()=>DE,quotelessJson:()=>F$,record:()=>OE,set:()=>IE,setErrorMap:()=>U$,strictObject:()=>$E,string:()=>L_,symbol:()=>_E,transformer:()=>LE,tuple:()=>RE,undefined:()=>yE,union:()=>EE,unknown:()=>bE,util:()=>Q,void:()=>kE});var Ki=b(()=>{Hi();el();O_();ls();U_();Ui()});var fs=b(()=>{Ki()});function S(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}function ht(t){return t&&Object.assign(Ji,t),Ji}var JE,hr,Ji,lo=b(()=>{JE=Object.freeze({status:"aborted"});hr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ji={}});var ee={};Le(ee,{BIGINT_FORMAT_RANGES:()=>q_,Class:()=>sl,NUMBER_FORMAT_RANGES:()=>pl,aborted:()=>$n,allowsEval:()=>ul,assert:()=>tT,assertEqual:()=>YE,assertIs:()=>QE,assertNever:()=>eT,assertNotEqual:()=>XE,assignProp:()=>cl,cached:()=>_s,captureStackTrace:()=>Xi,cleanEnum:()=>fT,cleanRegex:()=>vs,clone:()=>gt,createTransparentProxy:()=>aT,defineLazy:()=>he,esc:()=>wn,escapeRegex:()=>Ir,extend:()=>lT,finalizeIssue:()=>jt,floatSafeRemainder:()=>al,getElementAtPath:()=>rT,getEnumValues:()=>gs,getLengthableOrigin:()=>xs,getParsedType:()=>iT,getSizableOrigin:()=>B_,isObject:()=>po,isPlainObject:()=>mo,issue:()=>ml,joinValues:()=>Yi,jsonStringifyReplacer:()=>il,merge:()=>dT,normalizeParams:()=>F,nullish:()=>ys,numKeys:()=>sT,omit:()=>uT,optionalKeys:()=>dl,partial:()=>pT,pick:()=>cT,prefixIssues:()=>Xt,primitiveTypes:()=>H_,promiseAllObject:()=>nT,propertyKeyTypes:()=>ll,randomString:()=>oT,required:()=>mT,stringifyPrimitive:()=>Qi,unwrapMessage:()=>hs});function YE(t){return t}function XE(t){return t}function QE(t){}function eT(t){throw new Error}function tT(t){}function gs(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 Yi(t,e="|"){return t.map(r=>Qi(r)).join(e)}function il(t,e){return typeof e=="bigint"?e.toString():e}function _s(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function ys(t){return t==null}function vs(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function al(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 he(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 cl(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function rT(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function nT(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;se};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 aT(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 Qi(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function dl(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function cT(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 gt(t,{...t._zod.def,shape:r,checks:[]})}function uT(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 gt(t,{...t._zod.def,shape:r,checks:[]})}function lT(t,e){if(!mo(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 cl(this,"shape",n),n},checks:[]};return gt(t,r)}function dT(t,e){return gt(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return cl(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function pT(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 gt(e,{...e._zod.def,shape:o,checks:[]})}function mT(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 gt(e,{...e._zod.def,shape:o,checks:[]})}function $n(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function hs(t){return typeof t=="string"?t:t?.message}function jt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=hs(t.inst?._zod.def?.error?.(t))??hs(e?.error?.(t))??hs(r.customError?.(t))??hs(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function B_(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function xs(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function ml(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function fT(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Xi,ul,iT,ll,H_,pl,q_,sl,Qt=b(()=>{Xi=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};ul=_s(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});iT=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}`)}},ll=new Set(["string","number","symbol"]),H_=new Set(["string","number","bigint","boolean","symbol","undefined"]);pl={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]},q_={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};sl=class{constructor(...e){}}});function fl(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 hl(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{lo();Qt();V_=(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,il,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},ea=S("$ZodError",V_),bs=S("$ZodError",V_,{Parent:Error})});var _l,yl,vl,xl,bl,En,Sl,Tn,kl=b(()=>{lo();gl();Qt();_l=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 hr;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>jt(c,s,ht())));throw Xi(a,o?.callee),a}return i.value},yl=_l(bs),vl=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=>jt(c,s,ht())));throw Xi(a,o?.callee),a}return i.value},xl=vl(bs),bl=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 hr;return s.issues.length?{success:!1,error:new(t??ea)(s.issues.map(i=>jt(i,o,ht())))}:{success:!0,data:s.value}},En=bl(bs),Sl=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=>jt(i,o,ht())))}:{success:!0,data:s.value}},Tn=Sl(bs)});function ry(){return new RegExp(gT,"u")}function py(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 my(t){return new RegExp(`^${py(t)}$`)}function fy(t){let e=py({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(`^${ly}T(?:${n})$`)}var W_,G_,K_,J_,Y_,X_,Q_,ey,wl,ty,gT,ny,oy,sy,iy,ay,$l,cy,uy,ly,dy,hy,gy,_y,yy,vy,xy,by,ra=b(()=>{W_=/^[cC][^\s-]{8,}$/,G_=/^[0-9a-z]+$/,K_=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,J_=/^[0-9a-vA-V]{20}$/,Y_=/^[A-Za-z0-9]{27}$/,X_=/^[a-zA-Z0-9_-]{21}$/,Q_=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ey=/^([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})$/,wl=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)$/,ty=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,gT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";ny=/^(?:(?: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])$/,oy=/^(([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})$/,sy=/^((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])$/,iy=/^(([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])$/,ay=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,$l=/^[A-Za-z0-9_-]*$/,cy=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,uy=/^\+(?:[0-9]){6,14}[0-9]$/,ly="(?:(?:\\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])))",dy=new RegExp(`^${ly}$`);hy=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},gy=/^\d+$/,_y=/^-?\d+(?:\.\d+)?/i,yy=/true|false/i,vy=/null/i,xy=/^[^A-Z]*$/,by=/^[^a-z]*$/});var Ue,Sy,El,Tl,ky,wy,$y,Ey,Ty,Ss,Py,Ry,Oy,Cy,Iy,Ay,Ny,na=b(()=>{lo();ra();Qt();Ue=S("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Sy={number:"number",bigint:"bigint",object:"date"},El=S("$ZodCheckLessThan",(t,e)=>{Ue.init(t,e);let r=Sy[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{Ue.init(t,e);let r=Sy[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})}}),ky=S("$ZodCheckMultipleOf",(t,e)=>{Ue.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):al(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})}}),wy=S("$ZodCheckNumberFormat",(t,e)=>{Ue.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=pl[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=gy)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}as&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}}),$y=S("$ZodCheckMaxLength",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!ys(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let i=xs(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Ey=S("$ZodCheckMinLength",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!ys(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=xs(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Ty=S("$ZodCheckLengthEquals",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!ys(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=xs(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})}}),Ss=S("$ZodCheckStringFormat",(t,e)=>{var r,n;Ue.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=()=>{})}),Py=S("$ZodCheckRegex",(t,e)=>{Ss.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})}}),Ry=S("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=xy),Ss.init(t,e)}),Oy=S("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=by),Ss.init(t,e)}),Cy=S("$ZodCheckIncludes",(t,e)=>{Ue.init(t,e);let r=Ir(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),Iy=S("$ZodCheckStartsWith",(t,e)=>{Ue.init(t,e);let r=new RegExp(`^${Ir(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Ay=S("$ZodCheckEndsWith",(t,e)=>{Ue.init(t,e);let r=new RegExp(`.*${Ir(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}}),Ny=S("$ZodCheckOverwrite",(t,e)=>{Ue.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}})});var oa,Pl=b(()=>{oa=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` `).filter(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let e=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new e(...r,o.join(` -`))}}});var jy,Ol=b(()=>{jy={major:4,minor:0,patch:0}});function Jy(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}function gT(t){if(!El.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Jy(r)}function _T(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}}function My(t,e,r){t.issues.length&&e.issues.push(...Xt(r,t.issues)),e.value[r]=t.value}function sa(t,e,r){t.issues.length&&e.issues.push(...Xt(r,t.issues)),e.value[r]=t.value}function Dy(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(...Xt(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function Ly(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=>jt(s,n,ht())))}),e}function Cl(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(mo(t)&&mo(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=Cl(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{na();lo();Rl();wl();ra();Qt();Ol();Qt();ue=S("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=jy;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=$n(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,m=l._zod.check(s);if(m instanceof Promise&&a?.async===!1)throw new hr;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await m,s.issues.length!==d&&(c||(c=$n(s,d)))});else{if(s.issues.length===d)continue;c||(c=$n(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 hr;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=En(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Tn(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),ks=S("$ZodString",(t,e)=>{ue.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??hy(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}}),ge=S("$ZodStringFormat",(t,e)=>{Ss.init(t,e),ks.init(t,e)}),Il=S("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=ey),ge.init(t,e)}),Al=S("$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=$l(n))}else e.pattern??(e.pattern=$l());ge.init(t,e)}),Nl=S("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=ty),ge.init(t,e)}),zl=S("$ZodURL",(t,e)=>{ge.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:cy.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})}}}),jl=S("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=ry()),ge.init(t,e)}),Ml=S("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=X_),ge.init(t,e)}),Dl=S("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=W_),ge.init(t,e)}),Ll=S("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=G_),ge.init(t,e)}),Fl=S("$ZodULID",(t,e)=>{e.pattern??(e.pattern=K_),ge.init(t,e)}),Zl=S("$ZodXID",(t,e)=>{e.pattern??(e.pattern=J_),ge.init(t,e)}),Ul=S("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Y_),ge.init(t,e)}),Vy=S("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=fy(e)),ge.init(t,e)}),Wy=S("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=dy),ge.init(t,e)}),Gy=S("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=my(e)),ge.init(t,e)}),Ky=S("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Q_),ge.init(t,e)}),Hl=S("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=ny),ge.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),ql=S("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=oy),ge.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})}}}),Bl=S("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=sy),ge.init(t,e)}),Vl=S("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=iy),ge.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})}}});Wl=S("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=ay),ge.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Jy(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});Gl=S("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=El),ge.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{gT(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Kl=S("$ZodE164",(t,e)=>{e.pattern??(e.pattern=uy),ge.init(t,e)});Jl=S("$ZodJWT",(t,e)=>{ge.init(t,e),t._zod.check=r=>{_T(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),ia=S("$ZodNumber",(t,e)=>{ue.init(t,e),t._zod.pattern=t._zod.bag.pattern??_y,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}}),Yl=S("$ZodNumber",(t,e)=>{wy.init(t,e),ia.init(t,e)}),Xl=S("$ZodBoolean",(t,e)=>{ue.init(t,e),t._zod.pattern=yy,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}}),Ql=S("$ZodNull",(t,e)=>{ue.init(t,e),t._zod.pattern=vy,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}}),ed=S("$ZodUnknown",(t,e)=>{ue.init(t,e),t._zod.parse=r=>r}),td=S("$ZodNever",(t,e)=>{ue.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});rd=S("$ZodArray",(t,e)=>{ue.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;iMy(u,r,i))):My(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});aa=S("$ZodObject",(t,e)=>{ue.init(t,e);let r=_s(()=>{let d=Object.keys(e.shape);for(let h of d)if(!(e.shape[h]instanceof ue))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let m=pl(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(m)}});he(t._zod,"propValues",()=>{let d=e.shape,m={};for(let h in d){let p=d[h]._zod;if(p.values){m[h]??(m[h]=new Set);for(let f of p.values)m[h].add(f)}}return m});let n=d=>{let m=new oa(["shape","payload","ctx"]),h=r.value,p=y=>{let v=wn(y);return`shape[${v}]._zod.run({ value: input[${v}], issues: [] }, ctx)`};m.write("const input = payload.value;");let f=Object.create(null),g=0;for(let y of h.keys)f[y]=`key_${g++}`;m.write("const newResult = {}");for(let y of h.keys)if(h.optionalKeys.has(y)){let v=f[y];m.write(`const ${v} = ${p(y)};`);let k=wn(y);m.write(` +`))}}});var jy,Rl=b(()=>{jy={major:4,minor:0,patch:0}});function Jy(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}function _T(t){if(!$l.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Jy(r)}function yT(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}}function My(t,e,r){t.issues.length&&e.issues.push(...Xt(r,t.issues)),e.value[r]=t.value}function sa(t,e,r){t.issues.length&&e.issues.push(...Xt(r,t.issues)),e.value[r]=t.value}function Dy(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(...Xt(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function Ly(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=>jt(s,n,ht())))}),e}function Ol(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(mo(t)&&mo(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=Ol(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{na();lo();Pl();kl();ra();Qt();Rl();Qt();ue=S("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=jy;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=$n(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,m=l._zod.check(s);if(m instanceof Promise&&a?.async===!1)throw new hr;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await m,s.issues.length!==d&&(c||(c=$n(s,d)))});else{if(s.issues.length===d)continue;c||(c=$n(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 hr;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=En(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Tn(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),ks=S("$ZodString",(t,e)=>{ue.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??hy(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}}),ge=S("$ZodStringFormat",(t,e)=>{Ss.init(t,e),ks.init(t,e)}),Cl=S("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=ey),ge.init(t,e)}),Il=S("$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=wl(n))}else e.pattern??(e.pattern=wl());ge.init(t,e)}),Al=S("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=ty),ge.init(t,e)}),Nl=S("$ZodURL",(t,e)=>{ge.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:cy.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})}}}),zl=S("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=ry()),ge.init(t,e)}),jl=S("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=X_),ge.init(t,e)}),Ml=S("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=W_),ge.init(t,e)}),Dl=S("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=G_),ge.init(t,e)}),Ll=S("$ZodULID",(t,e)=>{e.pattern??(e.pattern=K_),ge.init(t,e)}),Fl=S("$ZodXID",(t,e)=>{e.pattern??(e.pattern=J_),ge.init(t,e)}),Zl=S("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Y_),ge.init(t,e)}),Vy=S("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=fy(e)),ge.init(t,e)}),Wy=S("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=dy),ge.init(t,e)}),Gy=S("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=my(e)),ge.init(t,e)}),Ky=S("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Q_),ge.init(t,e)}),Ul=S("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=ny),ge.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),Hl=S("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=oy),ge.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})}}}),ql=S("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=sy),ge.init(t,e)}),Bl=S("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=iy),ge.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})}}});Vl=S("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=ay),ge.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Jy(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});Wl=S("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=$l),ge.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{_T(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Gl=S("$ZodE164",(t,e)=>{e.pattern??(e.pattern=uy),ge.init(t,e)});Kl=S("$ZodJWT",(t,e)=>{ge.init(t,e),t._zod.check=r=>{yT(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),ia=S("$ZodNumber",(t,e)=>{ue.init(t,e),t._zod.pattern=t._zod.bag.pattern??_y,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}}),Jl=S("$ZodNumber",(t,e)=>{wy.init(t,e),ia.init(t,e)}),Yl=S("$ZodBoolean",(t,e)=>{ue.init(t,e),t._zod.pattern=yy,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}}),Xl=S("$ZodNull",(t,e)=>{ue.init(t,e),t._zod.pattern=vy,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}}),Ql=S("$ZodUnknown",(t,e)=>{ue.init(t,e),t._zod.parse=r=>r}),ed=S("$ZodNever",(t,e)=>{ue.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});td=S("$ZodArray",(t,e)=>{ue.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;iMy(u,r,i))):My(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});aa=S("$ZodObject",(t,e)=>{ue.init(t,e);let r=_s(()=>{let d=Object.keys(e.shape);for(let h of d)if(!(e.shape[h]instanceof ue))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let m=dl(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(m)}});he(t._zod,"propValues",()=>{let d=e.shape,m={};for(let h in d){let p=d[h]._zod;if(p.values){m[h]??(m[h]=new Set);for(let f of p.values)m[h].add(f)}}return m});let n=d=>{let m=new oa(["shape","payload","ctx"]),h=r.value,p=y=>{let v=wn(y);return`shape[${v}]._zod.run({ value: input[${v}], issues: [] }, ctx)`};m.write("const input = payload.value;");let f=Object.create(null),g=0;for(let y of h.keys)f[y]=`key_${g++}`;m.write("const newResult = {}");for(let y of h.keys)if(h.optionalKeys.has(y)){let v=f[y];m.write(`const ${v} = ${p(y)};`);let k=wn(y);m.write(` if (${v}.issues.length) { if (input[${k}] === undefined) { if (${k} in input) { @@ -42,22 +42,22 @@ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_inde if (${v}.issues.length) payload.issues = payload.issues.concat(${v}.issues.map(iss => ({ ...iss, path: iss.path ? [${wn(y)}, ...iss.path] : [${wn(y)}] - })));`),m.write(`newResult[${wn(y)}] = ${v}.value`)}m.write("payload.value = newResult;"),m.write("return payload;");let _=m.compile();return(y,v)=>_(d,y,v)},o,s=po,i=!Ji.jitless,c=i&&ll.value,u=e.catchall,l;t._zod.parse=(d,m)=>{l??(l=r.value);let h=d.value;if(!s(h))return d.issues.push({expected:"object",code:"invalid_type",input:h,inst:t}),d;let p=[];if(i&&c&&m?.async===!1&&m.jitless!==!0)o||(o=n(e.shape)),d=o(d,m);else{d.value={};let v=l.shape;for(let k of l.keys){let T=v[k],J=T._zod.run({value:h[k],issues:[]},m),B=T._zod.optin==="optional"&&T._zod.optout==="optional";J instanceof Promise?p.push(J.then(N=>B?Dy(N,d,k,h):sa(N,d,k))):B?Dy(J,d,k,h):sa(J,d,k)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let f=[],g=l.keySet,_=u._zod,y=_.def.type;for(let v of Object.keys(h)){if(g.has(v))continue;if(y==="never"){f.push(v);continue}let k=_.run({value:h[v],issues:[]},m);k instanceof Promise?p.push(k.then(T=>sa(T,d,v))):sa(k,d,v)}return f.length&&d.issues.push({code:"unrecognized_keys",keys:f,input:h,inst:t}),p.length?Promise.all(p).then(()=>d):d}});ca=S("$ZodUnion",(t,e)=>{ue.init(t,e),he(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),he(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),he(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),he(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=>vs(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=>Ly(i,r,t,n)):Ly(s,r,t,n)}}),nd=S("$ZodDiscriminatedUnion",(t,e)=>{ca.init(t,e);let r=t._zod.parse;he(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=_s(()=>{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(!po(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)}}),od=S("$ZodIntersection",(t,e)=>{ue.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])=>Fy(r,c,u)):Fy(r,s,i)}});sd=S("$ZodRecord",(t,e)=>{ue.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!mo(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(...Xt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Xt(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=>jt(u,n,ht())),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(...Xt(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Xt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}}),id=S("$ZodEnum",(t,e)=>{ue.init(t,e);let r=gs(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>dl.has(typeof n)).map(n=>typeof n=="string"?Ir(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),ad=S("$ZodLiteral",(t,e)=>{ue.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?Ir(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}}),cd=S("$ZodTransform",(t,e)=>{ue.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 hr;return r.value=o,r}}),ud=S("$ZodOptional",(t,e)=>{ue.init(t,e),t._zod.optin="optional",t._zod.optout="optional",he(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),he(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${vs(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)}),ld=S("$ZodNullable",(t,e)=>{ue.init(t,e),he(t._zod,"optin",()=>e.innerType._zod.optin),he(t._zod,"optout",()=>e.innerType._zod.optout),he(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${vs(r.source)}|null)$`):void 0}),he(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)}),dd=S("$ZodDefault",(t,e)=>{ue.init(t,e),t._zod.optin="optional",he(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=>Zy(s,e)):Zy(o,e)}});pd=S("$ZodPrefault",(t,e)=>{ue.init(t,e),t._zod.optin="optional",he(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))}),md=S("$ZodNonOptional",(t,e)=>{ue.init(t,e),he(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=>Uy(s,t)):Uy(o,t)}});fd=S("$ZodCatch",(t,e)=>{ue.init(t,e),t._zod.optin="optional",he(t._zod,"optout",()=>e.innerType._zod.optout),he(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=>jt(i,n,ht()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>jt(s,n,ht()))},input:r.value}),r.issues=[]),r)}}),hd=S("$ZodPipe",(t,e)=>{ue.init(t,e),he(t._zod,"values",()=>e.in._zod.values),he(t._zod,"optin",()=>e.in._zod.optin),he(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=>Hy(s,e,n)):Hy(o,e,n)}});gd=S("$ZodReadonly",(t,e)=>{ue.init(t,e),he(t._zod,"propValues",()=>e.innerType._zod.propValues),he(t._zod,"values",()=>e.innerType._zod.values),he(t._zod,"optin",()=>e.innerType._zod.optin),he(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(qy):qy(o)}});_d=S("$ZodCustom",(t,e)=>{Ue.init(t,e),ue.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=>By(s,r,n,t));By(o,r,n,t)}})});function Xy(){return{localeError:vT()}}var yT,vT,Qy=b(()=>{Qt();yT=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},vT=()=>{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 ${yT(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Qi(n.values[0])}`:`Invalid option: expected one of ${Yi(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":""}: ${Yi(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"}}}});var ua=b(()=>{});function ev(){return new ws}var ws,Ar,vd=b(()=>{ws=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)}};Ar=ev()});function xd(t,e){return new t({type:"string",...F(e)})}function bd(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...F(e)})}function la(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...F(e)})}function Sd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...F(e)})}function kd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...F(e)})}function wd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...F(e)})}function $d(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...F(e)})}function Ed(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...F(e)})}function Td(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...F(e)})}function Pd(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...F(e)})}function Rd(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...F(e)})}function Od(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...F(e)})}function Cd(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...F(e)})}function Id(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...F(e)})}function Ad(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...F(e)})}function Nd(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...F(e)})}function zd(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...F(e)})}function jd(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...F(e)})}function Md(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...F(e)})}function Dd(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...F(e)})}function Ld(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...F(e)})}function Fd(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...F(e)})}function Zd(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...F(e)})}function tv(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...F(e)})}function rv(t,e){return new t({type:"string",format:"date",check:"string_format",...F(e)})}function nv(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...F(e)})}function ov(t,e){return new t({type:"string",format:"duration",check:"string_format",...F(e)})}function Ud(t,e){return new t({type:"number",checks:[],...F(e)})}function Hd(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...F(e)})}function qd(t,e){return new t({type:"boolean",...F(e)})}function Bd(t,e){return new t({type:"null",...F(e)})}function Vd(t){return new t({type:"unknown"})}function Wd(t,e){return new t({type:"never",...F(e)})}function da(t,e){return new Tl({check:"less_than",...F(e),value:t,inclusive:!1})}function $s(t,e){return new Tl({check:"less_than",...F(e),value:t,inclusive:!0})}function pa(t,e){return new Pl({check:"greater_than",...F(e),value:t,inclusive:!1})}function Es(t,e){return new Pl({check:"greater_than",...F(e),value:t,inclusive:!0})}function ma(t,e){return new ky({check:"multiple_of",...F(e),value:t})}function fa(t,e){return new $y({check:"max_length",...F(e),maximum:t})}function fo(t,e){return new Ey({check:"min_length",...F(e),minimum:t})}function ha(t,e){return new Ty({check:"length_equals",...F(e),length:t})}function Gd(t,e){return new Py({check:"string_format",format:"regex",...F(e),pattern:t})}function Kd(t){return new Ry({check:"string_format",format:"lowercase",...F(t)})}function Jd(t){return new Oy({check:"string_format",format:"uppercase",...F(t)})}function Yd(t,e){return new Cy({check:"string_format",format:"includes",...F(e),includes:t})}function Xd(t,e){return new Iy({check:"string_format",format:"starts_with",...F(e),prefix:t})}function Qd(t,e){return new Ay({check:"string_format",format:"ends_with",...F(e),suffix:t})}function Pn(t){return new Ny({check:"overwrite",tx:t})}function ep(t){return Pn(e=>e.normalize(t))}function tp(){return Pn(t=>t.trim())}function rp(){return Pn(t=>t.toLowerCase())}function np(){return Pn(t=>t.toUpperCase())}function sv(t,e,r){return new t({type:"array",element:e,...F(r)})}function op(t,e,r){let n=F(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function sp(t,e,r){return new t({type:"custom",check:"custom",fn:e,...F(r)})}var iv=b(()=>{na();Qt()});var av=b(()=>{});function ip(t,e){if(t instanceof ws){let n=new ga(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 ga(e);return r.process(t),r.emit(t,e)}function je(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 je(o.element,r);case"object":{for(let s in o.shape)if(je(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(je(s,r))return!0;return!1}case"intersection":return je(o.left,r)||je(o.right,r);case"tuple":{for(let s of o.items)if(je(s,r))return!0;return!!(o.rest&&je(o.rest,r))}case"record":return je(o.keyType,r)||je(o.valueType,r);case"map":return je(o.keyType,r)||je(o.valueType,r);case"set":return je(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return je(o.innerType,r);case"lazy":return je(o.getter(),r);case"default":return je(o.innerType,r);case"prefault":return je(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return je(o.in,r)||je(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var ga,cv=b(()=>{vd();Qt();ga=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??Ar,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},m=e._zod.parent;if(m)a.ref=m,this.process(m,d),this.seen.get(m).isParent=!0;else{let h=a.schema;switch(o.type){case"string":{let p=h;p.type="string";let{minimum:f,maximum:g,format:_,patterns:y,contentEncoding:v}=e._zod.bag;if(typeof f=="number"&&(p.minLength=f),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),v&&(p.contentEncoding=v),y&&y.size>0){let k=[...y];k.length===1?p.pattern=k[0].source:k.length>1&&(a.schema.allOf=[...k.map(T=>({...this.target==="draft-7"?{type:"string"}:{},pattern:T.source}))])}break}case"number":{let p=h,{minimum:f,maximum:g,format:_,multipleOf:y,exclusiveMaximum:v,exclusiveMinimum:k}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof k=="number"&&(p.exclusiveMinimum=k),typeof f=="number"&&(p.minimum=f,typeof k=="number"&&(k>=f?delete p.minimum:delete p.exclusiveMinimum)),typeof v=="number"&&(p.exclusiveMaximum=v),typeof g=="number"&&(p.maximum=g,typeof v=="number"&&(v<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof y=="number"&&(p.multipleOf=y);break}case"boolean":{let p=h;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":{h.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":{h.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=h,{minimum:f,maximum:g}=e._zod.bag;typeof f=="number"&&(p.minItems=f),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=h;p.type="object",p.properties={};let f=o.shape;for(let y in f)p.properties[y]=this.process(f[y],{...d,path:[...d.path,"properties",y]});let g=new Set(Object.keys(f)),_=new Set([...g].filter(y=>{let v=o.shape[y]._zod;return this.io==="input"?v.optin===void 0:v.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=h;p.anyOf=o.options.map((f,g)=>this.process(f,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=h,f=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=v=>"allOf"in v&&Object.keys(v).length===1,y=[..._(f)?f.allOf:[f],..._(g)?g.allOf:[g]];p.allOf=y;break}case"tuple":{let p=h;p.type="array";let f=o.items.map((y,v)=>this.process(y,{...d,path:[...d.path,"prefixItems",v]}));if(this.target==="draft-2020-12"?p.prefixItems=f:p.items=f,o.rest){let y=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=y:p.additionalItems=y}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=h;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=h,f=gs(o.entries);f.every(g=>typeof g=="number")&&(p.type="number"),f.every(g=>typeof g=="string")&&(p.type="string"),p.enum=f;break}case"literal":{let p=h,f=[];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");f.push(Number(g))}else f.push(g);if(f.length!==0)if(f.length===1){let g=f[0];p.type=g===null?"null":typeof g,p.const=g}else f.every(g=>typeof g=="number")&&(p.type="number"),f.every(g=>typeof g=="string")&&(p.type="string"),f.every(g=>typeof g=="boolean")&&(p.type="string"),f.every(g=>g===null)&&(p.type="null"),p.enum=f;break}case"file":{let p=h,f={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:y}=e._zod.bag;g!==void 0&&(f.minLength=g),_!==void 0&&(f.maxLength=_),y?y.length===1?(f.contentMediaType=y[0],Object.assign(p,f)):p.anyOf=y.map(v=>({...f,contentMediaType:v})):Object.assign(p,f);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);h.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=h;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(h._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")}h.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=h,f=e._zod.pattern;if(!f)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=f.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,h.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"&&je(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 f=n.external.registry.get(l[0])?.id,g=n.external.uri??(y=>y);if(f)return{ref:g(f)};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 h=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:h+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:m,defId:h}=s(l);d.def={...d.schema},h&&(d.defId=h);let p=d.schema;for(let f in p)delete p[f];p.$ref=m};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("/")}/ + })));`),m.write(`newResult[${wn(y)}] = ${v}.value`)}m.write("payload.value = newResult;"),m.write("return payload;");let _=m.compile();return(y,v)=>_(d,y,v)},o,s=po,i=!Ji.jitless,c=i&&ul.value,u=e.catchall,l;t._zod.parse=(d,m)=>{l??(l=r.value);let h=d.value;if(!s(h))return d.issues.push({expected:"object",code:"invalid_type",input:h,inst:t}),d;let p=[];if(i&&c&&m?.async===!1&&m.jitless!==!0)o||(o=n(e.shape)),d=o(d,m);else{d.value={};let v=l.shape;for(let k of l.keys){let T=v[k],J=T._zod.run({value:h[k],issues:[]},m),B=T._zod.optin==="optional"&&T._zod.optout==="optional";J instanceof Promise?p.push(J.then(N=>B?Dy(N,d,k,h):sa(N,d,k))):B?Dy(J,d,k,h):sa(J,d,k)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let f=[],g=l.keySet,_=u._zod,y=_.def.type;for(let v of Object.keys(h)){if(g.has(v))continue;if(y==="never"){f.push(v);continue}let k=_.run({value:h[v],issues:[]},m);k instanceof Promise?p.push(k.then(T=>sa(T,d,v))):sa(k,d,v)}return f.length&&d.issues.push({code:"unrecognized_keys",keys:f,input:h,inst:t}),p.length?Promise.all(p).then(()=>d):d}});ca=S("$ZodUnion",(t,e)=>{ue.init(t,e),he(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),he(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),he(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),he(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=>vs(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=>Ly(i,r,t,n)):Ly(s,r,t,n)}}),rd=S("$ZodDiscriminatedUnion",(t,e)=>{ca.init(t,e);let r=t._zod.parse;he(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=_s(()=>{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(!po(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)}}),nd=S("$ZodIntersection",(t,e)=>{ue.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])=>Fy(r,c,u)):Fy(r,s,i)}});od=S("$ZodRecord",(t,e)=>{ue.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!mo(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(...Xt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Xt(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=>jt(u,n,ht())),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(...Xt(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Xt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}}),sd=S("$ZodEnum",(t,e)=>{ue.init(t,e);let r=gs(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>ll.has(typeof n)).map(n=>typeof n=="string"?Ir(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),id=S("$ZodLiteral",(t,e)=>{ue.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?Ir(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}}),ad=S("$ZodTransform",(t,e)=>{ue.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 hr;return r.value=o,r}}),cd=S("$ZodOptional",(t,e)=>{ue.init(t,e),t._zod.optin="optional",t._zod.optout="optional",he(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),he(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${vs(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)}),ud=S("$ZodNullable",(t,e)=>{ue.init(t,e),he(t._zod,"optin",()=>e.innerType._zod.optin),he(t._zod,"optout",()=>e.innerType._zod.optout),he(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${vs(r.source)}|null)$`):void 0}),he(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)}),ld=S("$ZodDefault",(t,e)=>{ue.init(t,e),t._zod.optin="optional",he(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=>Zy(s,e)):Zy(o,e)}});dd=S("$ZodPrefault",(t,e)=>{ue.init(t,e),t._zod.optin="optional",he(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))}),pd=S("$ZodNonOptional",(t,e)=>{ue.init(t,e),he(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=>Uy(s,t)):Uy(o,t)}});md=S("$ZodCatch",(t,e)=>{ue.init(t,e),t._zod.optin="optional",he(t._zod,"optout",()=>e.innerType._zod.optout),he(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=>jt(i,n,ht()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>jt(s,n,ht()))},input:r.value}),r.issues=[]),r)}}),fd=S("$ZodPipe",(t,e)=>{ue.init(t,e),he(t._zod,"values",()=>e.in._zod.values),he(t._zod,"optin",()=>e.in._zod.optin),he(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=>Hy(s,e,n)):Hy(o,e,n)}});hd=S("$ZodReadonly",(t,e)=>{ue.init(t,e),he(t._zod,"propValues",()=>e.innerType._zod.propValues),he(t._zod,"values",()=>e.innerType._zod.values),he(t._zod,"optin",()=>e.innerType._zod.optin),he(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(qy):qy(o)}});gd=S("$ZodCustom",(t,e)=>{Ue.init(t,e),ue.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=>By(s,r,n,t));By(o,r,n,t)}})});function Xy(){return{localeError:xT()}}var vT,xT,Qy=b(()=>{Qt();vT=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},xT=()=>{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 ${vT(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Qi(n.values[0])}`:`Invalid option: expected one of ${Yi(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":""}: ${Yi(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"}}}});var ua=b(()=>{});function ev(){return new ws}var ws,Ar,yd=b(()=>{ws=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)}};Ar=ev()});function vd(t,e){return new t({type:"string",...F(e)})}function xd(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...F(e)})}function la(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...F(e)})}function bd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...F(e)})}function Sd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...F(e)})}function kd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...F(e)})}function wd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...F(e)})}function $d(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...F(e)})}function Ed(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...F(e)})}function Td(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...F(e)})}function Pd(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...F(e)})}function Rd(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...F(e)})}function Od(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...F(e)})}function Cd(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...F(e)})}function Id(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...F(e)})}function Ad(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...F(e)})}function Nd(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...F(e)})}function zd(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...F(e)})}function jd(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...F(e)})}function Md(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...F(e)})}function Dd(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...F(e)})}function Ld(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...F(e)})}function Fd(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...F(e)})}function tv(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...F(e)})}function rv(t,e){return new t({type:"string",format:"date",check:"string_format",...F(e)})}function nv(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...F(e)})}function ov(t,e){return new t({type:"string",format:"duration",check:"string_format",...F(e)})}function Zd(t,e){return new t({type:"number",checks:[],...F(e)})}function Ud(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...F(e)})}function Hd(t,e){return new t({type:"boolean",...F(e)})}function qd(t,e){return new t({type:"null",...F(e)})}function Bd(t){return new t({type:"unknown"})}function Vd(t,e){return new t({type:"never",...F(e)})}function da(t,e){return new El({check:"less_than",...F(e),value:t,inclusive:!1})}function $s(t,e){return new El({check:"less_than",...F(e),value:t,inclusive:!0})}function pa(t,e){return new Tl({check:"greater_than",...F(e),value:t,inclusive:!1})}function Es(t,e){return new Tl({check:"greater_than",...F(e),value:t,inclusive:!0})}function ma(t,e){return new ky({check:"multiple_of",...F(e),value:t})}function fa(t,e){return new $y({check:"max_length",...F(e),maximum:t})}function fo(t,e){return new Ey({check:"min_length",...F(e),minimum:t})}function ha(t,e){return new Ty({check:"length_equals",...F(e),length:t})}function Wd(t,e){return new Py({check:"string_format",format:"regex",...F(e),pattern:t})}function Gd(t){return new Ry({check:"string_format",format:"lowercase",...F(t)})}function Kd(t){return new Oy({check:"string_format",format:"uppercase",...F(t)})}function Jd(t,e){return new Cy({check:"string_format",format:"includes",...F(e),includes:t})}function Yd(t,e){return new Iy({check:"string_format",format:"starts_with",...F(e),prefix:t})}function Xd(t,e){return new Ay({check:"string_format",format:"ends_with",...F(e),suffix:t})}function Pn(t){return new Ny({check:"overwrite",tx:t})}function Qd(t){return Pn(e=>e.normalize(t))}function ep(){return Pn(t=>t.trim())}function tp(){return Pn(t=>t.toLowerCase())}function rp(){return Pn(t=>t.toUpperCase())}function sv(t,e,r){return new t({type:"array",element:e,...F(r)})}function np(t,e,r){let n=F(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function op(t,e,r){return new t({type:"custom",check:"custom",fn:e,...F(r)})}var iv=b(()=>{na();Qt()});var av=b(()=>{});function sp(t,e){if(t instanceof ws){let n=new ga(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 ga(e);return r.process(t),r.emit(t,e)}function je(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 je(o.element,r);case"object":{for(let s in o.shape)if(je(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(je(s,r))return!0;return!1}case"intersection":return je(o.left,r)||je(o.right,r);case"tuple":{for(let s of o.items)if(je(s,r))return!0;return!!(o.rest&&je(o.rest,r))}case"record":return je(o.keyType,r)||je(o.valueType,r);case"map":return je(o.keyType,r)||je(o.valueType,r);case"set":return je(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return je(o.innerType,r);case"lazy":return je(o.getter(),r);case"default":return je(o.innerType,r);case"prefault":return je(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return je(o.in,r)||je(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var ga,cv=b(()=>{yd();Qt();ga=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??Ar,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},m=e._zod.parent;if(m)a.ref=m,this.process(m,d),this.seen.get(m).isParent=!0;else{let h=a.schema;switch(o.type){case"string":{let p=h;p.type="string";let{minimum:f,maximum:g,format:_,patterns:y,contentEncoding:v}=e._zod.bag;if(typeof f=="number"&&(p.minLength=f),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),v&&(p.contentEncoding=v),y&&y.size>0){let k=[...y];k.length===1?p.pattern=k[0].source:k.length>1&&(a.schema.allOf=[...k.map(T=>({...this.target==="draft-7"?{type:"string"}:{},pattern:T.source}))])}break}case"number":{let p=h,{minimum:f,maximum:g,format:_,multipleOf:y,exclusiveMaximum:v,exclusiveMinimum:k}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof k=="number"&&(p.exclusiveMinimum=k),typeof f=="number"&&(p.minimum=f,typeof k=="number"&&(k>=f?delete p.minimum:delete p.exclusiveMinimum)),typeof v=="number"&&(p.exclusiveMaximum=v),typeof g=="number"&&(p.maximum=g,typeof v=="number"&&(v<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof y=="number"&&(p.multipleOf=y);break}case"boolean":{let p=h;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":{h.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":{h.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=h,{minimum:f,maximum:g}=e._zod.bag;typeof f=="number"&&(p.minItems=f),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=h;p.type="object",p.properties={};let f=o.shape;for(let y in f)p.properties[y]=this.process(f[y],{...d,path:[...d.path,"properties",y]});let g=new Set(Object.keys(f)),_=new Set([...g].filter(y=>{let v=o.shape[y]._zod;return this.io==="input"?v.optin===void 0:v.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=h;p.anyOf=o.options.map((f,g)=>this.process(f,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=h,f=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=v=>"allOf"in v&&Object.keys(v).length===1,y=[..._(f)?f.allOf:[f],..._(g)?g.allOf:[g]];p.allOf=y;break}case"tuple":{let p=h;p.type="array";let f=o.items.map((y,v)=>this.process(y,{...d,path:[...d.path,"prefixItems",v]}));if(this.target==="draft-2020-12"?p.prefixItems=f:p.items=f,o.rest){let y=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=y:p.additionalItems=y}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=h;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=h,f=gs(o.entries);f.every(g=>typeof g=="number")&&(p.type="number"),f.every(g=>typeof g=="string")&&(p.type="string"),p.enum=f;break}case"literal":{let p=h,f=[];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");f.push(Number(g))}else f.push(g);if(f.length!==0)if(f.length===1){let g=f[0];p.type=g===null?"null":typeof g,p.const=g}else f.every(g=>typeof g=="number")&&(p.type="number"),f.every(g=>typeof g=="string")&&(p.type="string"),f.every(g=>typeof g=="boolean")&&(p.type="string"),f.every(g=>g===null)&&(p.type="null"),p.enum=f;break}case"file":{let p=h,f={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:y}=e._zod.bag;g!==void 0&&(f.minLength=g),_!==void 0&&(f.maxLength=_),y?y.length===1?(f.contentMediaType=y[0],Object.assign(p,f)):p.anyOf=y.map(v=>({...f,contentMediaType:v})):Object.assign(p,f);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);h.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=h;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(h._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")}h.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=h,f=e._zod.pattern;if(!f)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=f.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,h.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"&&je(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 f=n.external.registry.get(l[0])?.id,g=n.external.uri??(y=>y);if(f)return{ref:g(f)};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 h=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:h+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:m,defId:h}=s(l);d.def={...d.schema},h&&(d.defId=h);let p=d.schema;for(let f in p)delete p[f];p.$ref=m};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let h=n.external.registry.get(l[0])?.id;if(e!==l[0]&&h){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 m=this.seen.get(l),h=m.def??m.schema,p={...h};if(m.ref===null)return;let f=m.ref;if(m.ref=null,f){a(f,d);let g=this.seen.get(f).schema;g.$ref&&d.target==="draft-7"?(h.allOf=h.allOf??[],h.allOf.push(g)):(Object.assign(h,g),Object.assign(h,p))}m.isParent||this.override({zodSchema:l,jsonSchema:h,path:m.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.")}}}});var uv=b(()=>{});var Qe=b(()=>{lo();wl();_l();Yy();na();Ol();Qt();ra();ua();vd();Rl();av();iv();cv();uv()});var ap=b(()=>{Qe()});function cp(t,e){let r={type:"object",get shape(){return ee.assignProp(this,"shape",{...t}),this.shape},...ee.normalizeParams(e)};return new tP(r)}var eP,tP,lv=b(()=>{Qe();Qe();ap();eP=S("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ue.init(t,e),t.def=e,t.parse=(r,n)=>vl(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>En(t,r,n),t.parseAsync=async(r,n)=>bl(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Tn(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)=>gt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))}),tP=S("ZodMiniObject",(t,e)=>{aa.init(t,e),eP.init(t,e),ee.defineLazy(t,"shape",()=>e.shape)})});var dv=b(()=>{});var pv=b(()=>{});var mv=b(()=>{});var fv=b(()=>{Qe();ap();lv();dv();Qe();ua();pv();mv()});var hv=b(()=>{fv()});var up=b(()=>{hv()});function kt(t){return!!t._zod}function On(t){let e=Object.values(t);if(e.length===0)return cp({});let r=e.every(kt),n=e.every(o=>!kt(o));if(r)return cp(t);if(n)return ol(t);throw new Error("Mixed Zod versions detected in object shape.")}function Nr(t,e){return kt(t)?En(t,e):t.safeParse(e)}async function _a(t,e){return kt(t)?await Tn(t,e):await t.safeParseAsync(e)}function zr(t){if(!t)return;let e;if(kt(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function ho(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 On(t)}}if(kt(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 ya(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 _v(t){return t.description}function yv(t){if(kt(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function va(t){if(kt(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 Ts=b(()=>{fs();up()});var lp=b(()=>{Qe()});var Ps={};Le(Ps,{ZodISODate:()=>xv,ZodISODateTime:()=>vv,ZodISODuration:()=>Sv,ZodISOTime:()=>bv,date:()=>pp,datetime:()=>dp,duration:()=>fp,time:()=>mp});function dp(t){return tv(vv,t)}function pp(t){return rv(xv,t)}function mp(t){return nv(bv,t)}function fp(t){return ov(Sv,t)}var vv,xv,bv,Sv,hp=b(()=>{Qe();gp();vv=S("ZodISODateTime",(t,e)=>{Vy.init(t,e),we.init(t,e)});xv=S("ZodISODate",(t,e)=>{Wy.init(t,e),we.init(t,e)});bv=S("ZodISOTime",(t,e)=>{Gy.init(t,e),we.init(t,e)});Sv=S("ZodISODuration",(t,e)=>{Ky.init(t,e),we.init(t,e)})});var kv,X2,Rs,_p=b(()=>{Qe();Qe();kv=(t,e)=>{ea.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>gl(t,r)},flatten:{value:r=>hl(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},X2=S("ZodError",kv),Rs=S("ZodError",kv,{Parent:Error})});var wv,$v,Ev,Tv,yp=b(()=>{Qe();_p();wv=yl(Rs),$v=xl(Rs),Ev=Sl(Rs),Tv=kl(Rs)});function x(t){return xd(dP,t)}function ae(t){return Ud(Iv,t)}function Rv(t){return Hd(RP,t)}function De(t){return qd(OP,t)}function Av(t){return Bd(CP,t)}function $e(){return Vd(IP)}function NP(t){return Wd(AP,t)}function te(t,e){return sv(zP,t,e)}function C(t,e){let r={type:"object",get shape(){return ee.assignProp(this,"shape",{...t}),this.shape},...ee.normalizeParams(e)};return new Nv(r)}function et(t,e){return new Nv({type:"object",get shape(){return ee.assignProp(this,"shape",{...t}),this.shape},catchall:$e(),...ee.normalizeParams(e)})}function ye(t,e){return new zv({type:"union",options:t,...ee.normalizeParams(e)})}function bp(t,e,r){return new jP({type:"union",options:e,discriminator:t,...ee.normalizeParams(r)})}function ba(t,e){return new MP({type:"intersection",left:t,right:e})}function _e(t,e,r){return new DP({type:"record",keyType:t,valueType:e,...ee.normalizeParams(r)})}function ct(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new vp({type:"enum",entries:r,...ee.normalizeParams(e)})}function j(t,e){return new LP({type:"literal",values:Array.isArray(t)?t:[t],...ee.normalizeParams(e)})}function jv(t){return new FP({type:"transform",transform:t})}function Ee(t){return new Mv({type:"optional",innerType:t})}function Ov(t){return new ZP({type:"nullable",innerType:t})}function HP(t,e){return new UP({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}function BP(t,e){return new qP({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}function VP(t,e){return new Dv({type:"nonoptional",innerType:t,...ee.normalizeParams(e)})}function GP(t,e){return new WP({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}function xp(t,e){return new KP({type:"pipe",in:t,out:e})}function YP(t){return new JP({type:"readonly",innerType:t})}function XP(t){let e=new Ue({check:"custom"});return e._zod.check=t,e}function Fv(t,e){return op(Lv,t??(()=>!0),e)}function QP(t,e={}){return sp(Lv,t,e)}function eR(t){let e=XP(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(ee.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(ee.issue(o))}},t(r.value,r)));return e}function Sp(t,e){return xp(jv(t),e)}var Pe,Cv,dP,we,pP,Pv,xa,mP,fP,hP,gP,_P,yP,vP,xP,bP,SP,kP,wP,$P,EP,TP,PP,Iv,RP,OP,CP,IP,AP,zP,Nv,zv,jP,MP,DP,vp,LP,FP,Mv,ZP,UP,qP,Dv,WP,KP,JP,Lv,gp=b(()=>{Qe();Qe();lp();hp();yp();Pe=S("ZodType",(t,e)=>(ue.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)=>gt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>wv(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Ev(t,r,n),t.parseAsync=async(r,n)=>$v(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Tv(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(QP(r,n)),t.superRefine=r=>t.check(eR(r)),t.overwrite=r=>t.check(Pn(r)),t.optional=()=>Ee(t),t.nullable=()=>Ov(t),t.nullish=()=>Ee(Ov(t)),t.nonoptional=r=>VP(t,r),t.array=()=>te(t),t.or=r=>ye([t,r]),t.and=r=>ba(t,r),t.transform=r=>xp(t,jv(r)),t.default=r=>HP(t,r),t.prefault=r=>BP(t,r),t.catch=r=>GP(t,r),t.pipe=r=>xp(t,r),t.readonly=()=>YP(t),t.describe=r=>{let n=t.clone();return Ar.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return Ar.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return Ar.get(t);let n=t.clone();return Ar.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Cv=S("_ZodString",(t,e)=>{ks.init(t,e),Pe.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(Gd(...n)),t.includes=(...n)=>t.check(Yd(...n)),t.startsWith=(...n)=>t.check(Xd(...n)),t.endsWith=(...n)=>t.check(Qd(...n)),t.min=(...n)=>t.check(fo(...n)),t.max=(...n)=>t.check(fa(...n)),t.length=(...n)=>t.check(ha(...n)),t.nonempty=(...n)=>t.check(fo(1,...n)),t.lowercase=n=>t.check(Kd(n)),t.uppercase=n=>t.check(Jd(n)),t.trim=()=>t.check(tp()),t.normalize=(...n)=>t.check(ep(...n)),t.toLowerCase=()=>t.check(rp()),t.toUpperCase=()=>t.check(np())}),dP=S("ZodString",(t,e)=>{ks.init(t,e),Cv.init(t,e),t.email=r=>t.check(bd(pP,r)),t.url=r=>t.check(Ed(mP,r)),t.jwt=r=>t.check(Zd(PP,r)),t.emoji=r=>t.check(Td(fP,r)),t.guid=r=>t.check(la(Pv,r)),t.uuid=r=>t.check(Sd(xa,r)),t.uuidv4=r=>t.check(kd(xa,r)),t.uuidv6=r=>t.check(wd(xa,r)),t.uuidv7=r=>t.check($d(xa,r)),t.nanoid=r=>t.check(Pd(hP,r)),t.guid=r=>t.check(la(Pv,r)),t.cuid=r=>t.check(Rd(gP,r)),t.cuid2=r=>t.check(Od(_P,r)),t.ulid=r=>t.check(Cd(yP,r)),t.base64=r=>t.check(Dd($P,r)),t.base64url=r=>t.check(Ld(EP,r)),t.xid=r=>t.check(Id(vP,r)),t.ksuid=r=>t.check(Ad(xP,r)),t.ipv4=r=>t.check(Nd(bP,r)),t.ipv6=r=>t.check(zd(SP,r)),t.cidrv4=r=>t.check(jd(kP,r)),t.cidrv6=r=>t.check(Md(wP,r)),t.e164=r=>t.check(Fd(TP,r)),t.datetime=r=>t.check(dp(r)),t.date=r=>t.check(pp(r)),t.time=r=>t.check(mp(r)),t.duration=r=>t.check(fp(r))});we=S("ZodStringFormat",(t,e)=>{ge.init(t,e),Cv.init(t,e)}),pP=S("ZodEmail",(t,e)=>{Nl.init(t,e),we.init(t,e)}),Pv=S("ZodGUID",(t,e)=>{Il.init(t,e),we.init(t,e)}),xa=S("ZodUUID",(t,e)=>{Al.init(t,e),we.init(t,e)}),mP=S("ZodURL",(t,e)=>{zl.init(t,e),we.init(t,e)}),fP=S("ZodEmoji",(t,e)=>{jl.init(t,e),we.init(t,e)}),hP=S("ZodNanoID",(t,e)=>{Ml.init(t,e),we.init(t,e)}),gP=S("ZodCUID",(t,e)=>{Dl.init(t,e),we.init(t,e)}),_P=S("ZodCUID2",(t,e)=>{Ll.init(t,e),we.init(t,e)}),yP=S("ZodULID",(t,e)=>{Fl.init(t,e),we.init(t,e)}),vP=S("ZodXID",(t,e)=>{Zl.init(t,e),we.init(t,e)}),xP=S("ZodKSUID",(t,e)=>{Ul.init(t,e),we.init(t,e)}),bP=S("ZodIPv4",(t,e)=>{Hl.init(t,e),we.init(t,e)}),SP=S("ZodIPv6",(t,e)=>{ql.init(t,e),we.init(t,e)}),kP=S("ZodCIDRv4",(t,e)=>{Bl.init(t,e),we.init(t,e)}),wP=S("ZodCIDRv6",(t,e)=>{Vl.init(t,e),we.init(t,e)}),$P=S("ZodBase64",(t,e)=>{Wl.init(t,e),we.init(t,e)}),EP=S("ZodBase64URL",(t,e)=>{Gl.init(t,e),we.init(t,e)}),TP=S("ZodE164",(t,e)=>{Kl.init(t,e),we.init(t,e)}),PP=S("ZodJWT",(t,e)=>{Jl.init(t,e),we.init(t,e)}),Iv=S("ZodNumber",(t,e)=>{ia.init(t,e),Pe.init(t,e),t.gt=(n,o)=>t.check(pa(n,o)),t.gte=(n,o)=>t.check(Es(n,o)),t.min=(n,o)=>t.check(Es(n,o)),t.lt=(n,o)=>t.check(da(n,o)),t.lte=(n,o)=>t.check($s(n,o)),t.max=(n,o)=>t.check($s(n,o)),t.int=n=>t.check(Rv(n)),t.safe=n=>t.check(Rv(n)),t.positive=n=>t.check(pa(0,n)),t.nonnegative=n=>t.check(Es(0,n)),t.negative=n=>t.check(da(0,n)),t.nonpositive=n=>t.check($s(0,n)),t.multipleOf=(n,o)=>t.check(ma(n,o)),t.step=(n,o)=>t.check(ma(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});RP=S("ZodNumberFormat",(t,e)=>{Yl.init(t,e),Iv.init(t,e)});OP=S("ZodBoolean",(t,e)=>{Xl.init(t,e),Pe.init(t,e)});CP=S("ZodNull",(t,e)=>{Ql.init(t,e),Pe.init(t,e)});IP=S("ZodUnknown",(t,e)=>{ed.init(t,e),Pe.init(t,e)});AP=S("ZodNever",(t,e)=>{td.init(t,e),Pe.init(t,e)});zP=S("ZodArray",(t,e)=>{rd.init(t,e),Pe.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(fo(r,n)),t.nonempty=r=>t.check(fo(1,r)),t.max=(r,n)=>t.check(fa(r,n)),t.length=(r,n)=>t.check(ha(r,n)),t.unwrap=()=>t.element});Nv=S("ZodObject",(t,e)=>{aa.init(t,e),Pe.init(t,e),ee.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>ct(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:$e()}),t.loose=()=>t.clone({...t._zod.def,catchall:$e()}),t.strict=()=>t.clone({...t._zod.def,catchall:NP()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ee.extend(t,r),t.merge=r=>ee.merge(t,r),t.pick=r=>ee.pick(t,r),t.omit=r=>ee.omit(t,r),t.partial=(...r)=>ee.partial(Mv,t,r[0]),t.required=(...r)=>ee.required(Dv,t,r[0])});zv=S("ZodUnion",(t,e)=>{ca.init(t,e),Pe.init(t,e),t.options=e.options});jP=S("ZodDiscriminatedUnion",(t,e)=>{zv.init(t,e),nd.init(t,e)});MP=S("ZodIntersection",(t,e)=>{od.init(t,e),Pe.init(t,e)});DP=S("ZodRecord",(t,e)=>{sd.init(t,e),Pe.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});vp=S("ZodEnum",(t,e)=>{id.init(t,e),Pe.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 vp({...e,checks:[],...ee.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 vp({...e,checks:[],...ee.normalizeParams(o),entries:s})}});LP=S("ZodLiteral",(t,e)=>{ad.init(t,e),Pe.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]}})});FP=S("ZodTransform",(t,e)=>{cd.init(t,e),Pe.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(ee.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(ee.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});Mv=S("ZodOptional",(t,e)=>{ud.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});ZP=S("ZodNullable",(t,e)=>{ld.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});UP=S("ZodDefault",(t,e)=>{dd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});qP=S("ZodPrefault",(t,e)=>{pd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});Dv=S("ZodNonOptional",(t,e)=>{md.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});WP=S("ZodCatch",(t,e)=>{fd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});KP=S("ZodPipe",(t,e)=>{hd.init(t,e),Pe.init(t,e),t.in=e.in,t.out=e.out});JP=S("ZodReadonly",(t,e)=>{gd.init(t,e),Pe.init(t,e)});Lv=S("ZodCustom",(t,e)=>{_d.init(t,e),Pe.init(t,e)})});var Zv=b(()=>{});var Uv=b(()=>{});var Hv=b(()=>{Qe();gp();lp();_p();yp();Zv();Qe();Qy();ua();hp();Uv();ht(Xy())});var qv=b(()=>{Hv()});var Bv=b(()=>{qv()});function cx(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function ux(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var wp,Vv,jr,ka,Me,Wv,Gv,fF,nR,oR,$p,_t,Os,Kv,He,wt,$t,qe,wa,Jv,Ep,Yv,Xv,Tp,Cs,D,Pp,Qv,ex,hF,$a,sR,Ea,iR,Is,go,tx,aR,cR,uR,lR,dR,pR,Rp,mR,fR,Op,Ta,hR,gR,Pa,_R,As,Ns,yR,zs,_o,vR,js,Ra,Oa,Ca,gF,Ia,Aa,Na,rx,nx,ox,Cp,sx,Ms,yo,ix,xR,vo,bR,xo,SR,Ip,kR,za,wR,$R,ER,TR,PR,RR,OR,CR,IR,AR,bo,NR,zR,ja,Ap,Np,zp,jR,MR,DR,jp,LR,FR,ZR,UR,HR,ax,Ma,qR,Da,_F,BR,So,VR,yF,Ds,WR,Mp,GR,KR,JR,YR,XR,QR,eO,Sa,tO,rO,nO,Ls,Dp,oO,sO,iO,aO,cO,uO,lO,dO,pO,mO,fO,hO,gO,_O,yO,vO,xO,bO,ko,SO,kO,wO,La,$O,EO,TO,Lp,PO,vF,xF,bF,SF,kF,wF,z,kp,Cn=b(()=>{Bv();wp="2025-11-25",Vv=[wp,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],jr="io.modelcontextprotocol/related-task",ka="2.0",Me=Fv(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Wv=ye([x(),ae().int()]),Gv=x(),fF=et({ttl:ae().optional(),pollInterval:ae().optional()}),nR=C({ttl:ae().optional()}),oR=C({taskId:x()}),$p=et({progressToken:Wv.optional(),[jr]:oR.optional()}),_t=C({_meta:$p.optional()}),Os=_t.extend({task:nR.optional()}),Kv=t=>Os.safeParse(t).success,He=C({method:x(),params:_t.loose().optional()}),wt=C({_meta:$p.optional()}),$t=C({method:x(),params:wt.loose().optional()}),qe=et({_meta:$p.optional()}),wa=ye([x(),ae().int()]),Jv=C({jsonrpc:j(ka),id:wa,...He.shape}).strict(),Ep=t=>Jv.safeParse(t).success,Yv=C({jsonrpc:j(ka),...$t.shape}).strict(),Xv=t=>Yv.safeParse(t).success,Tp=C({jsonrpc:j(ka),id:wa,result:qe}).strict(),Cs=t=>Tp.safeParse(t).success;(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"})(D||(D={}));Pp=C({jsonrpc:j(ka),id:wa.optional(),error:C({code:ae().int(),message:x(),data:$e().optional()})}).strict(),Qv=t=>Pp.safeParse(t).success,ex=ye([Jv,Yv,Tp,Pp]),hF=ye([Tp,Pp]),$a=qe.strict(),sR=wt.extend({requestId:wa.optional(),reason:x().optional()}),Ea=$t.extend({method:j("notifications/cancelled"),params:sR}),iR=C({src:x(),mimeType:x().optional(),sizes:te(x()).optional(),theme:ct(["light","dark"]).optional()}),Is=C({icons:te(iR).optional()}),go=C({name:x(),title:x().optional()}),tx=go.extend({...go.shape,...Is.shape,version:x(),websiteUrl:x().optional(),description:x().optional()}),aR=ba(C({applyDefaults:De().optional()}),_e(x(),$e())),cR=Sp(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,ba(C({form:aR.optional(),url:Me.optional()}),_e(x(),$e()).optional())),uR=et({list:Me.optional(),cancel:Me.optional(),requests:et({sampling:et({createMessage:Me.optional()}).optional(),elicitation:et({create:Me.optional()}).optional()}).optional()}),lR=et({list:Me.optional(),cancel:Me.optional(),requests:et({tools:et({call:Me.optional()}).optional()}).optional()}),dR=C({experimental:_e(x(),Me).optional(),sampling:C({context:Me.optional(),tools:Me.optional()}).optional(),elicitation:cR.optional(),roots:C({listChanged:De().optional()}).optional(),tasks:uR.optional(),extensions:_e(x(),Me).optional()}),pR=_t.extend({protocolVersion:x(),capabilities:dR,clientInfo:tx}),Rp=He.extend({method:j("initialize"),params:pR}),mR=C({experimental:_e(x(),Me).optional(),logging:Me.optional(),completions:Me.optional(),prompts:C({listChanged:De().optional()}).optional(),resources:C({subscribe:De().optional(),listChanged:De().optional()}).optional(),tools:C({listChanged:De().optional()}).optional(),tasks:lR.optional(),extensions:_e(x(),Me).optional()}),fR=qe.extend({protocolVersion:x(),capabilities:mR,serverInfo:tx,instructions:x().optional()}),Op=$t.extend({method:j("notifications/initialized"),params:wt.optional()}),Ta=He.extend({method:j("ping"),params:_t.optional()}),hR=C({progress:ae(),total:Ee(ae()),message:Ee(x())}),gR=C({...wt.shape,...hR.shape,progressToken:Wv}),Pa=$t.extend({method:j("notifications/progress"),params:gR}),_R=_t.extend({cursor:Gv.optional()}),As=He.extend({params:_R.optional()}),Ns=qe.extend({nextCursor:Gv.optional()}),yR=ct(["working","input_required","completed","failed","cancelled"]),zs=C({taskId:x(),status:yR,ttl:ye([ae(),Av()]),createdAt:x(),lastUpdatedAt:x(),pollInterval:Ee(ae()),statusMessage:Ee(x())}),_o=qe.extend({task:zs}),vR=wt.merge(zs),js=$t.extend({method:j("notifications/tasks/status"),params:vR}),Ra=He.extend({method:j("tasks/get"),params:_t.extend({taskId:x()})}),Oa=qe.merge(zs),Ca=He.extend({method:j("tasks/result"),params:_t.extend({taskId:x()})}),gF=qe.loose(),Ia=As.extend({method:j("tasks/list")}),Aa=Ns.extend({tasks:te(zs)}),Na=He.extend({method:j("tasks/cancel"),params:_t.extend({taskId:x()})}),rx=qe.merge(zs),nx=C({uri:x(),mimeType:Ee(x()),_meta:_e(x(),$e()).optional()}),ox=nx.extend({text:x()}),Cp=x().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),sx=nx.extend({blob:Cp}),Ms=ct(["user","assistant"]),yo=C({audience:te(Ms).optional(),priority:ae().min(0).max(1).optional(),lastModified:Ps.datetime({offset:!0}).optional()}),ix=C({...go.shape,...Is.shape,uri:x(),description:Ee(x()),mimeType:Ee(x()),size:Ee(ae()),annotations:yo.optional(),_meta:Ee(et({}))}),xR=C({...go.shape,...Is.shape,uriTemplate:x(),description:Ee(x()),mimeType:Ee(x()),annotations:yo.optional(),_meta:Ee(et({}))}),vo=As.extend({method:j("resources/list")}),bR=Ns.extend({resources:te(ix)}),xo=As.extend({method:j("resources/templates/list")}),SR=Ns.extend({resourceTemplates:te(xR)}),Ip=_t.extend({uri:x()}),kR=Ip,za=He.extend({method:j("resources/read"),params:kR}),wR=qe.extend({contents:te(ye([ox,sx]))}),$R=$t.extend({method:j("notifications/resources/list_changed"),params:wt.optional()}),ER=Ip,TR=He.extend({method:j("resources/subscribe"),params:ER}),PR=Ip,RR=He.extend({method:j("resources/unsubscribe"),params:PR}),OR=wt.extend({uri:x()}),CR=$t.extend({method:j("notifications/resources/updated"),params:OR}),IR=C({name:x(),description:Ee(x()),required:Ee(De())}),AR=C({...go.shape,...Is.shape,description:Ee(x()),arguments:Ee(te(IR)),_meta:Ee(et({}))}),bo=As.extend({method:j("prompts/list")}),NR=Ns.extend({prompts:te(AR)}),zR=_t.extend({name:x(),arguments:_e(x(),x()).optional()}),ja=He.extend({method:j("prompts/get"),params:zR}),Ap=C({type:j("text"),text:x(),annotations:yo.optional(),_meta:_e(x(),$e()).optional()}),Np=C({type:j("image"),data:Cp,mimeType:x(),annotations:yo.optional(),_meta:_e(x(),$e()).optional()}),zp=C({type:j("audio"),data:Cp,mimeType:x(),annotations:yo.optional(),_meta:_e(x(),$e()).optional()}),jR=C({type:j("tool_use"),name:x(),id:x(),input:_e(x(),$e()),_meta:_e(x(),$e()).optional()}),MR=C({type:j("resource"),resource:ye([ox,sx]),annotations:yo.optional(),_meta:_e(x(),$e()).optional()}),DR=ix.extend({type:j("resource_link")}),jp=ye([Ap,Np,zp,DR,MR]),LR=C({role:Ms,content:jp}),FR=qe.extend({description:x().optional(),messages:te(LR)}),ZR=$t.extend({method:j("notifications/prompts/list_changed"),params:wt.optional()}),UR=C({title:x().optional(),readOnlyHint:De().optional(),destructiveHint:De().optional(),idempotentHint:De().optional(),openWorldHint:De().optional()}),HR=C({taskSupport:ct(["required","optional","forbidden"]).optional()}),ax=C({...go.shape,...Is.shape,description:x().optional(),inputSchema:C({type:j("object"),properties:_e(x(),Me).optional(),required:te(x()).optional()}).catchall($e()),outputSchema:C({type:j("object"),properties:_e(x(),Me).optional(),required:te(x()).optional()}).catchall($e()).optional(),annotations:UR.optional(),execution:HR.optional(),_meta:_e(x(),$e()).optional()}),Ma=As.extend({method:j("tools/list")}),qR=Ns.extend({tools:te(ax)}),Da=qe.extend({content:te(jp).default([]),structuredContent:_e(x(),$e()).optional(),isError:De().optional()}),_F=Da.or(qe.extend({toolResult:$e()})),BR=Os.extend({name:x(),arguments:_e(x(),$e()).optional()}),So=He.extend({method:j("tools/call"),params:BR}),VR=$t.extend({method:j("notifications/tools/list_changed"),params:wt.optional()}),yF=C({autoRefresh:De().default(!0),debounceMs:ae().int().nonnegative().default(300)}),Ds=ct(["debug","info","notice","warning","error","critical","alert","emergency"]),WR=_t.extend({level:Ds}),Mp=He.extend({method:j("logging/setLevel"),params:WR}),GR=wt.extend({level:Ds,logger:x().optional(),data:$e()}),KR=$t.extend({method:j("notifications/message"),params:GR}),JR=C({name:x().optional()}),YR=C({hints:te(JR).optional(),costPriority:ae().min(0).max(1).optional(),speedPriority:ae().min(0).max(1).optional(),intelligencePriority:ae().min(0).max(1).optional()}),XR=C({mode:ct(["auto","required","none"]).optional()}),QR=C({type:j("tool_result"),toolUseId:x().describe("The unique identifier for the corresponding tool call."),content:te(jp).default([]),structuredContent:C({}).loose().optional(),isError:De().optional(),_meta:_e(x(),$e()).optional()}),eO=bp("type",[Ap,Np,zp]),Sa=bp("type",[Ap,Np,zp,jR,QR]),tO=C({role:Ms,content:ye([Sa,te(Sa)]),_meta:_e(x(),$e()).optional()}),rO=Os.extend({messages:te(tO),modelPreferences:YR.optional(),systemPrompt:x().optional(),includeContext:ct(["none","thisServer","allServers"]).optional(),temperature:ae().optional(),maxTokens:ae().int(),stopSequences:te(x()).optional(),metadata:Me.optional(),tools:te(ax).optional(),toolChoice:XR.optional()}),nO=He.extend({method:j("sampling/createMessage"),params:rO}),Ls=qe.extend({model:x(),stopReason:Ee(ct(["endTurn","stopSequence","maxTokens"]).or(x())),role:Ms,content:eO}),Dp=qe.extend({model:x(),stopReason:Ee(ct(["endTurn","stopSequence","maxTokens","toolUse"]).or(x())),role:Ms,content:ye([Sa,te(Sa)])}),oO=C({type:j("boolean"),title:x().optional(),description:x().optional(),default:De().optional()}),sO=C({type:j("string"),title:x().optional(),description:x().optional(),minLength:ae().optional(),maxLength:ae().optional(),format:ct(["email","uri","date","date-time"]).optional(),default:x().optional()}),iO=C({type:ct(["number","integer"]),title:x().optional(),description:x().optional(),minimum:ae().optional(),maximum:ae().optional(),default:ae().optional()}),aO=C({type:j("string"),title:x().optional(),description:x().optional(),enum:te(x()),default:x().optional()}),cO=C({type:j("string"),title:x().optional(),description:x().optional(),oneOf:te(C({const:x(),title:x()})),default:x().optional()}),uO=C({type:j("string"),title:x().optional(),description:x().optional(),enum:te(x()),enumNames:te(x()).optional(),default:x().optional()}),lO=ye([aO,cO]),dO=C({type:j("array"),title:x().optional(),description:x().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:C({type:j("string"),enum:te(x())}),default:te(x()).optional()}),pO=C({type:j("array"),title:x().optional(),description:x().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:C({anyOf:te(C({const:x(),title:x()}))}),default:te(x()).optional()}),mO=ye([dO,pO]),fO=ye([uO,lO,mO]),hO=ye([fO,oO,sO,iO]),gO=Os.extend({mode:j("form").optional(),message:x(),requestedSchema:C({type:j("object"),properties:_e(x(),hO),required:te(x()).optional()})}),_O=Os.extend({mode:j("url"),message:x(),elicitationId:x(),url:x().url()}),yO=ye([gO,_O]),vO=He.extend({method:j("elicitation/create"),params:yO}),xO=wt.extend({elicitationId:x()}),bO=$t.extend({method:j("notifications/elicitation/complete"),params:xO}),ko=qe.extend({action:ct(["accept","decline","cancel"]),content:Sp(t=>t===null?void 0:t,_e(x(),ye([x(),ae(),De(),te(x())])).optional())}),SO=C({type:j("ref/resource"),uri:x()}),kO=C({type:j("ref/prompt"),name:x()}),wO=_t.extend({ref:ye([kO,SO]),argument:C({name:x(),value:x()}),context:C({arguments:_e(x(),x()).optional()}).optional()}),La=He.extend({method:j("completion/complete"),params:wO});$O=qe.extend({completion:et({values:te(x()).max(100),total:Ee(ae().int()),hasMore:Ee(De())})}),EO=C({uri:x().startsWith("file://"),name:x().optional(),_meta:_e(x(),$e()).optional()}),TO=He.extend({method:j("roots/list"),params:_t.optional()}),Lp=qe.extend({roots:te(EO)}),PO=$t.extend({method:j("notifications/roots/list_changed"),params:wt.optional()}),vF=ye([Ta,Rp,La,Mp,ja,bo,vo,xo,za,TR,RR,So,Ma,Ra,Ca,Ia,Na]),xF=ye([Ea,Pa,Op,PO,js]),bF=ye([$a,Ls,Dp,ko,Lp,Oa,Aa,_o]),SF=ye([Ta,nO,vO,TO,Ra,Ca,Ia,Na]),kF=ye([Ea,Pa,KR,CR,$R,VR,ZR,js,bO]),wF=ye([$a,fR,$O,FR,NR,bR,SR,wR,Da,qR,Oa,Aa,_o]),z=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===D.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new kp(o.elicitations,r)}return new t(e,r,n)}},kp=class extends z{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(D.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}}});function Mr(t){return t==="completed"||t==="failed"||t==="cancelled"}var lx=b(()=>{});var px,dx,mx,Fa=b(()=>{px=Symbol("Let zodToJsonSchema decide on which parser to use"),dx={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"},mx=t=>typeof t=="string"?{...dx,name:t}:{...dx,...t}});var fx,Fp=b(()=>{Fa();fx=t=>{let e=mx(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 Zp(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function re(t,e,r,n,o){t[e]=r,Zp(t,e,n,o)}var Dr=b(()=>{});var Za,Ua=b(()=>{Za=(t,e)=>{let r=0;for(;r{Ua()});function hx(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==$.ZodAny&&(r.items=Z(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&re(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&re(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(re(r,"minItems",t.exactLength.value,t.exactLength.message,e),re(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}var Up=b(()=>{fs();Dr();Ne()});function gx(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?re(r,"minimum",n.value,n.message,e):re(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),re(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?re(r,"maximum",n.value,n.message,e):re(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),re(r,"maximum",n.value,n.message,e));break;case"multipleOf":re(r,"multipleOf",n.value,n.message,e);break}return r}var Hp=b(()=>{Dr()});function _x(){return{type:"boolean"}}var qp=b(()=>{});function Ha(t,e){return Z(t.type._def,e)}var qa=b(()=>{Ne()});var yx,Bp=b(()=>{Ne();yx=(t,e)=>Z(t.innerType._def,e)});function Vp(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Vp(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 RO(t,e)}}var RO,Wp=b(()=>{Dr();RO=(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":re(r,"minimum",n.value,n.message,e);break;case"max":re(r,"maximum",n.value,n.message,e);break}return r}});function vx(t,e){return{...Z(t.innerType._def,e),default:t.defaultValue()}}var Gp=b(()=>{Ne()});function xx(t,e){return e.effectStrategy==="input"?Z(t.schema._def,e):Te(e)}var Kp=b(()=>{Ne();Et()});function bx(t){return{type:"string",enum:Array.from(t.values)}}var Jp=b(()=>{});function Sx(t,e){let r=[Z(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),Z(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(OO(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}var OO,Yp=b(()=>{Ne();OO=t=>"type"in t&&t.type==="string"?!1:"allOf"in t});function kx(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 Xp=b(()=>{});function Ba(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":re(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":re(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":Dt(r,"email",n.message,e);break;case"format:idn-email":Dt(r,"idn-email",n.message,e);break;case"pattern:zod":tt(r,Mt.email,n.message,e);break}break;case"url":Dt(r,"uri",n.message,e);break;case"uuid":Dt(r,"uuid",n.message,e);break;case"regex":tt(r,n.regex,n.message,e);break;case"cuid":tt(r,Mt.cuid,n.message,e);break;case"cuid2":tt(r,Mt.cuid2,n.message,e);break;case"startsWith":tt(r,RegExp(`^${em(n.value,e)}`),n.message,e);break;case"endsWith":tt(r,RegExp(`${em(n.value,e)}$`),n.message,e);break;case"datetime":Dt(r,"date-time",n.message,e);break;case"date":Dt(r,"date",n.message,e);break;case"time":Dt(r,"time",n.message,e);break;case"duration":Dt(r,"duration",n.message,e);break;case"length":re(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),re(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{tt(r,RegExp(em(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&Dt(r,"ipv4",n.message,e),n.version!=="v4"&&Dt(r,"ipv6",n.message,e);break}case"base64url":tt(r,Mt.base64url,n.message,e);break;case"jwt":tt(r,Mt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&tt(r,Mt.ipv4Cidr,n.message,e),n.version!=="v4"&&tt(r,Mt.ipv6Cidr,n.message,e);break}case"emoji":tt(r,Mt.emoji(),n.message,e);break;case"ulid":{tt(r,Mt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{Dt(r,"binary",n.message,e);break}case"contentEncoding:base64":{re(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{tt(r,Mt.base64,n.message,e);break}}break}case"nanoid":tt(r,Mt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function em(t,e){return e.patternStrategy==="escape"?IO(t):t}function IO(t){let e="";for(let r=0;ro.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):re(t,"format",e,r,n)}function tt(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:wx(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):re(t,"pattern",wx(e,n),r,n)}function wx(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let m=this.seen.get(l),h=m.def??m.schema,p={...h};if(m.ref===null)return;let f=m.ref;if(m.ref=null,f){a(f,d);let g=this.seen.get(f).schema;g.$ref&&d.target==="draft-7"?(h.allOf=h.allOf??[],h.allOf.push(g)):(Object.assign(h,g),Object.assign(h,p))}m.isParent||this.override({zodSchema:l,jsonSchema:h,path:m.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.")}}}});var uv=b(()=>{});var Qe=b(()=>{lo();kl();gl();Yy();na();Rl();Qt();ra();ua();yd();Pl();av();iv();cv();uv()});var ip=b(()=>{Qe()});function ap(t,e){let r={type:"object",get shape(){return ee.assignProp(this,"shape",{...t}),this.shape},...ee.normalizeParams(e)};return new rP(r)}var tP,rP,lv=b(()=>{Qe();Qe();ip();tP=S("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ue.init(t,e),t.def=e,t.parse=(r,n)=>yl(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>En(t,r,n),t.parseAsync=async(r,n)=>xl(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Tn(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)=>gt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))}),rP=S("ZodMiniObject",(t,e)=>{aa.init(t,e),tP.init(t,e),ee.defineLazy(t,"shape",()=>e.shape)})});var dv=b(()=>{});var pv=b(()=>{});var mv=b(()=>{});var fv=b(()=>{Qe();ip();lv();dv();Qe();ua();pv();mv()});var hv=b(()=>{fv()});var cp=b(()=>{hv()});function kt(t){return!!t._zod}function On(t){let e=Object.values(t);if(e.length===0)return ap({});let r=e.every(kt),n=e.every(o=>!kt(o));if(r)return ap(t);if(n)return nl(t);throw new Error("Mixed Zod versions detected in object shape.")}function Nr(t,e){return kt(t)?En(t,e):t.safeParse(e)}async function _a(t,e){return kt(t)?await Tn(t,e):await t.safeParseAsync(e)}function zr(t){if(!t)return;let e;if(kt(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function ho(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 On(t)}}if(kt(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 ya(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 _v(t){return t.description}function yv(t){if(kt(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function va(t){if(kt(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 Ts=b(()=>{fs();cp()});var up=b(()=>{Qe()});var Ps={};Le(Ps,{ZodISODate:()=>xv,ZodISODateTime:()=>vv,ZodISODuration:()=>Sv,ZodISOTime:()=>bv,date:()=>dp,datetime:()=>lp,duration:()=>mp,time:()=>pp});function lp(t){return tv(vv,t)}function dp(t){return rv(xv,t)}function pp(t){return nv(bv,t)}function mp(t){return ov(Sv,t)}var vv,xv,bv,Sv,fp=b(()=>{Qe();hp();vv=S("ZodISODateTime",(t,e)=>{Vy.init(t,e),we.init(t,e)});xv=S("ZodISODate",(t,e)=>{Wy.init(t,e),we.init(t,e)});bv=S("ZodISOTime",(t,e)=>{Gy.init(t,e),we.init(t,e)});Sv=S("ZodISODuration",(t,e)=>{Ky.init(t,e),we.init(t,e)})});var kv,Q2,Rs,gp=b(()=>{Qe();Qe();kv=(t,e)=>{ea.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>hl(t,r)},flatten:{value:r=>fl(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},Q2=S("ZodError",kv),Rs=S("ZodError",kv,{Parent:Error})});var wv,$v,Ev,Tv,_p=b(()=>{Qe();gp();wv=_l(Rs),$v=vl(Rs),Ev=bl(Rs),Tv=Sl(Rs)});function x(t){return vd(pP,t)}function ae(t){return Zd(Iv,t)}function Rv(t){return Ud(OP,t)}function De(t){return Hd(CP,t)}function Av(t){return qd(IP,t)}function $e(){return Bd(AP)}function zP(t){return Vd(NP,t)}function te(t,e){return sv(jP,t,e)}function C(t,e){let r={type:"object",get shape(){return ee.assignProp(this,"shape",{...t}),this.shape},...ee.normalizeParams(e)};return new Nv(r)}function et(t,e){return new Nv({type:"object",get shape(){return ee.assignProp(this,"shape",{...t}),this.shape},catchall:$e(),...ee.normalizeParams(e)})}function ye(t,e){return new zv({type:"union",options:t,...ee.normalizeParams(e)})}function xp(t,e,r){return new MP({type:"union",options:e,discriminator:t,...ee.normalizeParams(r)})}function ba(t,e){return new DP({type:"intersection",left:t,right:e})}function _e(t,e,r){return new LP({type:"record",keyType:t,valueType:e,...ee.normalizeParams(r)})}function ct(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new yp({type:"enum",entries:r,...ee.normalizeParams(e)})}function j(t,e){return new FP({type:"literal",values:Array.isArray(t)?t:[t],...ee.normalizeParams(e)})}function jv(t){return new ZP({type:"transform",transform:t})}function Ee(t){return new Mv({type:"optional",innerType:t})}function Ov(t){return new UP({type:"nullable",innerType:t})}function qP(t,e){return new HP({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}function VP(t,e){return new BP({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}function WP(t,e){return new Dv({type:"nonoptional",innerType:t,...ee.normalizeParams(e)})}function KP(t,e){return new GP({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}function vp(t,e){return new JP({type:"pipe",in:t,out:e})}function XP(t){return new YP({type:"readonly",innerType:t})}function QP(t){let e=new Ue({check:"custom"});return e._zod.check=t,e}function Fv(t,e){return np(Lv,t??(()=>!0),e)}function eR(t,e={}){return op(Lv,t,e)}function tR(t){let e=QP(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(ee.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(ee.issue(o))}},t(r.value,r)));return e}function bp(t,e){return vp(jv(t),e)}var Pe,Cv,pP,we,mP,Pv,xa,fP,hP,gP,_P,yP,vP,xP,bP,SP,kP,wP,$P,EP,TP,PP,RP,Iv,OP,CP,IP,AP,NP,jP,Nv,zv,MP,DP,LP,yp,FP,ZP,Mv,UP,HP,BP,Dv,GP,JP,YP,Lv,hp=b(()=>{Qe();Qe();up();fp();_p();Pe=S("ZodType",(t,e)=>(ue.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)=>gt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>wv(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Ev(t,r,n),t.parseAsync=async(r,n)=>$v(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Tv(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(eR(r,n)),t.superRefine=r=>t.check(tR(r)),t.overwrite=r=>t.check(Pn(r)),t.optional=()=>Ee(t),t.nullable=()=>Ov(t),t.nullish=()=>Ee(Ov(t)),t.nonoptional=r=>WP(t,r),t.array=()=>te(t),t.or=r=>ye([t,r]),t.and=r=>ba(t,r),t.transform=r=>vp(t,jv(r)),t.default=r=>qP(t,r),t.prefault=r=>VP(t,r),t.catch=r=>KP(t,r),t.pipe=r=>vp(t,r),t.readonly=()=>XP(t),t.describe=r=>{let n=t.clone();return Ar.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return Ar.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return Ar.get(t);let n=t.clone();return Ar.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Cv=S("_ZodString",(t,e)=>{ks.init(t,e),Pe.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(Wd(...n)),t.includes=(...n)=>t.check(Jd(...n)),t.startsWith=(...n)=>t.check(Yd(...n)),t.endsWith=(...n)=>t.check(Xd(...n)),t.min=(...n)=>t.check(fo(...n)),t.max=(...n)=>t.check(fa(...n)),t.length=(...n)=>t.check(ha(...n)),t.nonempty=(...n)=>t.check(fo(1,...n)),t.lowercase=n=>t.check(Gd(n)),t.uppercase=n=>t.check(Kd(n)),t.trim=()=>t.check(ep()),t.normalize=(...n)=>t.check(Qd(...n)),t.toLowerCase=()=>t.check(tp()),t.toUpperCase=()=>t.check(rp())}),pP=S("ZodString",(t,e)=>{ks.init(t,e),Cv.init(t,e),t.email=r=>t.check(xd(mP,r)),t.url=r=>t.check($d(fP,r)),t.jwt=r=>t.check(Fd(RP,r)),t.emoji=r=>t.check(Ed(hP,r)),t.guid=r=>t.check(la(Pv,r)),t.uuid=r=>t.check(bd(xa,r)),t.uuidv4=r=>t.check(Sd(xa,r)),t.uuidv6=r=>t.check(kd(xa,r)),t.uuidv7=r=>t.check(wd(xa,r)),t.nanoid=r=>t.check(Td(gP,r)),t.guid=r=>t.check(la(Pv,r)),t.cuid=r=>t.check(Pd(_P,r)),t.cuid2=r=>t.check(Rd(yP,r)),t.ulid=r=>t.check(Od(vP,r)),t.base64=r=>t.check(Md(EP,r)),t.base64url=r=>t.check(Dd(TP,r)),t.xid=r=>t.check(Cd(xP,r)),t.ksuid=r=>t.check(Id(bP,r)),t.ipv4=r=>t.check(Ad(SP,r)),t.ipv6=r=>t.check(Nd(kP,r)),t.cidrv4=r=>t.check(zd(wP,r)),t.cidrv6=r=>t.check(jd($P,r)),t.e164=r=>t.check(Ld(PP,r)),t.datetime=r=>t.check(lp(r)),t.date=r=>t.check(dp(r)),t.time=r=>t.check(pp(r)),t.duration=r=>t.check(mp(r))});we=S("ZodStringFormat",(t,e)=>{ge.init(t,e),Cv.init(t,e)}),mP=S("ZodEmail",(t,e)=>{Al.init(t,e),we.init(t,e)}),Pv=S("ZodGUID",(t,e)=>{Cl.init(t,e),we.init(t,e)}),xa=S("ZodUUID",(t,e)=>{Il.init(t,e),we.init(t,e)}),fP=S("ZodURL",(t,e)=>{Nl.init(t,e),we.init(t,e)}),hP=S("ZodEmoji",(t,e)=>{zl.init(t,e),we.init(t,e)}),gP=S("ZodNanoID",(t,e)=>{jl.init(t,e),we.init(t,e)}),_P=S("ZodCUID",(t,e)=>{Ml.init(t,e),we.init(t,e)}),yP=S("ZodCUID2",(t,e)=>{Dl.init(t,e),we.init(t,e)}),vP=S("ZodULID",(t,e)=>{Ll.init(t,e),we.init(t,e)}),xP=S("ZodXID",(t,e)=>{Fl.init(t,e),we.init(t,e)}),bP=S("ZodKSUID",(t,e)=>{Zl.init(t,e),we.init(t,e)}),SP=S("ZodIPv4",(t,e)=>{Ul.init(t,e),we.init(t,e)}),kP=S("ZodIPv6",(t,e)=>{Hl.init(t,e),we.init(t,e)}),wP=S("ZodCIDRv4",(t,e)=>{ql.init(t,e),we.init(t,e)}),$P=S("ZodCIDRv6",(t,e)=>{Bl.init(t,e),we.init(t,e)}),EP=S("ZodBase64",(t,e)=>{Vl.init(t,e),we.init(t,e)}),TP=S("ZodBase64URL",(t,e)=>{Wl.init(t,e),we.init(t,e)}),PP=S("ZodE164",(t,e)=>{Gl.init(t,e),we.init(t,e)}),RP=S("ZodJWT",(t,e)=>{Kl.init(t,e),we.init(t,e)}),Iv=S("ZodNumber",(t,e)=>{ia.init(t,e),Pe.init(t,e),t.gt=(n,o)=>t.check(pa(n,o)),t.gte=(n,o)=>t.check(Es(n,o)),t.min=(n,o)=>t.check(Es(n,o)),t.lt=(n,o)=>t.check(da(n,o)),t.lte=(n,o)=>t.check($s(n,o)),t.max=(n,o)=>t.check($s(n,o)),t.int=n=>t.check(Rv(n)),t.safe=n=>t.check(Rv(n)),t.positive=n=>t.check(pa(0,n)),t.nonnegative=n=>t.check(Es(0,n)),t.negative=n=>t.check(da(0,n)),t.nonpositive=n=>t.check($s(0,n)),t.multipleOf=(n,o)=>t.check(ma(n,o)),t.step=(n,o)=>t.check(ma(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});OP=S("ZodNumberFormat",(t,e)=>{Jl.init(t,e),Iv.init(t,e)});CP=S("ZodBoolean",(t,e)=>{Yl.init(t,e),Pe.init(t,e)});IP=S("ZodNull",(t,e)=>{Xl.init(t,e),Pe.init(t,e)});AP=S("ZodUnknown",(t,e)=>{Ql.init(t,e),Pe.init(t,e)});NP=S("ZodNever",(t,e)=>{ed.init(t,e),Pe.init(t,e)});jP=S("ZodArray",(t,e)=>{td.init(t,e),Pe.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(fo(r,n)),t.nonempty=r=>t.check(fo(1,r)),t.max=(r,n)=>t.check(fa(r,n)),t.length=(r,n)=>t.check(ha(r,n)),t.unwrap=()=>t.element});Nv=S("ZodObject",(t,e)=>{aa.init(t,e),Pe.init(t,e),ee.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>ct(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:$e()}),t.loose=()=>t.clone({...t._zod.def,catchall:$e()}),t.strict=()=>t.clone({...t._zod.def,catchall:zP()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ee.extend(t,r),t.merge=r=>ee.merge(t,r),t.pick=r=>ee.pick(t,r),t.omit=r=>ee.omit(t,r),t.partial=(...r)=>ee.partial(Mv,t,r[0]),t.required=(...r)=>ee.required(Dv,t,r[0])});zv=S("ZodUnion",(t,e)=>{ca.init(t,e),Pe.init(t,e),t.options=e.options});MP=S("ZodDiscriminatedUnion",(t,e)=>{zv.init(t,e),rd.init(t,e)});DP=S("ZodIntersection",(t,e)=>{nd.init(t,e),Pe.init(t,e)});LP=S("ZodRecord",(t,e)=>{od.init(t,e),Pe.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});yp=S("ZodEnum",(t,e)=>{sd.init(t,e),Pe.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 yp({...e,checks:[],...ee.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 yp({...e,checks:[],...ee.normalizeParams(o),entries:s})}});FP=S("ZodLiteral",(t,e)=>{id.init(t,e),Pe.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]}})});ZP=S("ZodTransform",(t,e)=>{ad.init(t,e),Pe.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(ee.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(ee.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});Mv=S("ZodOptional",(t,e)=>{cd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});UP=S("ZodNullable",(t,e)=>{ud.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});HP=S("ZodDefault",(t,e)=>{ld.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});BP=S("ZodPrefault",(t,e)=>{dd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});Dv=S("ZodNonOptional",(t,e)=>{pd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});GP=S("ZodCatch",(t,e)=>{md.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});JP=S("ZodPipe",(t,e)=>{fd.init(t,e),Pe.init(t,e),t.in=e.in,t.out=e.out});YP=S("ZodReadonly",(t,e)=>{hd.init(t,e),Pe.init(t,e)});Lv=S("ZodCustom",(t,e)=>{gd.init(t,e),Pe.init(t,e)})});var Zv=b(()=>{});var Uv=b(()=>{});var Hv=b(()=>{Qe();hp();up();gp();_p();Zv();Qe();Qy();ua();fp();Uv();ht(Xy())});var qv=b(()=>{Hv()});var Bv=b(()=>{qv()});function cx(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function ux(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var kp,Vv,jr,ka,Me,Wv,Gv,hF,oR,sR,wp,_t,Os,Kv,He,wt,$t,qe,wa,Jv,$p,Yv,Xv,Ep,Cs,D,Tp,Qv,ex,gF,$a,iR,Ea,aR,Is,go,tx,cR,uR,lR,dR,pR,mR,Pp,fR,hR,Rp,Ta,gR,_R,Pa,yR,As,Ns,vR,zs,_o,xR,js,Ra,Oa,Ca,_F,Ia,Aa,Na,rx,nx,ox,Op,sx,Ms,yo,ix,bR,vo,SR,xo,kR,Cp,wR,za,$R,ER,TR,PR,RR,OR,CR,IR,AR,NR,bo,zR,jR,ja,Ip,Ap,Np,MR,DR,LR,zp,FR,ZR,UR,HR,qR,ax,Ma,BR,Da,yF,VR,So,WR,vF,Ds,GR,jp,KR,JR,YR,XR,QR,eO,tO,Sa,rO,nO,oO,Ls,Mp,sO,iO,aO,cO,uO,lO,dO,pO,mO,fO,hO,gO,_O,yO,vO,xO,bO,SO,ko,kO,wO,$O,La,EO,TO,PO,Dp,RO,xF,bF,SF,kF,wF,$F,z,Sp,Cn=b(()=>{Bv();kp="2025-11-25",Vv=[kp,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],jr="io.modelcontextprotocol/related-task",ka="2.0",Me=Fv(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Wv=ye([x(),ae().int()]),Gv=x(),hF=et({ttl:ae().optional(),pollInterval:ae().optional()}),oR=C({ttl:ae().optional()}),sR=C({taskId:x()}),wp=et({progressToken:Wv.optional(),[jr]:sR.optional()}),_t=C({_meta:wp.optional()}),Os=_t.extend({task:oR.optional()}),Kv=t=>Os.safeParse(t).success,He=C({method:x(),params:_t.loose().optional()}),wt=C({_meta:wp.optional()}),$t=C({method:x(),params:wt.loose().optional()}),qe=et({_meta:wp.optional()}),wa=ye([x(),ae().int()]),Jv=C({jsonrpc:j(ka),id:wa,...He.shape}).strict(),$p=t=>Jv.safeParse(t).success,Yv=C({jsonrpc:j(ka),...$t.shape}).strict(),Xv=t=>Yv.safeParse(t).success,Ep=C({jsonrpc:j(ka),id:wa,result:qe}).strict(),Cs=t=>Ep.safeParse(t).success;(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"})(D||(D={}));Tp=C({jsonrpc:j(ka),id:wa.optional(),error:C({code:ae().int(),message:x(),data:$e().optional()})}).strict(),Qv=t=>Tp.safeParse(t).success,ex=ye([Jv,Yv,Ep,Tp]),gF=ye([Ep,Tp]),$a=qe.strict(),iR=wt.extend({requestId:wa.optional(),reason:x().optional()}),Ea=$t.extend({method:j("notifications/cancelled"),params:iR}),aR=C({src:x(),mimeType:x().optional(),sizes:te(x()).optional(),theme:ct(["light","dark"]).optional()}),Is=C({icons:te(aR).optional()}),go=C({name:x(),title:x().optional()}),tx=go.extend({...go.shape,...Is.shape,version:x(),websiteUrl:x().optional(),description:x().optional()}),cR=ba(C({applyDefaults:De().optional()}),_e(x(),$e())),uR=bp(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,ba(C({form:cR.optional(),url:Me.optional()}),_e(x(),$e()).optional())),lR=et({list:Me.optional(),cancel:Me.optional(),requests:et({sampling:et({createMessage:Me.optional()}).optional(),elicitation:et({create:Me.optional()}).optional()}).optional()}),dR=et({list:Me.optional(),cancel:Me.optional(),requests:et({tools:et({call:Me.optional()}).optional()}).optional()}),pR=C({experimental:_e(x(),Me).optional(),sampling:C({context:Me.optional(),tools:Me.optional()}).optional(),elicitation:uR.optional(),roots:C({listChanged:De().optional()}).optional(),tasks:lR.optional(),extensions:_e(x(),Me).optional()}),mR=_t.extend({protocolVersion:x(),capabilities:pR,clientInfo:tx}),Pp=He.extend({method:j("initialize"),params:mR}),fR=C({experimental:_e(x(),Me).optional(),logging:Me.optional(),completions:Me.optional(),prompts:C({listChanged:De().optional()}).optional(),resources:C({subscribe:De().optional(),listChanged:De().optional()}).optional(),tools:C({listChanged:De().optional()}).optional(),tasks:dR.optional(),extensions:_e(x(),Me).optional()}),hR=qe.extend({protocolVersion:x(),capabilities:fR,serverInfo:tx,instructions:x().optional()}),Rp=$t.extend({method:j("notifications/initialized"),params:wt.optional()}),Ta=He.extend({method:j("ping"),params:_t.optional()}),gR=C({progress:ae(),total:Ee(ae()),message:Ee(x())}),_R=C({...wt.shape,...gR.shape,progressToken:Wv}),Pa=$t.extend({method:j("notifications/progress"),params:_R}),yR=_t.extend({cursor:Gv.optional()}),As=He.extend({params:yR.optional()}),Ns=qe.extend({nextCursor:Gv.optional()}),vR=ct(["working","input_required","completed","failed","cancelled"]),zs=C({taskId:x(),status:vR,ttl:ye([ae(),Av()]),createdAt:x(),lastUpdatedAt:x(),pollInterval:Ee(ae()),statusMessage:Ee(x())}),_o=qe.extend({task:zs}),xR=wt.merge(zs),js=$t.extend({method:j("notifications/tasks/status"),params:xR}),Ra=He.extend({method:j("tasks/get"),params:_t.extend({taskId:x()})}),Oa=qe.merge(zs),Ca=He.extend({method:j("tasks/result"),params:_t.extend({taskId:x()})}),_F=qe.loose(),Ia=As.extend({method:j("tasks/list")}),Aa=Ns.extend({tasks:te(zs)}),Na=He.extend({method:j("tasks/cancel"),params:_t.extend({taskId:x()})}),rx=qe.merge(zs),nx=C({uri:x(),mimeType:Ee(x()),_meta:_e(x(),$e()).optional()}),ox=nx.extend({text:x()}),Op=x().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),sx=nx.extend({blob:Op}),Ms=ct(["user","assistant"]),yo=C({audience:te(Ms).optional(),priority:ae().min(0).max(1).optional(),lastModified:Ps.datetime({offset:!0}).optional()}),ix=C({...go.shape,...Is.shape,uri:x(),description:Ee(x()),mimeType:Ee(x()),size:Ee(ae()),annotations:yo.optional(),_meta:Ee(et({}))}),bR=C({...go.shape,...Is.shape,uriTemplate:x(),description:Ee(x()),mimeType:Ee(x()),annotations:yo.optional(),_meta:Ee(et({}))}),vo=As.extend({method:j("resources/list")}),SR=Ns.extend({resources:te(ix)}),xo=As.extend({method:j("resources/templates/list")}),kR=Ns.extend({resourceTemplates:te(bR)}),Cp=_t.extend({uri:x()}),wR=Cp,za=He.extend({method:j("resources/read"),params:wR}),$R=qe.extend({contents:te(ye([ox,sx]))}),ER=$t.extend({method:j("notifications/resources/list_changed"),params:wt.optional()}),TR=Cp,PR=He.extend({method:j("resources/subscribe"),params:TR}),RR=Cp,OR=He.extend({method:j("resources/unsubscribe"),params:RR}),CR=wt.extend({uri:x()}),IR=$t.extend({method:j("notifications/resources/updated"),params:CR}),AR=C({name:x(),description:Ee(x()),required:Ee(De())}),NR=C({...go.shape,...Is.shape,description:Ee(x()),arguments:Ee(te(AR)),_meta:Ee(et({}))}),bo=As.extend({method:j("prompts/list")}),zR=Ns.extend({prompts:te(NR)}),jR=_t.extend({name:x(),arguments:_e(x(),x()).optional()}),ja=He.extend({method:j("prompts/get"),params:jR}),Ip=C({type:j("text"),text:x(),annotations:yo.optional(),_meta:_e(x(),$e()).optional()}),Ap=C({type:j("image"),data:Op,mimeType:x(),annotations:yo.optional(),_meta:_e(x(),$e()).optional()}),Np=C({type:j("audio"),data:Op,mimeType:x(),annotations:yo.optional(),_meta:_e(x(),$e()).optional()}),MR=C({type:j("tool_use"),name:x(),id:x(),input:_e(x(),$e()),_meta:_e(x(),$e()).optional()}),DR=C({type:j("resource"),resource:ye([ox,sx]),annotations:yo.optional(),_meta:_e(x(),$e()).optional()}),LR=ix.extend({type:j("resource_link")}),zp=ye([Ip,Ap,Np,LR,DR]),FR=C({role:Ms,content:zp}),ZR=qe.extend({description:x().optional(),messages:te(FR)}),UR=$t.extend({method:j("notifications/prompts/list_changed"),params:wt.optional()}),HR=C({title:x().optional(),readOnlyHint:De().optional(),destructiveHint:De().optional(),idempotentHint:De().optional(),openWorldHint:De().optional()}),qR=C({taskSupport:ct(["required","optional","forbidden"]).optional()}),ax=C({...go.shape,...Is.shape,description:x().optional(),inputSchema:C({type:j("object"),properties:_e(x(),Me).optional(),required:te(x()).optional()}).catchall($e()),outputSchema:C({type:j("object"),properties:_e(x(),Me).optional(),required:te(x()).optional()}).catchall($e()).optional(),annotations:HR.optional(),execution:qR.optional(),_meta:_e(x(),$e()).optional()}),Ma=As.extend({method:j("tools/list")}),BR=Ns.extend({tools:te(ax)}),Da=qe.extend({content:te(zp).default([]),structuredContent:_e(x(),$e()).optional(),isError:De().optional()}),yF=Da.or(qe.extend({toolResult:$e()})),VR=Os.extend({name:x(),arguments:_e(x(),$e()).optional()}),So=He.extend({method:j("tools/call"),params:VR}),WR=$t.extend({method:j("notifications/tools/list_changed"),params:wt.optional()}),vF=C({autoRefresh:De().default(!0),debounceMs:ae().int().nonnegative().default(300)}),Ds=ct(["debug","info","notice","warning","error","critical","alert","emergency"]),GR=_t.extend({level:Ds}),jp=He.extend({method:j("logging/setLevel"),params:GR}),KR=wt.extend({level:Ds,logger:x().optional(),data:$e()}),JR=$t.extend({method:j("notifications/message"),params:KR}),YR=C({name:x().optional()}),XR=C({hints:te(YR).optional(),costPriority:ae().min(0).max(1).optional(),speedPriority:ae().min(0).max(1).optional(),intelligencePriority:ae().min(0).max(1).optional()}),QR=C({mode:ct(["auto","required","none"]).optional()}),eO=C({type:j("tool_result"),toolUseId:x().describe("The unique identifier for the corresponding tool call."),content:te(zp).default([]),structuredContent:C({}).loose().optional(),isError:De().optional(),_meta:_e(x(),$e()).optional()}),tO=xp("type",[Ip,Ap,Np]),Sa=xp("type",[Ip,Ap,Np,MR,eO]),rO=C({role:Ms,content:ye([Sa,te(Sa)]),_meta:_e(x(),$e()).optional()}),nO=Os.extend({messages:te(rO),modelPreferences:XR.optional(),systemPrompt:x().optional(),includeContext:ct(["none","thisServer","allServers"]).optional(),temperature:ae().optional(),maxTokens:ae().int(),stopSequences:te(x()).optional(),metadata:Me.optional(),tools:te(ax).optional(),toolChoice:QR.optional()}),oO=He.extend({method:j("sampling/createMessage"),params:nO}),Ls=qe.extend({model:x(),stopReason:Ee(ct(["endTurn","stopSequence","maxTokens"]).or(x())),role:Ms,content:tO}),Mp=qe.extend({model:x(),stopReason:Ee(ct(["endTurn","stopSequence","maxTokens","toolUse"]).or(x())),role:Ms,content:ye([Sa,te(Sa)])}),sO=C({type:j("boolean"),title:x().optional(),description:x().optional(),default:De().optional()}),iO=C({type:j("string"),title:x().optional(),description:x().optional(),minLength:ae().optional(),maxLength:ae().optional(),format:ct(["email","uri","date","date-time"]).optional(),default:x().optional()}),aO=C({type:ct(["number","integer"]),title:x().optional(),description:x().optional(),minimum:ae().optional(),maximum:ae().optional(),default:ae().optional()}),cO=C({type:j("string"),title:x().optional(),description:x().optional(),enum:te(x()),default:x().optional()}),uO=C({type:j("string"),title:x().optional(),description:x().optional(),oneOf:te(C({const:x(),title:x()})),default:x().optional()}),lO=C({type:j("string"),title:x().optional(),description:x().optional(),enum:te(x()),enumNames:te(x()).optional(),default:x().optional()}),dO=ye([cO,uO]),pO=C({type:j("array"),title:x().optional(),description:x().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:C({type:j("string"),enum:te(x())}),default:te(x()).optional()}),mO=C({type:j("array"),title:x().optional(),description:x().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:C({anyOf:te(C({const:x(),title:x()}))}),default:te(x()).optional()}),fO=ye([pO,mO]),hO=ye([lO,dO,fO]),gO=ye([hO,sO,iO,aO]),_O=Os.extend({mode:j("form").optional(),message:x(),requestedSchema:C({type:j("object"),properties:_e(x(),gO),required:te(x()).optional()})}),yO=Os.extend({mode:j("url"),message:x(),elicitationId:x(),url:x().url()}),vO=ye([_O,yO]),xO=He.extend({method:j("elicitation/create"),params:vO}),bO=wt.extend({elicitationId:x()}),SO=$t.extend({method:j("notifications/elicitation/complete"),params:bO}),ko=qe.extend({action:ct(["accept","decline","cancel"]),content:bp(t=>t===null?void 0:t,_e(x(),ye([x(),ae(),De(),te(x())])).optional())}),kO=C({type:j("ref/resource"),uri:x()}),wO=C({type:j("ref/prompt"),name:x()}),$O=_t.extend({ref:ye([wO,kO]),argument:C({name:x(),value:x()}),context:C({arguments:_e(x(),x()).optional()}).optional()}),La=He.extend({method:j("completion/complete"),params:$O});EO=qe.extend({completion:et({values:te(x()).max(100),total:Ee(ae().int()),hasMore:Ee(De())})}),TO=C({uri:x().startsWith("file://"),name:x().optional(),_meta:_e(x(),$e()).optional()}),PO=He.extend({method:j("roots/list"),params:_t.optional()}),Dp=qe.extend({roots:te(TO)}),RO=$t.extend({method:j("notifications/roots/list_changed"),params:wt.optional()}),xF=ye([Ta,Pp,La,jp,ja,bo,vo,xo,za,PR,OR,So,Ma,Ra,Ca,Ia,Na]),bF=ye([Ea,Pa,Rp,RO,js]),SF=ye([$a,Ls,Mp,ko,Dp,Oa,Aa,_o]),kF=ye([Ta,oO,xO,PO,Ra,Ca,Ia,Na]),wF=ye([Ea,Pa,JR,IR,ER,WR,UR,js,SO]),$F=ye([$a,hR,EO,ZR,zR,SR,kR,$R,Da,BR,Oa,Aa,_o]),z=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===D.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Sp(o.elicitations,r)}return new t(e,r,n)}},Sp=class extends z{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(D.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}}});function Mr(t){return t==="completed"||t==="failed"||t==="cancelled"}var lx=b(()=>{});var px,dx,mx,Fa=b(()=>{px=Symbol("Let zodToJsonSchema decide on which parser to use"),dx={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"},mx=t=>typeof t=="string"?{...dx,name:t}:{...dx,...t}});var fx,Lp=b(()=>{Fa();fx=t=>{let e=mx(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 Fp(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function re(t,e,r,n,o){t[e]=r,Fp(t,e,n,o)}var Dr=b(()=>{});var Za,Ua=b(()=>{Za=(t,e)=>{let r=0;for(;r{Ua()});function hx(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==$.ZodAny&&(r.items=Z(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&re(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&re(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(re(r,"minItems",t.exactLength.value,t.exactLength.message,e),re(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}var Zp=b(()=>{fs();Dr();Ne()});function gx(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?re(r,"minimum",n.value,n.message,e):re(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),re(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?re(r,"maximum",n.value,n.message,e):re(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),re(r,"maximum",n.value,n.message,e));break;case"multipleOf":re(r,"multipleOf",n.value,n.message,e);break}return r}var Up=b(()=>{Dr()});function _x(){return{type:"boolean"}}var Hp=b(()=>{});function Ha(t,e){return Z(t.type._def,e)}var qa=b(()=>{Ne()});var yx,qp=b(()=>{Ne();yx=(t,e)=>Z(t.innerType._def,e)});function Bp(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Bp(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 OO(t,e)}}var OO,Vp=b(()=>{Dr();OO=(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":re(r,"minimum",n.value,n.message,e);break;case"max":re(r,"maximum",n.value,n.message,e);break}return r}});function vx(t,e){return{...Z(t.innerType._def,e),default:t.defaultValue()}}var Wp=b(()=>{Ne()});function xx(t,e){return e.effectStrategy==="input"?Z(t.schema._def,e):Te(e)}var Gp=b(()=>{Ne();Et()});function bx(t){return{type:"string",enum:Array.from(t.values)}}var Kp=b(()=>{});function Sx(t,e){let r=[Z(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),Z(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(CO(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}var CO,Jp=b(()=>{Ne();CO=t=>"type"in t&&t.type==="string"?!1:"allOf"in t});function kx(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 Yp=b(()=>{});function Ba(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":re(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":re(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":Dt(r,"email",n.message,e);break;case"format:idn-email":Dt(r,"idn-email",n.message,e);break;case"pattern:zod":tt(r,Mt.email,n.message,e);break}break;case"url":Dt(r,"uri",n.message,e);break;case"uuid":Dt(r,"uuid",n.message,e);break;case"regex":tt(r,n.regex,n.message,e);break;case"cuid":tt(r,Mt.cuid,n.message,e);break;case"cuid2":tt(r,Mt.cuid2,n.message,e);break;case"startsWith":tt(r,RegExp(`^${Qp(n.value,e)}`),n.message,e);break;case"endsWith":tt(r,RegExp(`${Qp(n.value,e)}$`),n.message,e);break;case"datetime":Dt(r,"date-time",n.message,e);break;case"date":Dt(r,"date",n.message,e);break;case"time":Dt(r,"time",n.message,e);break;case"duration":Dt(r,"duration",n.message,e);break;case"length":re(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),re(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{tt(r,RegExp(Qp(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&Dt(r,"ipv4",n.message,e),n.version!=="v4"&&Dt(r,"ipv6",n.message,e);break}case"base64url":tt(r,Mt.base64url,n.message,e);break;case"jwt":tt(r,Mt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&tt(r,Mt.ipv4Cidr,n.message,e),n.version!=="v4"&&tt(r,Mt.ipv6Cidr,n.message,e);break}case"emoji":tt(r,Mt.emoji(),n.message,e);break;case"ulid":{tt(r,Mt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{Dt(r,"binary",n.message,e);break}case"contentEncoding:base64":{re(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{tt(r,Mt.base64,n.message,e);break}}break}case"nanoid":tt(r,Mt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function Qp(t,e){return e.patternStrategy==="escape"?AO(t):t}function AO(t){let e="";for(let r=0;ro.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):re(t,"format",e,r,n)}function tt(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:wx(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):re(t,"pattern",wx(e,n),r,n)}function wx(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{Dr();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:()=>(Qp===void 0&&(Qp=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Qp),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-_]*$/};CO=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789")});function Wa(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===$.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??Te(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===$.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=Ba(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===$.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===$.ZodBranded&&t.keyType._def.type._def.typeName===$.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=Ha(t.keyType._def,e);return{...r,propertyNames:o}}}return r}var Ga=b(()=>{fs();Ne();Va();qa();Et()});function $x(t,e){if(e.mapStrategy==="record")return Wa(t,e);let r=Z(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||Te(e),n=Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||Te(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}var tm=b(()=>{Ne();Ga();Et()});function Ex(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}}var rm=b(()=>{});function Tx(t){return t.target==="openAi"?void 0:{not:Te({...t,currentPath:[...t.currentPath,"not"]})}}var nm=b(()=>{Et()});function Px(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var om=b(()=>{});function Ox(t,e){if(e.target==="openApi3")return Rx(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Fs&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Fs[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 Rx(t,e)}var Fs,Rx,Ka=b(()=>{Ne();Fs={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};Rx=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>Z(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 Cx(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:Fs[t.innerType._def.typeName],nullable:!0}:{type:[Fs[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=Z(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=Z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}var sm=b(()=>{Ne();Ka()});function Ix(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",Zp(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?re(r,"minimum",n.value,n.message,e):re(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),re(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?re(r,"maximum",n.value,n.message,e):re(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),re(r,"maximum",n.value,n.message,e));break;case"multipleOf":re(r,"multipleOf",n.value,n.message,e);break}return r}var im=b(()=>{Dr()});function Ax(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=NO(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=Z(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=AO(t,e);return i!==void 0&&(n.additionalProperties=i),n}function AO(t,e){if(t.catchall._def.typeName!=="ZodNever")return Z(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 NO(t){try{return t.isOptional()}catch{return!0}}var am=b(()=>{Ne()});var Nx,cm=b(()=>{Ne();Et();Nx=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return Z(t.innerType._def,e);let r=Z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Te(e)},r]}:Te(e)}});var zx,um=b(()=>{Ne();zx=(t,e)=>{if(e.pipeStrategy==="input")return Z(t.in._def,e);if(e.pipeStrategy==="output")return Z(t.out._def,e);let r=Z(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=Z(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}}});function jx(t,e){return Z(t.type._def,e)}var lm=b(()=>{Ne()});function Mx(t,e){let n={type:"array",uniqueItems:!0,items:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&re(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&re(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}var dm=b(()=>{Dr();Ne()});function Dx(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>Z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:Z(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>Z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}var pm=b(()=>{Ne()});function Lx(t){return{not:Te(t)}}var mm=b(()=>{Et()});function Fx(t){return Te(t)}var fm=b(()=>{Et()});var Zx,hm=b(()=>{Ne();Zx=(t,e)=>Z(t.innerType._def,e)});var Ux,gm=b(()=>{fs();Et();Up();Hp();qp();qa();Bp();Wp();Gp();Kp();Jp();Yp();Xp();tm();rm();nm();om();sm();im();am();cm();um();lm();Ga();dm();Va();pm();mm();Ka();fm();hm();Ux=(t,e,r)=>{switch(e){case $.ZodString:return Ba(t,r);case $.ZodNumber:return Ix(t,r);case $.ZodObject:return Ax(t,r);case $.ZodBigInt:return gx(t,r);case $.ZodBoolean:return _x();case $.ZodDate:return Vp(t,r);case $.ZodUndefined:return Lx(r);case $.ZodNull:return Px(r);case $.ZodArray:return hx(t,r);case $.ZodUnion:case $.ZodDiscriminatedUnion:return Ox(t,r);case $.ZodIntersection:return Sx(t,r);case $.ZodTuple:return Dx(t,r);case $.ZodRecord:return Wa(t,r);case $.ZodLiteral:return kx(t,r);case $.ZodEnum:return bx(t);case $.ZodNativeEnum:return Ex(t);case $.ZodNullable:return Cx(t,r);case $.ZodOptional:return Nx(t,r);case $.ZodMap:return $x(t,r);case $.ZodSet:return Mx(t,r);case $.ZodLazy:return()=>t.getter()._def;case $.ZodPromise:return jx(t,r);case $.ZodNaN:case $.ZodNever:return Tx(r);case $.ZodEffects:return xx(t,r);case $.ZodAny:return Te(r);case $.ZodUnknown:return Fx(r);case $.ZodDefault:return vx(t,r);case $.ZodBranded:return Ha(t,r);case $.ZodReadonly:return Zx(t,r);case $.ZodCatch:return yx(t,r);case $.ZodPipeline:return zx(t,r);case $.ZodFunction:case $.ZodVoid:case $.ZodSymbol:return;default:return(n=>{})(e)}}});function Z(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==px)return a}if(n&&!r){let a=zO(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=Ux(t,t.typeName,e),i=typeof s=="function"?Z(s(),e):s;if(i&&jO(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var zO,jO,Ne=b(()=>{Fa();gm();Ua();Et();zO=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Za(e.currentPath,t.path)};case"none":case"seen":return t.path.lengthe.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),Te(e)):e.$refStrategy==="seen"?Te(e):void 0}},jO=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r)});var Hx=b(()=>{});var _m,ym=b(()=>{Ne();Fp();Et();_m=(t,e)=>{let r=fx(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:Z(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??Te(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=Z(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??Te(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}});var qx=b(()=>{Fa();Fp();Dr();Ua();Ne();Hx();Et();Up();Hp();qp();qa();Bp();Wp();Gp();Kp();Jp();Yp();Xp();tm();rm();nm();om();sm();im();am();cm();um();lm();hm();Ga();dm();Va();pm();mm();Ka();fm();gm();ym();ym()});function MO(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function vm(t,e){return kt(t)?ip(t,{target:MO(e?.target),io:e?.pipeStrategy??"input"}):_m(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function xm(t){let r=zr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=va(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function bm(t,e){let r=Nr(t,e);if(!r.success)throw r.error;return r.data}var Sm=b(()=>{up();Ts();qx()});function Bx(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Vx(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];Bx(i)&&Bx(s)?r[o]={...i,...s}:r[o]=s}return r}var DO,Ja,Wx=b(()=>{Ts();Cn();lx();Sm();DO=6e4,Ja=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(Ea,r=>{this._oncancel(r)}),this.setNotificationHandler(Pa,r=>{this._onprogress(r)}),this.setRequestHandler(Ta,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Ra,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new z(D.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Ca,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,m=new z(d.error.code,d.error.message,d.error.data);l(m)}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 z(D.InvalidParams,`Task not found: ${s}`);if(!Mr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Mr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[jr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Ia,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 z(D.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Na,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new z(D.InvalidParams,`Task not found: ${r.params.taskId}`);if(Mr(o.status))throw new z(D.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 z(D.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof z?o:new z(D.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),z.fromError(D.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),Cs(s)||Qv(s)?this._onresponse(s):Ep(s)?this._onrequest(s,i):Xv(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=z.fromError(D.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?.[jr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:D.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=Kv(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,m)=>{if(i.signal.aborted)throw new z(D.ConnectionClosed,"Request was cancelled");let h={...m,relatedRequestId:e.id};s&&!h.relatedTask&&(h.relatedTask={taskId:s});let p=h.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,h)},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:D.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Cs(e))n(e);else{let i=new z(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(Cs(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),Cs(e))o(e);else{let i=z.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 z?i:new z(D.InternalError,String(i))}}return}let s;try{let i=await this.request(e,_o,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new z(D.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Mr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new z(D.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new z(D.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 z?i:new z(D.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=y=>{l(y)};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(y){d(y);return}n?.signal?.throwIfAborted();let m=this._requestMessageId++,h={...e,jsonrpc:"2.0",id:m};n?.onprogress&&(this._progressHandlers.set(m,n.onprogress),h.params={...e.params,_meta:{...e.params?._meta||{},progressToken:m}}),a&&(h.params={...h.params,task:a}),c&&(h.params={...h.params,_meta:{...h.params?._meta||{},[jr]:c}});let p=y=>{this._responseHandlers.delete(m),this._progressHandlers.delete(m),this._cleanupTimeout(m),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:m,reason:String(y)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(k=>this._onerror(new Error(`Failed to send cancellation: ${k}`)));let v=y instanceof z?y:new z(D.RequestTimeout,String(y));l(v)};this._responseHandlers.set(m,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return l(y);try{let v=Nr(r,y.result);v.success?u(v.data):l(v.error)}catch(v){l(v)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let f=n?.timeout??DO,g=()=>p(z.fromError(D.RequestTimeout,"Request timed out",{timeout:f}));this._setupTimeout(m,f,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let y=v=>{let k=this._responseHandlers.get(m);k?k(v):this._onerror(new Error(`Response handler missing for side-channeled request ${m}`))};this._requestResolvers.set(m,y),this._enqueueTaskMessage(_,{type:"request",message:h,timestamp:Date.now()}).catch(v=>{this._cleanupTimeout(m),l(v)})}else this._transport.send(h,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(y=>{this._cleanupTimeout(m),l(y)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Oa,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},Aa,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},rx,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||{},[jr]: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||{},[jr]: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||{},[jr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=xm(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=bm(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=xm(e);this._notificationHandlers.set(n,o=>{let s=bm(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"&&Ep(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new z(D.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 z(D.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new z(D.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 z(D.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=js.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Mr(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 z(D.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Mr(a.status))throw new z(D.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=js.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Mr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}}});var Hs=R(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.regexpCode=ie.getEsmExportName=ie.getProperty=ie.safeStringify=ie.stringify=ie.strConcat=ie.addCodeArg=ie.str=ie._=ie.nil=ie._Code=ie.Name=ie.IDENTIFIER=ie._CodeOrName=void 0;var Zs=class{};ie._CodeOrName=Zs;ie.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var In=class extends Zs{constructor(e){if(super(),!ie.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}}};ie.Name=In;var Tt=class extends Zs{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 In&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ie._Code=Tt;ie.nil=new Tt("");function Gx(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.ValueScope=lt.ValueScopeName=lt.Scope=lt.varKinds=lt.UsedValueState=void 0;var ut=Hs(),$m=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ya;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Ya||(lt.UsedValueState=Ya={}));lt.varKinds={const:new ut.Name("const"),let:new ut.Name("let"),var:new ut.Name("var")};var Xa=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof ut.Name?e:this.name(e)}name(e){return new ut.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}}};lt.Scope=Xa;var Qa=class extends ut.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,ut._)`.${new ut.Name(r)}[${n}]`}};lt.ValueScopeName=Qa;var WO=(0,ut._)`\n`,Em=class extends Xa{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?WO:ut.nil}}get(){return this._scope}name(e){return new Qa(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,ut._)`${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=ut.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,Ya.Started);let l=r(u);if(l){let d=this.opts.es5?lt.varKinds.var:lt.varKinds.const;s=(0,ut._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,ut._)`${s}${l}${this.opts._n}`;else throw new $m(u);c.set(u,Ya.Completed)})}return s}};lt.ValueScope=Em});var K=R(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.or=Y.and=Y.not=Y.CodeGen=Y.operators=Y.varKinds=Y.ValueScopeName=Y.ValueScope=Y.Scope=Y.Name=Y.regexpCode=Y.stringify=Y.getProperty=Y.nil=Y.strConcat=Y.str=Y._=void 0;var ne=Hs(),Lt=Tm(),Lr=Hs();Object.defineProperty(Y,"_",{enumerable:!0,get:function(){return Lr._}});Object.defineProperty(Y,"str",{enumerable:!0,get:function(){return Lr.str}});Object.defineProperty(Y,"strConcat",{enumerable:!0,get:function(){return Lr.strConcat}});Object.defineProperty(Y,"nil",{enumerable:!0,get:function(){return Lr.nil}});Object.defineProperty(Y,"getProperty",{enumerable:!0,get:function(){return Lr.getProperty}});Object.defineProperty(Y,"stringify",{enumerable:!0,get:function(){return Lr.stringify}});Object.defineProperty(Y,"regexpCode",{enumerable:!0,get:function(){return Lr.regexpCode}});Object.defineProperty(Y,"Name",{enumerable:!0,get:function(){return Lr.Name}});var nc=Tm();Object.defineProperty(Y,"Scope",{enumerable:!0,get:function(){return nc.Scope}});Object.defineProperty(Y,"ValueScope",{enumerable:!0,get:function(){return nc.ValueScope}});Object.defineProperty(Y,"ValueScopeName",{enumerable:!0,get:function(){return nc.ValueScopeName}});Object.defineProperty(Y,"varKinds",{enumerable:!0,get:function(){return nc.varKinds}});Y.operators={GT:new ne._Code(">"),GTE:new ne._Code(">="),LT:new ne._Code("<"),LTE:new ne._Code("<="),EQ:new ne._Code("==="),NEQ:new ne._Code("!=="),NOT:new ne._Code("!"),OR:new ne._Code("||"),AND:new ne._Code("&&"),ADD:new ne._Code("+")};var gr=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Pm=class extends gr{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Lt.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=$o(this.rhs,e,r)),this}get names(){return this.rhs instanceof ne._CodeOrName?this.rhs.names:{}}},ec=class extends gr{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 ne.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=$o(this.rhs,e,r),this}get names(){let e=this.lhs instanceof ne.Name?{}:{...this.lhs.names};return rc(e,this.rhs)}},Rm=class extends ec{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Om=class extends gr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Cm=class extends gr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Im=class extends gr{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Am=class extends gr{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=$o(this.code,e,r),this}get names(){return this.code instanceof ne._CodeOrName?this.code.names:{}}},qs=class extends gr{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)||(GO(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>zn(e,r.names),{})}},_r=class extends qs{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Nm=class extends qs{},wo=class extends _r{};wo.kind="else";var An=class t extends _r{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 wo(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Jx(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=$o(this.condition,e,r),this}get names(){let e=super.names;return rc(e,this.condition),this.else&&zn(e,this.else.names),e}};An.kind="if";var Nn=class extends _r{};Nn.kind="for";var zm=class extends Nn{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=$o(this.iteration,e,r),this}get names(){return zn(super.names,this.iteration.names)}},jm=class extends Nn{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?Lt.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=rc(super.names,this.from);return rc(e,this.to)}},tc=class extends Nn{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=$o(this.iterable,e,r),this}get names(){return zn(super.names,this.iterable.names)}},Bs=class extends _r{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)}};Bs.kind="func";var Vs=class extends qs{render(e){return"return "+super.render(e)}};Vs.kind="return";var Mm=class extends _r{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&&zn(e,this.catch.names),this.finally&&zn(e,this.finally.names),e}},Ws=class extends _r{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ws.kind="catch";var Gs=class extends _r{render(e){return"finally"+super.render(e)}};Gs.kind="finally";var Dm=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` -`:""},this._extScope=e,this._scope=new Lt.Scope({parent:e}),this._nodes=[new Nm]}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 Pm(e,s,n)),s}const(e,r,n){return this._def(Lt.varKinds.const,e,r,n)}let(e,r,n){return this._def(Lt.varKinds.let,e,r,n)}var(e,r,n){return this._def(Lt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new ec(e,r,n))}add(e,r){return this._leafNode(new Rm(e,Y.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==ne.nil&&this._leafNode(new Am(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,ne.addCodeArg)(r,o));return r.push("}"),new ne._Code(r)}if(e,r,n){if(this._blockNode(new An(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 An(e))}else(){return this._elseNode(new wo)}endIf(){return this._endBlockNode(An,wo)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new zm(e),r)}forRange(e,r,n,o,s=this.opts.es5?Lt.varKinds.var:Lt.varKinds.let){let i=this._scope.toName(e);return this._for(new jm(s,i,r,n),()=>o(i))}forOf(e,r,n,o=Lt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof ne.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,ne._)`${i}.length`,a=>{this.var(s,(0,ne._)`${i}[${a}]`),n(s)})}return this._for(new tc("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?Lt.varKinds.var:Lt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,ne._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new tc("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Nn)}label(e){return this._leafNode(new Om(e))}break(e){return this._leafNode(new Cm(e))}return(e){let r=new Vs;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Vs)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Mm;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Ws(s),r(s)}return n&&(this._currNode=o.finally=new Gs,this.code(n)),this._endBlockNode(Ws,Gs)}throw(e){return this._leafNode(new Im(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=ne.nil,n,o){return this._blockNode(new Bs(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Bs)}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 An))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}};Y.CodeGen=Dm;function zn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function rc(t,e){return e instanceof ne._CodeOrName?zn(t,e.names):t}function $o(t,e,r){if(t instanceof ne.Name)return n(t);if(!o(t))return t;return new ne._Code(t._items.reduce((s,i)=>(i instanceof ne.Name&&(i=n(i)),i instanceof ne._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 ne._Code&&s._items.some(i=>i instanceof ne.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function GO(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Jx(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,ne._)`!${Lm(t)}`}Y.not=Jx;var KO=Yx(Y.operators.AND);function JO(...t){return t.reduce(KO)}Y.and=JO;var YO=Yx(Y.operators.OR);function XO(...t){return t.reduce(YO)}Y.or=XO;function Yx(t){return(e,r)=>e===ne.nil?r:r===ne.nil?e:(0,ne._)`${Lm(e)} ${t} ${Lm(r)}`}function Lm(t){return t instanceof ne.Name?t:(0,ne._)`(${t})`}});var oe=R(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.checkStrictMode=X.getErrorPath=X.Type=X.useFunc=X.setEvaluated=X.evaluatedPropsToName=X.mergeEvaluated=X.eachItem=X.unescapeJsonPointer=X.escapeJsonPointer=X.escapeFragment=X.unescapeFragment=X.schemaRefOrVal=X.schemaHasRulesButRef=X.schemaHasRules=X.checkUnknownRules=X.alwaysValidSchema=X.toHash=void 0;var fe=K(),QO=Hs();function eC(t){let e={};for(let r of t)e[r]=!0;return e}X.toHash=eC;function tC(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(e0(t,e),!t0(e,t.self.RULES.all))}X.alwaysValidSchema=tC;function e0(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]||o0(t,`unknown keyword: "${s}"`)}X.checkUnknownRules=e0;function t0(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}X.schemaHasRules=t0;function rC(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}X.schemaHasRulesButRef=rC;function nC({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,fe._)`${r}`}return(0,fe._)`${t}${e}${(0,fe.getProperty)(n)}`}X.schemaRefOrVal=nC;function oC(t){return r0(decodeURIComponent(t))}X.unescapeFragment=oC;function sC(t){return encodeURIComponent(Zm(t))}X.escapeFragment=sC;function Zm(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}X.escapeJsonPointer=Zm;function r0(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}X.unescapeJsonPointer=r0;function iC(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}X.eachItem=iC;function Xx({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof fe.Name?(s instanceof fe.Name?t(o,s,i):e(o,s,i),i):s instanceof fe.Name?(e(o,i,s),s):r(s,i);return a===fe.Name&&!(c instanceof fe.Name)?n(o,c):c}}X.mergeEvaluated={props:Xx({mergeNames:(t,e,r)=>t.if((0,fe._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,fe._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,fe._)`${r} || {}`).code((0,fe._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,fe._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,fe._)`${r} || {}`),Um(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:n0}),items:Xx({mergeNames:(t,e,r)=>t.if((0,fe._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,fe._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,fe._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,fe._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function n0(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,fe._)`{}`);return e!==void 0&&Um(t,r,e),r}X.evaluatedPropsToName=n0;function Um(t,e,r){Object.keys(r).forEach(n=>t.assign((0,fe._)`${e}${(0,fe.getProperty)(n)}`,!0))}X.setEvaluated=Um;var Qx={};function aC(t,e){return t.scopeValue("func",{ref:e,code:Qx[e.code]||(Qx[e.code]=new QO._Code(e.code))})}X.useFunc=aC;var Fm;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Fm||(X.Type=Fm={}));function cC(t,e,r){if(t instanceof fe.Name){let n=e===Fm.Num;return r?n?(0,fe._)`"[" + ${t} + "]"`:(0,fe._)`"['" + ${t} + "']"`:n?(0,fe._)`"/" + ${t}`:(0,fe._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,fe.getProperty)(t).toString():"/"+Zm(t)}X.getErrorPath=cC;function o0(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}X.checkStrictMode=o0});var yr=R(Hm=>{"use strict";Object.defineProperty(Hm,"__esModule",{value:!0});var Ke=K(),uC={data:new Ke.Name("data"),valCxt:new Ke.Name("valCxt"),instancePath:new Ke.Name("instancePath"),parentData:new Ke.Name("parentData"),parentDataProperty:new Ke.Name("parentDataProperty"),rootData:new Ke.Name("rootData"),dynamicAnchors:new Ke.Name("dynamicAnchors"),vErrors:new Ke.Name("vErrors"),errors:new Ke.Name("errors"),this:new Ke.Name("this"),self:new Ke.Name("self"),scope:new Ke.Name("scope"),json:new Ke.Name("json"),jsonPos:new Ke.Name("jsonPos"),jsonLen:new Ke.Name("jsonLen"),jsonPart:new Ke.Name("jsonPart")};Hm.default=uC});var Ks=R(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.extendErrors=Je.resetErrorsCount=Je.reportExtraError=Je.reportError=Je.keyword$DataError=Je.keywordError=void 0;var se=K(),oc=oe(),rt=yr();Je.keywordError={message:({keyword:t})=>(0,se.str)`must pass "${t}" keyword validation`};Je.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,se.str)`"${t}" keyword must be ${e} ($data)`:(0,se.str)`"${t}" keyword is invalid ($data)`};function lC(t,e=Je.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=a0(t,e,r);n??(i||a)?s0(s,c):i0(o,(0,se._)`[${c}]`)}Je.reportError=lC;function dC(t,e=Je.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=a0(t,e,r);s0(o,a),s||i||i0(n,rt.default.vErrors)}Je.reportExtraError=dC;function pC(t,e){t.assign(rt.default.errors,e),t.if((0,se._)`${rt.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,se._)`${rt.default.vErrors}.length`,e),()=>t.assign(rt.default.vErrors,null)))}Je.resetErrorsCount=pC;function mC({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,rt.default.errors,a=>{t.const(i,(0,se._)`${rt.default.vErrors}[${a}]`),t.if((0,se._)`${i}.instancePath === undefined`,()=>t.assign((0,se._)`${i}.instancePath`,(0,se.strConcat)(rt.default.instancePath,s.errorPath))),t.assign((0,se._)`${i}.schemaPath`,(0,se.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,se._)`${i}.schema`,r),t.assign((0,se._)`${i}.data`,n))})}Je.extendErrors=mC;function s0(t,e){let r=t.const("err",e);t.if((0,se._)`${rt.default.vErrors} === null`,()=>t.assign(rt.default.vErrors,(0,se._)`[${r}]`),(0,se._)`${rt.default.vErrors}.push(${r})`),t.code((0,se._)`${rt.default.errors}++`)}function i0(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,se._)`new ${t.ValidationError}(${e})`):(r.assign((0,se._)`${n}.errors`,e),r.return(!1))}var jn={keyword:new se.Name("keyword"),schemaPath:new se.Name("schemaPath"),params:new se.Name("params"),propertyName:new se.Name("propertyName"),message:new se.Name("message"),schema:new se.Name("schema"),parentSchema:new se.Name("parentSchema")};function a0(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,se._)`{}`:fC(t,e,r)}function fC(t,e,r={}){let{gen:n,it:o}=t,s=[hC(o,r),gC(t,r)];return _C(t,e,s),n.object(...s)}function hC({errorPath:t},{instancePath:e}){let r=e?(0,se.str)`${t}${(0,oc.getErrorPath)(e,oc.Type.Str)}`:t;return[rt.default.instancePath,(0,se.strConcat)(rt.default.instancePath,r)]}function gC({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,se.str)`${e}/${t}`;return r&&(o=(0,se.str)`${o}${(0,oc.getErrorPath)(r,oc.Type.Str)}`),[jn.schemaPath,o]}function _C(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([jn.keyword,o],[jn.params,typeof e=="function"?e(t):e||(0,se._)`{}`]),c.messages&&n.push([jn.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([jn.schema,i],[jn.parentSchema,(0,se._)`${l}${d}`],[rt.default.data,s]),u&&n.push([jn.propertyName,u])}});var u0=R(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.boolOrEmptySchema=Eo.topBoolOrEmptySchema=void 0;var yC=Ks(),vC=K(),xC=yr(),bC={message:"boolean schema is false"};function SC(t){let{gen:e,schema:r,validateName:n}=t;r===!1?c0(t,!1):typeof r=="object"&&r.$async===!0?e.return(xC.default.data):(e.assign((0,vC._)`${n}.errors`,null),e.return(!0))}Eo.topBoolOrEmptySchema=SC;function kC(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),c0(t)):r.var(e,!0)}Eo.boolOrEmptySchema=kC;function c0(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,yC.reportError)(o,bC,void 0,e)}});var qm=R(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.getRules=To.isJSONType=void 0;var wC=["string","number","integer","boolean","null","object","array"],$C=new Set(wC);function EC(t){return typeof t=="string"&&$C.has(t)}To.isJSONType=EC;function TC(){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:{}}}To.getRules=TC});var Bm=R(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.shouldUseRule=Fr.shouldUseGroup=Fr.schemaHasRulesForType=void 0;function PC({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&l0(t,n)}Fr.schemaHasRulesForType=PC;function l0(t,e){return e.rules.some(r=>d0(t,r))}Fr.shouldUseGroup=l0;function d0(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Fr.shouldUseRule=d0});var Js=R(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.reportTypeError=Ye.checkDataTypes=Ye.checkDataType=Ye.coerceAndCheckDataType=Ye.getJSONTypes=Ye.getSchemaTypes=Ye.DataType=void 0;var RC=qm(),OC=Bm(),CC=Ks(),W=K(),p0=oe(),Po;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Po||(Ye.DataType=Po={}));function IC(t){let e=m0(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ye.getSchemaTypes=IC;function m0(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(RC.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ye.getJSONTypes=m0;function AC(t,e){let{gen:r,data:n,opts:o}=t,s=NC(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,OC.schemaHasRulesForType)(t,e[0]));if(i){let a=Wm(e,n,o.strictNumbers,Po.Wrong);r.if(a,()=>{s.length?zC(t,e,s):Gm(t)})}return i}Ye.coerceAndCheckDataType=AC;var f0=new Set(["string","number","integer","boolean","null"]);function NC(t,e){return e?t.filter(r=>f0.has(r)||e==="array"&&r==="array"):[]}function zC(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,W._)`typeof ${o}`),a=n.let("coerced",(0,W._)`undefined`);s.coerceTypes==="array"&&n.if((0,W._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,W._)`${o}[0]`).assign(i,(0,W._)`typeof ${o}`).if(Wm(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,W._)`${a} !== undefined`);for(let u of r)(f0.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Gm(t),n.endIf(),n.if((0,W._)`${a} !== undefined`,()=>{n.assign(o,a),jC(t,a)});function c(u){switch(u){case"string":n.elseIf((0,W._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,W._)`"" + ${o}`).elseIf((0,W._)`${o} === null`).assign(a,(0,W._)`""`);return;case"number":n.elseIf((0,W._)`${i} == "boolean" || ${o} === null +]`;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}var Xp,Mt,IO,Va=b(()=>{Dr();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:()=>(Xp===void 0&&(Xp=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Xp),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-_]*$/};IO=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789")});function Wa(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===$.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??Te(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===$.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=Ba(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===$.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===$.ZodBranded&&t.keyType._def.type._def.typeName===$.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=Ha(t.keyType._def,e);return{...r,propertyNames:o}}}return r}var Ga=b(()=>{fs();Ne();Va();qa();Et()});function $x(t,e){if(e.mapStrategy==="record")return Wa(t,e);let r=Z(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||Te(e),n=Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||Te(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}var em=b(()=>{Ne();Ga();Et()});function Ex(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}}var tm=b(()=>{});function Tx(t){return t.target==="openAi"?void 0:{not:Te({...t,currentPath:[...t.currentPath,"not"]})}}var rm=b(()=>{Et()});function Px(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var nm=b(()=>{});function Ox(t,e){if(e.target==="openApi3")return Rx(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Fs&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Fs[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 Rx(t,e)}var Fs,Rx,Ka=b(()=>{Ne();Fs={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};Rx=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>Z(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 Cx(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:Fs[t.innerType._def.typeName],nullable:!0}:{type:[Fs[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=Z(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=Z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}var om=b(()=>{Ne();Ka()});function Ix(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",Fp(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?re(r,"minimum",n.value,n.message,e):re(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),re(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?re(r,"maximum",n.value,n.message,e):re(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),re(r,"maximum",n.value,n.message,e));break;case"multipleOf":re(r,"multipleOf",n.value,n.message,e);break}return r}var sm=b(()=>{Dr()});function Ax(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=zO(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=Z(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=NO(t,e);return i!==void 0&&(n.additionalProperties=i),n}function NO(t,e){if(t.catchall._def.typeName!=="ZodNever")return Z(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 zO(t){try{return t.isOptional()}catch{return!0}}var im=b(()=>{Ne()});var Nx,am=b(()=>{Ne();Et();Nx=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return Z(t.innerType._def,e);let r=Z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Te(e)},r]}:Te(e)}});var zx,cm=b(()=>{Ne();zx=(t,e)=>{if(e.pipeStrategy==="input")return Z(t.in._def,e);if(e.pipeStrategy==="output")return Z(t.out._def,e);let r=Z(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=Z(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}}});function jx(t,e){return Z(t.type._def,e)}var um=b(()=>{Ne()});function Mx(t,e){let n={type:"array",uniqueItems:!0,items:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&re(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&re(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}var lm=b(()=>{Dr();Ne()});function Dx(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>Z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:Z(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>Z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}var dm=b(()=>{Ne()});function Lx(t){return{not:Te(t)}}var pm=b(()=>{Et()});function Fx(t){return Te(t)}var mm=b(()=>{Et()});var Zx,fm=b(()=>{Ne();Zx=(t,e)=>Z(t.innerType._def,e)});var Ux,hm=b(()=>{fs();Et();Zp();Up();Hp();qa();qp();Vp();Wp();Gp();Kp();Jp();Yp();em();tm();rm();nm();om();sm();im();am();cm();um();Ga();lm();Va();dm();pm();Ka();mm();fm();Ux=(t,e,r)=>{switch(e){case $.ZodString:return Ba(t,r);case $.ZodNumber:return Ix(t,r);case $.ZodObject:return Ax(t,r);case $.ZodBigInt:return gx(t,r);case $.ZodBoolean:return _x();case $.ZodDate:return Bp(t,r);case $.ZodUndefined:return Lx(r);case $.ZodNull:return Px(r);case $.ZodArray:return hx(t,r);case $.ZodUnion:case $.ZodDiscriminatedUnion:return Ox(t,r);case $.ZodIntersection:return Sx(t,r);case $.ZodTuple:return Dx(t,r);case $.ZodRecord:return Wa(t,r);case $.ZodLiteral:return kx(t,r);case $.ZodEnum:return bx(t);case $.ZodNativeEnum:return Ex(t);case $.ZodNullable:return Cx(t,r);case $.ZodOptional:return Nx(t,r);case $.ZodMap:return $x(t,r);case $.ZodSet:return Mx(t,r);case $.ZodLazy:return()=>t.getter()._def;case $.ZodPromise:return jx(t,r);case $.ZodNaN:case $.ZodNever:return Tx(r);case $.ZodEffects:return xx(t,r);case $.ZodAny:return Te(r);case $.ZodUnknown:return Fx(r);case $.ZodDefault:return vx(t,r);case $.ZodBranded:return Ha(t,r);case $.ZodReadonly:return Zx(t,r);case $.ZodCatch:return yx(t,r);case $.ZodPipeline:return zx(t,r);case $.ZodFunction:case $.ZodVoid:case $.ZodSymbol:return;default:return(n=>{})(e)}}});function Z(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==px)return a}if(n&&!r){let a=jO(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=Ux(t,t.typeName,e),i=typeof s=="function"?Z(s(),e):s;if(i&&MO(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var jO,MO,Ne=b(()=>{Fa();hm();Ua();Et();jO=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Za(e.currentPath,t.path)};case"none":case"seen":return t.path.lengthe.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),Te(e)):e.$refStrategy==="seen"?Te(e):void 0}},MO=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r)});var Hx=b(()=>{});var gm,_m=b(()=>{Ne();Lp();Et();gm=(t,e)=>{let r=fx(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:Z(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??Te(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=Z(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??Te(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}});var qx=b(()=>{Fa();Lp();Dr();Ua();Ne();Hx();Et();Zp();Up();Hp();qa();qp();Vp();Wp();Gp();Kp();Jp();Yp();em();tm();rm();nm();om();sm();im();am();cm();um();fm();Ga();lm();Va();dm();pm();Ka();mm();hm();_m();_m()});function DO(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function ym(t,e){return kt(t)?sp(t,{target:DO(e?.target),io:e?.pipeStrategy??"input"}):gm(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function vm(t){let r=zr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=va(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function xm(t,e){let r=Nr(t,e);if(!r.success)throw r.error;return r.data}var bm=b(()=>{cp();Ts();qx()});function Bx(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Vx(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];Bx(i)&&Bx(s)?r[o]={...i,...s}:r[o]=s}return r}var LO,Ja,Wx=b(()=>{Ts();Cn();lx();bm();LO=6e4,Ja=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(Ea,r=>{this._oncancel(r)}),this.setNotificationHandler(Pa,r=>{this._onprogress(r)}),this.setRequestHandler(Ta,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Ra,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new z(D.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Ca,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,m=new z(d.error.code,d.error.message,d.error.data);l(m)}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 z(D.InvalidParams,`Task not found: ${s}`);if(!Mr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Mr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[jr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Ia,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 z(D.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Na,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new z(D.InvalidParams,`Task not found: ${r.params.taskId}`);if(Mr(o.status))throw new z(D.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 z(D.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof z?o:new z(D.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),z.fromError(D.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),Cs(s)||Qv(s)?this._onresponse(s):$p(s)?this._onrequest(s,i):Xv(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=z.fromError(D.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?.[jr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:D.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=Kv(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,m)=>{if(i.signal.aborted)throw new z(D.ConnectionClosed,"Request was cancelled");let h={...m,relatedRequestId:e.id};s&&!h.relatedTask&&(h.relatedTask={taskId:s});let p=h.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,h)},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:D.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Cs(e))n(e);else{let i=new z(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(Cs(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),Cs(e))o(e);else{let i=z.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 z?i:new z(D.InternalError,String(i))}}return}let s;try{let i=await this.request(e,_o,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new z(D.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Mr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new z(D.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new z(D.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 z?i:new z(D.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=y=>{l(y)};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(y){d(y);return}n?.signal?.throwIfAborted();let m=this._requestMessageId++,h={...e,jsonrpc:"2.0",id:m};n?.onprogress&&(this._progressHandlers.set(m,n.onprogress),h.params={...e.params,_meta:{...e.params?._meta||{},progressToken:m}}),a&&(h.params={...h.params,task:a}),c&&(h.params={...h.params,_meta:{...h.params?._meta||{},[jr]:c}});let p=y=>{this._responseHandlers.delete(m),this._progressHandlers.delete(m),this._cleanupTimeout(m),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:m,reason:String(y)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(k=>this._onerror(new Error(`Failed to send cancellation: ${k}`)));let v=y instanceof z?y:new z(D.RequestTimeout,String(y));l(v)};this._responseHandlers.set(m,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return l(y);try{let v=Nr(r,y.result);v.success?u(v.data):l(v.error)}catch(v){l(v)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let f=n?.timeout??LO,g=()=>p(z.fromError(D.RequestTimeout,"Request timed out",{timeout:f}));this._setupTimeout(m,f,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let y=v=>{let k=this._responseHandlers.get(m);k?k(v):this._onerror(new Error(`Response handler missing for side-channeled request ${m}`))};this._requestResolvers.set(m,y),this._enqueueTaskMessage(_,{type:"request",message:h,timestamp:Date.now()}).catch(v=>{this._cleanupTimeout(m),l(v)})}else this._transport.send(h,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(y=>{this._cleanupTimeout(m),l(y)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Oa,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},Aa,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},rx,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||{},[jr]: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||{},[jr]: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||{},[jr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=vm(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=xm(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=vm(e);this._notificationHandlers.set(n,o=>{let s=xm(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"&&$p(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new z(D.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 z(D.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new z(D.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 z(D.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=js.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Mr(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 z(D.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Mr(a.status))throw new z(D.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=js.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Mr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}}});var Hs=R(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.regexpCode=ie.getEsmExportName=ie.getProperty=ie.safeStringify=ie.stringify=ie.strConcat=ie.addCodeArg=ie.str=ie._=ie.nil=ie._Code=ie.Name=ie.IDENTIFIER=ie._CodeOrName=void 0;var Zs=class{};ie._CodeOrName=Zs;ie.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var In=class extends Zs{constructor(e){if(super(),!ie.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}}};ie.Name=In;var Tt=class extends Zs{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 In&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ie._Code=Tt;ie.nil=new Tt("");function Gx(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.ValueScope=lt.ValueScopeName=lt.Scope=lt.varKinds=lt.UsedValueState=void 0;var ut=Hs(),wm=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ya;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Ya||(lt.UsedValueState=Ya={}));lt.varKinds={const:new ut.Name("const"),let:new ut.Name("let"),var:new ut.Name("var")};var Xa=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof ut.Name?e:this.name(e)}name(e){return new ut.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}}};lt.Scope=Xa;var Qa=class extends ut.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,ut._)`.${new ut.Name(r)}[${n}]`}};lt.ValueScopeName=Qa;var GO=(0,ut._)`\n`,$m=class extends Xa{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?GO:ut.nil}}get(){return this._scope}name(e){return new Qa(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,ut._)`${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=ut.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,Ya.Started);let l=r(u);if(l){let d=this.opts.es5?lt.varKinds.var:lt.varKinds.const;s=(0,ut._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,ut._)`${s}${l}${this.opts._n}`;else throw new wm(u);c.set(u,Ya.Completed)})}return s}};lt.ValueScope=$m});var K=R(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.or=Y.and=Y.not=Y.CodeGen=Y.operators=Y.varKinds=Y.ValueScopeName=Y.ValueScope=Y.Scope=Y.Name=Y.regexpCode=Y.stringify=Y.getProperty=Y.nil=Y.strConcat=Y.str=Y._=void 0;var ne=Hs(),Lt=Em(),Lr=Hs();Object.defineProperty(Y,"_",{enumerable:!0,get:function(){return Lr._}});Object.defineProperty(Y,"str",{enumerable:!0,get:function(){return Lr.str}});Object.defineProperty(Y,"strConcat",{enumerable:!0,get:function(){return Lr.strConcat}});Object.defineProperty(Y,"nil",{enumerable:!0,get:function(){return Lr.nil}});Object.defineProperty(Y,"getProperty",{enumerable:!0,get:function(){return Lr.getProperty}});Object.defineProperty(Y,"stringify",{enumerable:!0,get:function(){return Lr.stringify}});Object.defineProperty(Y,"regexpCode",{enumerable:!0,get:function(){return Lr.regexpCode}});Object.defineProperty(Y,"Name",{enumerable:!0,get:function(){return Lr.Name}});var nc=Em();Object.defineProperty(Y,"Scope",{enumerable:!0,get:function(){return nc.Scope}});Object.defineProperty(Y,"ValueScope",{enumerable:!0,get:function(){return nc.ValueScope}});Object.defineProperty(Y,"ValueScopeName",{enumerable:!0,get:function(){return nc.ValueScopeName}});Object.defineProperty(Y,"varKinds",{enumerable:!0,get:function(){return nc.varKinds}});Y.operators={GT:new ne._Code(">"),GTE:new ne._Code(">="),LT:new ne._Code("<"),LTE:new ne._Code("<="),EQ:new ne._Code("==="),NEQ:new ne._Code("!=="),NOT:new ne._Code("!"),OR:new ne._Code("||"),AND:new ne._Code("&&"),ADD:new ne._Code("+")};var gr=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Tm=class extends gr{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Lt.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=$o(this.rhs,e,r)),this}get names(){return this.rhs instanceof ne._CodeOrName?this.rhs.names:{}}},ec=class extends gr{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 ne.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=$o(this.rhs,e,r),this}get names(){let e=this.lhs instanceof ne.Name?{}:{...this.lhs.names};return rc(e,this.rhs)}},Pm=class extends ec{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Rm=class extends gr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Om=class extends gr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Cm=class extends gr{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Im=class extends gr{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=$o(this.code,e,r),this}get names(){return this.code instanceof ne._CodeOrName?this.code.names:{}}},qs=class extends gr{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)||(KO(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>zn(e,r.names),{})}},_r=class extends qs{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Am=class extends qs{},wo=class extends _r{};wo.kind="else";var An=class t extends _r{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 wo(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Jx(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=$o(this.condition,e,r),this}get names(){let e=super.names;return rc(e,this.condition),this.else&&zn(e,this.else.names),e}};An.kind="if";var Nn=class extends _r{};Nn.kind="for";var Nm=class extends Nn{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=$o(this.iteration,e,r),this}get names(){return zn(super.names,this.iteration.names)}},zm=class extends Nn{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?Lt.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=rc(super.names,this.from);return rc(e,this.to)}},tc=class extends Nn{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=$o(this.iterable,e,r),this}get names(){return zn(super.names,this.iterable.names)}},Bs=class extends _r{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)}};Bs.kind="func";var Vs=class extends qs{render(e){return"return "+super.render(e)}};Vs.kind="return";var jm=class extends _r{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&&zn(e,this.catch.names),this.finally&&zn(e,this.finally.names),e}},Ws=class extends _r{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ws.kind="catch";var Gs=class extends _r{render(e){return"finally"+super.render(e)}};Gs.kind="finally";var Mm=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` +`:""},this._extScope=e,this._scope=new Lt.Scope({parent:e}),this._nodes=[new Am]}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 Tm(e,s,n)),s}const(e,r,n){return this._def(Lt.varKinds.const,e,r,n)}let(e,r,n){return this._def(Lt.varKinds.let,e,r,n)}var(e,r,n){return this._def(Lt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new ec(e,r,n))}add(e,r){return this._leafNode(new Pm(e,Y.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==ne.nil&&this._leafNode(new Im(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,ne.addCodeArg)(r,o));return r.push("}"),new ne._Code(r)}if(e,r,n){if(this._blockNode(new An(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 An(e))}else(){return this._elseNode(new wo)}endIf(){return this._endBlockNode(An,wo)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Nm(e),r)}forRange(e,r,n,o,s=this.opts.es5?Lt.varKinds.var:Lt.varKinds.let){let i=this._scope.toName(e);return this._for(new zm(s,i,r,n),()=>o(i))}forOf(e,r,n,o=Lt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof ne.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,ne._)`${i}.length`,a=>{this.var(s,(0,ne._)`${i}[${a}]`),n(s)})}return this._for(new tc("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?Lt.varKinds.var:Lt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,ne._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new tc("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Nn)}label(e){return this._leafNode(new Rm(e))}break(e){return this._leafNode(new Om(e))}return(e){let r=new Vs;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Vs)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new jm;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Ws(s),r(s)}return n&&(this._currNode=o.finally=new Gs,this.code(n)),this._endBlockNode(Ws,Gs)}throw(e){return this._leafNode(new Cm(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=ne.nil,n,o){return this._blockNode(new Bs(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Bs)}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 An))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}};Y.CodeGen=Mm;function zn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function rc(t,e){return e instanceof ne._CodeOrName?zn(t,e.names):t}function $o(t,e,r){if(t instanceof ne.Name)return n(t);if(!o(t))return t;return new ne._Code(t._items.reduce((s,i)=>(i instanceof ne.Name&&(i=n(i)),i instanceof ne._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 ne._Code&&s._items.some(i=>i instanceof ne.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function KO(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Jx(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,ne._)`!${Dm(t)}`}Y.not=Jx;var JO=Yx(Y.operators.AND);function YO(...t){return t.reduce(JO)}Y.and=YO;var XO=Yx(Y.operators.OR);function QO(...t){return t.reduce(XO)}Y.or=QO;function Yx(t){return(e,r)=>e===ne.nil?r:r===ne.nil?e:(0,ne._)`${Dm(e)} ${t} ${Dm(r)}`}function Dm(t){return t instanceof ne.Name?t:(0,ne._)`(${t})`}});var oe=R(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.checkStrictMode=X.getErrorPath=X.Type=X.useFunc=X.setEvaluated=X.evaluatedPropsToName=X.mergeEvaluated=X.eachItem=X.unescapeJsonPointer=X.escapeJsonPointer=X.escapeFragment=X.unescapeFragment=X.schemaRefOrVal=X.schemaHasRulesButRef=X.schemaHasRules=X.checkUnknownRules=X.alwaysValidSchema=X.toHash=void 0;var fe=K(),eC=Hs();function tC(t){let e={};for(let r of t)e[r]=!0;return e}X.toHash=tC;function rC(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(e0(t,e),!t0(e,t.self.RULES.all))}X.alwaysValidSchema=rC;function e0(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]||o0(t,`unknown keyword: "${s}"`)}X.checkUnknownRules=e0;function t0(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}X.schemaHasRules=t0;function nC(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}X.schemaHasRulesButRef=nC;function oC({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,fe._)`${r}`}return(0,fe._)`${t}${e}${(0,fe.getProperty)(n)}`}X.schemaRefOrVal=oC;function sC(t){return r0(decodeURIComponent(t))}X.unescapeFragment=sC;function iC(t){return encodeURIComponent(Fm(t))}X.escapeFragment=iC;function Fm(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}X.escapeJsonPointer=Fm;function r0(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}X.unescapeJsonPointer=r0;function aC(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}X.eachItem=aC;function Xx({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof fe.Name?(s instanceof fe.Name?t(o,s,i):e(o,s,i),i):s instanceof fe.Name?(e(o,i,s),s):r(s,i);return a===fe.Name&&!(c instanceof fe.Name)?n(o,c):c}}X.mergeEvaluated={props:Xx({mergeNames:(t,e,r)=>t.if((0,fe._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,fe._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,fe._)`${r} || {}`).code((0,fe._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,fe._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,fe._)`${r} || {}`),Zm(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:n0}),items:Xx({mergeNames:(t,e,r)=>t.if((0,fe._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,fe._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,fe._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,fe._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function n0(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,fe._)`{}`);return e!==void 0&&Zm(t,r,e),r}X.evaluatedPropsToName=n0;function Zm(t,e,r){Object.keys(r).forEach(n=>t.assign((0,fe._)`${e}${(0,fe.getProperty)(n)}`,!0))}X.setEvaluated=Zm;var Qx={};function cC(t,e){return t.scopeValue("func",{ref:e,code:Qx[e.code]||(Qx[e.code]=new eC._Code(e.code))})}X.useFunc=cC;var Lm;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Lm||(X.Type=Lm={}));function uC(t,e,r){if(t instanceof fe.Name){let n=e===Lm.Num;return r?n?(0,fe._)`"[" + ${t} + "]"`:(0,fe._)`"['" + ${t} + "']"`:n?(0,fe._)`"/" + ${t}`:(0,fe._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,fe.getProperty)(t).toString():"/"+Fm(t)}X.getErrorPath=uC;function o0(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}X.checkStrictMode=o0});var yr=R(Um=>{"use strict";Object.defineProperty(Um,"__esModule",{value:!0});var Ke=K(),lC={data:new Ke.Name("data"),valCxt:new Ke.Name("valCxt"),instancePath:new Ke.Name("instancePath"),parentData:new Ke.Name("parentData"),parentDataProperty:new Ke.Name("parentDataProperty"),rootData:new Ke.Name("rootData"),dynamicAnchors:new Ke.Name("dynamicAnchors"),vErrors:new Ke.Name("vErrors"),errors:new Ke.Name("errors"),this:new Ke.Name("this"),self:new Ke.Name("self"),scope:new Ke.Name("scope"),json:new Ke.Name("json"),jsonPos:new Ke.Name("jsonPos"),jsonLen:new Ke.Name("jsonLen"),jsonPart:new Ke.Name("jsonPart")};Um.default=lC});var Ks=R(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.extendErrors=Je.resetErrorsCount=Je.reportExtraError=Je.reportError=Je.keyword$DataError=Je.keywordError=void 0;var se=K(),oc=oe(),rt=yr();Je.keywordError={message:({keyword:t})=>(0,se.str)`must pass "${t}" keyword validation`};Je.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,se.str)`"${t}" keyword must be ${e} ($data)`:(0,se.str)`"${t}" keyword is invalid ($data)`};function dC(t,e=Je.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=a0(t,e,r);n??(i||a)?s0(s,c):i0(o,(0,se._)`[${c}]`)}Je.reportError=dC;function pC(t,e=Je.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=a0(t,e,r);s0(o,a),s||i||i0(n,rt.default.vErrors)}Je.reportExtraError=pC;function mC(t,e){t.assign(rt.default.errors,e),t.if((0,se._)`${rt.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,se._)`${rt.default.vErrors}.length`,e),()=>t.assign(rt.default.vErrors,null)))}Je.resetErrorsCount=mC;function fC({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,rt.default.errors,a=>{t.const(i,(0,se._)`${rt.default.vErrors}[${a}]`),t.if((0,se._)`${i}.instancePath === undefined`,()=>t.assign((0,se._)`${i}.instancePath`,(0,se.strConcat)(rt.default.instancePath,s.errorPath))),t.assign((0,se._)`${i}.schemaPath`,(0,se.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,se._)`${i}.schema`,r),t.assign((0,se._)`${i}.data`,n))})}Je.extendErrors=fC;function s0(t,e){let r=t.const("err",e);t.if((0,se._)`${rt.default.vErrors} === null`,()=>t.assign(rt.default.vErrors,(0,se._)`[${r}]`),(0,se._)`${rt.default.vErrors}.push(${r})`),t.code((0,se._)`${rt.default.errors}++`)}function i0(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,se._)`new ${t.ValidationError}(${e})`):(r.assign((0,se._)`${n}.errors`,e),r.return(!1))}var jn={keyword:new se.Name("keyword"),schemaPath:new se.Name("schemaPath"),params:new se.Name("params"),propertyName:new se.Name("propertyName"),message:new se.Name("message"),schema:new se.Name("schema"),parentSchema:new se.Name("parentSchema")};function a0(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,se._)`{}`:hC(t,e,r)}function hC(t,e,r={}){let{gen:n,it:o}=t,s=[gC(o,r),_C(t,r)];return yC(t,e,s),n.object(...s)}function gC({errorPath:t},{instancePath:e}){let r=e?(0,se.str)`${t}${(0,oc.getErrorPath)(e,oc.Type.Str)}`:t;return[rt.default.instancePath,(0,se.strConcat)(rt.default.instancePath,r)]}function _C({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,se.str)`${e}/${t}`;return r&&(o=(0,se.str)`${o}${(0,oc.getErrorPath)(r,oc.Type.Str)}`),[jn.schemaPath,o]}function yC(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([jn.keyword,o],[jn.params,typeof e=="function"?e(t):e||(0,se._)`{}`]),c.messages&&n.push([jn.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([jn.schema,i],[jn.parentSchema,(0,se._)`${l}${d}`],[rt.default.data,s]),u&&n.push([jn.propertyName,u])}});var u0=R(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.boolOrEmptySchema=Eo.topBoolOrEmptySchema=void 0;var vC=Ks(),xC=K(),bC=yr(),SC={message:"boolean schema is false"};function kC(t){let{gen:e,schema:r,validateName:n}=t;r===!1?c0(t,!1):typeof r=="object"&&r.$async===!0?e.return(bC.default.data):(e.assign((0,xC._)`${n}.errors`,null),e.return(!0))}Eo.topBoolOrEmptySchema=kC;function wC(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),c0(t)):r.var(e,!0)}Eo.boolOrEmptySchema=wC;function c0(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,vC.reportError)(o,SC,void 0,e)}});var Hm=R(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.getRules=To.isJSONType=void 0;var $C=["string","number","integer","boolean","null","object","array"],EC=new Set($C);function TC(t){return typeof t=="string"&&EC.has(t)}To.isJSONType=TC;function PC(){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:{}}}To.getRules=PC});var qm=R(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.shouldUseRule=Fr.shouldUseGroup=Fr.schemaHasRulesForType=void 0;function RC({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&l0(t,n)}Fr.schemaHasRulesForType=RC;function l0(t,e){return e.rules.some(r=>d0(t,r))}Fr.shouldUseGroup=l0;function d0(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Fr.shouldUseRule=d0});var Js=R(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.reportTypeError=Ye.checkDataTypes=Ye.checkDataType=Ye.coerceAndCheckDataType=Ye.getJSONTypes=Ye.getSchemaTypes=Ye.DataType=void 0;var OC=Hm(),CC=qm(),IC=Ks(),W=K(),p0=oe(),Po;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Po||(Ye.DataType=Po={}));function AC(t){let e=m0(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ye.getSchemaTypes=AC;function m0(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(OC.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ye.getJSONTypes=m0;function NC(t,e){let{gen:r,data:n,opts:o}=t,s=zC(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,CC.schemaHasRulesForType)(t,e[0]));if(i){let a=Vm(e,n,o.strictNumbers,Po.Wrong);r.if(a,()=>{s.length?jC(t,e,s):Wm(t)})}return i}Ye.coerceAndCheckDataType=NC;var f0=new Set(["string","number","integer","boolean","null"]);function zC(t,e){return e?t.filter(r=>f0.has(r)||e==="array"&&r==="array"):[]}function jC(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,W._)`typeof ${o}`),a=n.let("coerced",(0,W._)`undefined`);s.coerceTypes==="array"&&n.if((0,W._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,W._)`${o}[0]`).assign(i,(0,W._)`typeof ${o}`).if(Vm(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,W._)`${a} !== undefined`);for(let u of r)(f0.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Wm(t),n.endIf(),n.if((0,W._)`${a} !== undefined`,()=>{n.assign(o,a),MC(t,a)});function c(u){switch(u){case"string":n.elseIf((0,W._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,W._)`"" + ${o}`).elseIf((0,W._)`${o} === null`).assign(a,(0,W._)`""`);return;case"number":n.elseIf((0,W._)`${i} == "boolean" || ${o} === null || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,W._)`+${o}`);return;case"integer":n.elseIf((0,W._)`${i} === "boolean" || ${o} === null || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,W._)`+${o}`);return;case"boolean":n.elseIf((0,W._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,W._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,W._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,W._)`${i} === "string" || ${i} === "number" - || ${i} === "boolean" || ${o} === null`).assign(a,(0,W._)`[${o}]`)}}}function jC({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,W._)`${e} !== undefined`,()=>t.assign((0,W._)`${e}[${r}]`,n))}function Vm(t,e,r,n=Po.Correct){let o=n===Po.Correct?W.operators.EQ:W.operators.NEQ,s;switch(t){case"null":return(0,W._)`${e} ${o} null`;case"array":s=(0,W._)`Array.isArray(${e})`;break;case"object":s=(0,W._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,W._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,W._)`typeof ${e} ${o} ${t}`}return n===Po.Correct?s:(0,W.not)(s);function i(a=W.nil){return(0,W.and)((0,W._)`typeof ${e} == "number"`,a,r?(0,W._)`isFinite(${e})`:W.nil)}}Ye.checkDataType=Vm;function Wm(t,e,r,n){if(t.length===1)return Vm(t[0],e,r,n);let o,s=(0,p0.toHash)(t);if(s.array&&s.object){let i=(0,W._)`typeof ${e} != "object"`;o=s.null?i:(0,W._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=W.nil;s.number&&delete s.integer;for(let i in s)o=(0,W.and)(o,Vm(i,e,r,n));return o}Ye.checkDataTypes=Wm;var MC={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,W._)`{type: ${t}}`:(0,W._)`{type: ${e}}`};function Gm(t){let e=DC(t);(0,CC.reportError)(e,MC)}Ye.reportTypeError=Gm;function DC(t){let{gen:e,data:r,schema:n}=t,o=(0,p0.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var g0=R(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.assignDefaults=void 0;var Ro=K(),LC=oe();function FC(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)h0(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>h0(t,s,o.default))}sc.assignDefaults=FC;function h0(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Ro._)`${s}${(0,Ro.getProperty)(e)}`;if(o){(0,LC.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Ro._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Ro._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Ro._)`${a} = ${(0,Ro.stringify)(r)}`)}});var Pt=R(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.validateUnion=le.validateArray=le.usePattern=le.callValidateCode=le.schemaProperties=le.allSchemaProperties=le.noPropertyInData=le.propertyInData=le.isOwnProperty=le.hasPropFunc=le.reportMissingProp=le.checkMissingProp=le.checkReportMissingProp=void 0;var ve=K(),Km=oe(),Zr=yr(),ZC=oe();function UC(t,e){let{gen:r,data:n,it:o}=t;r.if(Ym(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ve._)`${e}`},!0),t.error()})}le.checkReportMissingProp=UC;function HC({gen:t,data:e,it:{opts:r}},n,o){return(0,ve.or)(...n.map(s=>(0,ve.and)(Ym(t,e,s,r.ownProperties),(0,ve._)`${o} = ${s}`)))}le.checkMissingProp=HC;function qC(t,e){t.setParams({missingProperty:e},!0),t.error()}le.reportMissingProp=qC;function _0(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ve._)`Object.prototype.hasOwnProperty`})}le.hasPropFunc=_0;function Jm(t,e,r){return(0,ve._)`${_0(t)}.call(${e}, ${r})`}le.isOwnProperty=Jm;function BC(t,e,r,n){let o=(0,ve._)`${e}${(0,ve.getProperty)(r)} !== undefined`;return n?(0,ve._)`${o} && ${Jm(t,e,r)}`:o}le.propertyInData=BC;function Ym(t,e,r,n){let o=(0,ve._)`${e}${(0,ve.getProperty)(r)} === undefined`;return n?(0,ve.or)(o,(0,ve.not)(Jm(t,e,r))):o}le.noPropertyInData=Ym;function y0(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}le.allSchemaProperties=y0;function VC(t,e){return y0(e).filter(r=>!(0,Km.alwaysValidSchema)(t,e[r]))}le.schemaProperties=VC;function WC({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,ve._)`${t}, ${e}, ${n}${o}`:e,d=[[Zr.default.instancePath,(0,ve.strConcat)(Zr.default.instancePath,s)],[Zr.default.parentData,i.parentData],[Zr.default.parentDataProperty,i.parentDataProperty],[Zr.default.rootData,Zr.default.rootData]];i.opts.dynamicRef&&d.push([Zr.default.dynamicAnchors,Zr.default.dynamicAnchors]);let m=(0,ve._)`${l}, ${r.object(...d)}`;return c!==ve.nil?(0,ve._)`${a}.call(${c}, ${m})`:(0,ve._)`${a}(${m})`}le.callValidateCode=WC;var GC=(0,ve._)`new RegExp`;function KC({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,ve._)`${o.code==="new RegExp"?GC:(0,ZC.useFunc)(t,o)}(${r}, ${n})`})}le.usePattern=KC;function JC(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,ve._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Km.Type.Num},s),e.if((0,ve.not)(s),a)})}}le.validateArray=JC;function YC(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,Km.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,ve._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ve.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}le.validateUnion=YC});var b0=R(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.validateKeywordUsage=er.validSchemaType=er.funcKeywordCode=er.macroKeywordCode=void 0;var nt=K(),Mn=yr(),XC=Pt(),QC=Ks();function eI(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=x0(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:nt.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}er.macroKeywordCode=eI;function tI(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;nI(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=x0(n,o,u),d=n.let("valid");t.block$data(d,m),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function m(){if(e.errors===!1)f(),e.modifying&&v0(t),g(()=>t.error());else{let _=e.async?h():p();e.modifying&&v0(t),g(()=>rI(t,_))}}function h(){let _=n.let("ruleErrs",null);return n.try(()=>f((0,nt._)`await `),y=>n.assign(d,!1).if((0,nt._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,nt._)`${y}.errors`),()=>n.throw(y))),_}function p(){let _=(0,nt._)`${l}.errors`;return n.assign(_,null),f(nt.nil),_}function f(_=e.async?(0,nt._)`await `:nt.nil){let y=c.opts.passContext?Mn.default.this:Mn.default.self,v=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,nt._)`${_}${(0,XC.callValidateCode)(t,l,y,v)}`,e.modifying)}function g(_){var y;n.if((0,nt.not)((y=e.valid)!==null&&y!==void 0?y:d),_)}}er.funcKeywordCode=tI;function v0(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,nt._)`${n.parentData}[${n.parentDataProperty}]`))}function rI(t,e){let{gen:r}=t;r.if((0,nt._)`Array.isArray(${e})`,()=>{r.assign(Mn.default.vErrors,(0,nt._)`${Mn.default.vErrors} === null ? ${e} : ${Mn.default.vErrors}.concat(${e})`).assign(Mn.default.errors,(0,nt._)`${Mn.default.vErrors}.length`),(0,QC.extendErrors)(t)},()=>t.error())}function nI({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function x0(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,nt.stringify)(r)})}function oI(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")}er.validSchemaType=oI;function sI({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)}}er.validateKeywordUsage=sI});var k0=R(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.extendSubschemaMode=Ur.extendSubschemaData=Ur.getSubschema=void 0;var tr=K(),S0=oe();function iI(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,tr._)`${t.schemaPath}${(0,tr.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,tr._)`${t.schemaPath}${(0,tr.getProperty)(e)}${(0,tr.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,S0.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=iI;function aI(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,m=a.let("data",(0,tr._)`${e.data}${(0,tr.getProperty)(r)}`,!0);c(m),t.errorPath=(0,tr.str)`${u}${(0,S0.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,tr._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof tr.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=aI;function cI(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=cI});var Xm=R((FH,w0)=>{"use strict";w0.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 E0=R((ZH,$0)=>{"use strict";var Hr=$0.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(){};ic(e,n,o,t,"",t)};Hr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Hr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Hr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Hr.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 ic(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 Hr.arrayKeywords)for(var m=0;m{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.getSchemaRefs=dt.resolveUrl=dt.normalizeId=dt._getFullPath=dt.getFullPath=dt.inlineRef=void 0;var lI=oe(),dI=Xm(),pI=E0(),mI=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function fI(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Qm(t):e?T0(t)<=e:!1}dt.inlineRef=fI;var hI=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Qm(t){for(let e in t){if(hI.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Qm)||typeof r=="object"&&Qm(r))return!0}return!1}function T0(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!mI.has(r)&&(typeof t[r]=="object"&&(0,lI.eachItem)(t[r],n=>e+=T0(n)),e===1/0))return 1/0}return e}function P0(t,e="",r){r!==!1&&(e=Oo(e));let n=t.parse(e);return R0(t,n)}dt.getFullPath=P0;function R0(t,e){return t.serialize(e).split("#")[0]+"#"}dt._getFullPath=R0;var gI=/#\/?$/;function Oo(t){return t?t.replace(gI,""):""}dt.normalizeId=Oo;function _I(t,e,r){return r=Oo(r),t.resolve(e,r)}dt.resolveUrl=_I;var yI=/^[a-z_][-a-z0-9._]*$/i;function vI(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Oo(t[r]||e),s={"":o},i=P0(n,o,!1),a={},c=new Set;return pI(t,{allKeys:!0},(d,m,h,p)=>{if(p===void 0)return;let f=i+m,g=s[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),s[m]=g;function _(v){let k=this.opts.uriResolver.resolve;if(v=Oo(g?k(g,v):v),c.has(v))throw l(v);c.add(v);let T=this.refs[v];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?u(d,T.schema,v):v!==Oo(f)&&(v[0]==="#"?(u(d,a[v],v),a[v]=d):this.refs[v]=f),v}function y(v){if(typeof v=="string"){if(!yI.test(v))throw new Error(`invalid anchor "${v}"`);_.call(this,`#${v}`)}}}),a;function u(d,m,h){if(m!==void 0&&!dI(d,m))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}dt.getSchemaRefs=vI});var ei=R(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.getData=qr.KeywordCxt=qr.validateFunctionCode=void 0;var N0=u0(),O0=Js(),tf=Bm(),ac=Js(),xI=g0(),Qs=b0(),ef=k0(),M=K(),q=yr(),bI=Ys(),vr=oe(),Xs=Ks();function SI(t){if(M0(t)&&(D0(t),j0(t))){$I(t);return}z0(t,()=>(0,N0.topBoolOrEmptySchema)(t))}qr.validateFunctionCode=SI;function z0({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,M._)`${q.default.data}, ${q.default.valCxt}`,n.$async,()=>{t.code((0,M._)`"use strict"; ${C0(r,o)}`),wI(t,o),t.code(s)}):t.func(e,(0,M._)`${q.default.data}, ${kI(o)}`,n.$async,()=>t.code(C0(r,o)).code(s))}function kI(t){return(0,M._)`{${q.default.instancePath}="", ${q.default.parentData}, ${q.default.parentDataProperty}, ${q.default.rootData}=${q.default.data}${t.dynamicRef?(0,M._)`, ${q.default.dynamicAnchors}={}`:M.nil}}={}`}function wI(t,e){t.if(q.default.valCxt,()=>{t.var(q.default.instancePath,(0,M._)`${q.default.valCxt}.${q.default.instancePath}`),t.var(q.default.parentData,(0,M._)`${q.default.valCxt}.${q.default.parentData}`),t.var(q.default.parentDataProperty,(0,M._)`${q.default.valCxt}.${q.default.parentDataProperty}`),t.var(q.default.rootData,(0,M._)`${q.default.valCxt}.${q.default.rootData}`),e.dynamicRef&&t.var(q.default.dynamicAnchors,(0,M._)`${q.default.valCxt}.${q.default.dynamicAnchors}`)},()=>{t.var(q.default.instancePath,(0,M._)`""`),t.var(q.default.parentData,(0,M._)`undefined`),t.var(q.default.parentDataProperty,(0,M._)`undefined`),t.var(q.default.rootData,q.default.data),e.dynamicRef&&t.var(q.default.dynamicAnchors,(0,M._)`{}`)})}function $I(t){let{schema:e,opts:r,gen:n}=t;z0(t,()=>{r.$comment&&e.$comment&&F0(t),OI(t),n.let(q.default.vErrors,null),n.let(q.default.errors,0),r.unevaluated&&EI(t),L0(t),AI(t)})}function EI(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,M._)`${r}.evaluated`),e.if((0,M._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,M._)`${t.evaluated}.props`,(0,M._)`undefined`)),e.if((0,M._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,M._)`${t.evaluated}.items`,(0,M._)`undefined`))}function C0(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,M._)`/*# sourceURL=${r} */`:M.nil}function TI(t,e){if(M0(t)&&(D0(t),j0(t))){PI(t,e);return}(0,N0.boolOrEmptySchema)(t,e)}function j0({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 M0(t){return typeof t.schema!="boolean"}function PI(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&F0(t),CI(t),II(t);let s=n.const("_errs",q.default.errors);L0(t,s),n.var(e,(0,M._)`${s} === ${q.default.errors}`)}function D0(t){(0,vr.checkUnknownRules)(t),RI(t)}function L0(t,e){if(t.opts.jtd)return I0(t,[],!1,e);let r=(0,O0.getSchemaTypes)(t.schema),n=(0,O0.coerceAndCheckDataType)(t,r);I0(t,r,!n,e)}function RI(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,vr.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function OI(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,vr.checkStrictMode)(t,"default is ignored in the schema root")}function CI(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,bI.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function II(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function F0({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,M._)`${q.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,M.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,M._)`${q.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function AI(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,M._)`${q.default.errors} === 0`,()=>e.return(q.default.data),()=>e.throw((0,M._)`new ${o}(${q.default.vErrors})`)):(e.assign((0,M._)`${n}.errors`,q.default.vErrors),s.unevaluated&&NI(t),e.return((0,M._)`${q.default.errors} === 0`))}function NI({gen:t,evaluated:e,props:r,items:n}){r instanceof M.Name&&t.assign((0,M._)`${e}.props`,r),n instanceof M.Name&&t.assign((0,M._)`${e}.items`,n)}function I0(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,vr.schemaHasRulesButRef)(s,l))){o.block(()=>U0(t,"$ref",l.all.$ref.definition));return}c.jtd||zI(t,e),o.block(()=>{for(let m of l.rules)d(m);d(l.post)});function d(m){(0,tf.shouldUseGroup)(s,m)&&(m.type?(o.if((0,ac.checkDataType)(m.type,i,c.strictNumbers)),A0(t,m),e.length===1&&e[0]===m.type&&r&&(o.else(),(0,ac.reportTypeError)(t)),o.endIf()):A0(t,m),a||o.if((0,M._)`${q.default.errors} === ${n||0}`))}}function A0(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,xI.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,tf.shouldUseRule)(n,s)&&U0(t,s.keyword,s.definition,e.type)})}function zI(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(jI(t,e),t.opts.allowUnionTypes||MI(t,e),DI(t,t.dataTypes))}function jI(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Z0(t.dataTypes,r)||rf(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),FI(t,e)}}function MI(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&rf(t,"use allowUnionTypes to allow union type keyword")}function DI(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,tf.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>LI(e,i))&&rf(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function LI(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Z0(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function FI(t,e){let r=[];for(let n of t.dataTypes)Z0(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function rf(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,vr.checkStrictMode)(t,e,t.opts.strictTypes)}var cc=class{constructor(e,r,n){if((0,Qs.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,vr.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",H0(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Qs.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",q.default.errors))}result(e,r,n){this.failResult((0,M.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,M.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,M._)`${r} !== undefined && (${(0,M.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?Xs.reportExtraError:Xs.reportError)(this,this.def.error,r)}$dataError(){(0,Xs.reportError)(this,this.def.$dataError||Xs.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Xs.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=M.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=M.nil,r=M.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,M.or)((0,M._)`${o} === undefined`,r)),e!==M.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==M.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,M.or)(i(),a());function i(){if(n.length){if(!(r instanceof M.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,M._)`${(0,ac.checkDataTypes)(c,r,s.opts.strictNumbers,ac.DataType.Wrong)}`}return M.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,M._)`!${c}(${r})`}return M.nil}}subschema(e,r){let n=(0,ef.getSubschema)(this.it,e);(0,ef.extendSubschemaData)(n,this.it,e),(0,ef.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return TI(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=vr.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=vr.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,M.Name)),!0}};qr.KeywordCxt=cc;function U0(t,e,r,n){let o=new cc(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Qs.funcKeywordCode)(o,r):"macro"in r?(0,Qs.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Qs.funcKeywordCode)(o,r)}var ZI=/^\/(?:[^~]|~0|~1)*$/,UI=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function H0(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return q.default.rootData;if(t[0]==="/"){if(!ZI.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=q.default.rootData}else{let u=UI.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,M._)`${s}${(0,M.getProperty)((0,vr.unescapeJsonPointer)(u))}`,i=(0,M._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}qr.getData=H0});var uc=R(of=>{"use strict";Object.defineProperty(of,"__esModule",{value:!0});var nf=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};of.default=nf});var ti=R(cf=>{"use strict";Object.defineProperty(cf,"__esModule",{value:!0});var sf=Ys(),af=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,sf.resolveUrl)(e,r,n),this.missingSchema=(0,sf.normalizeId)((0,sf.getFullPath)(e,this.missingRef))}};cf.default=af});var dc=R(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.resolveSchema=Rt.getCompilingSchema=Rt.resolveRef=Rt.compileSchema=Rt.SchemaEnv=void 0;var Ft=K(),HI=uc(),Dn=yr(),Zt=Ys(),q0=oe(),qI=ei(),Co=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,Zt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Rt.SchemaEnv=Co;function lf(t){let e=B0.call(this,t);if(e)return e;let r=(0,Zt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Ft.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:HI.default,code:(0,Ft._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Dn.default.data,parentData:Dn.default.parentData,parentDataProperty:Dn.default.parentDataProperty,dataNames:[Dn.default.data],dataPathArr:[Ft.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Ft.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Ft.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ft._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,qI.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Dn.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let h=new Function(`${Dn.default.self}`,`${Dn.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=t.schema,h.schemaEnv=t,t.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:f}=u;h.evaluated={props:p instanceof Ft.Name?void 0:p,items:f instanceof Ft.Name?void 0:f,dynamicProps:p instanceof Ft.Name,dynamicItems:f instanceof Ft.Name},h.source&&(h.source.evaluated=(0,Ft.stringify)(h.evaluated))}return t.validate=h,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)}}Rt.compileSchema=lf;function BI(t,e,r){var n;r=(0,Zt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=GI.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 Co({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=VI.call(this,s)}Rt.resolveRef=BI;function VI(t){return(0,Zt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:lf.call(this,t)}function B0(t){for(let e of this._compilations)if(WI(e,t))return e}Rt.getCompilingSchema=B0;function WI(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function GI(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||lc.call(this,t,e)}function lc(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Zt._getFullPath)(this.opts.uriResolver,r),o=(0,Zt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return uf.call(this,r,t);let s=(0,Zt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=lc.call(this,t,i);return typeof a?.schema!="object"?void 0:uf.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||lf.call(this,i),s===(0,Zt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Zt.resolveUrl)(this.opts.uriResolver,o,u)),new Co({schema:a,schemaId:c,root:t,baseId:o})}return uf.call(this,r,i)}}Rt.resolveSchema=lc;var KI=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function uf(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,q0.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!KI.has(a)&&u&&(e=(0,Zt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,q0.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Zt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=lc.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Co({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var V0=R((WH,JI)=>{JI.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 pf=R((GH,J0)=>{"use strict";var YI=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),G0=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 df(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var XI=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function W0(t){return t.length=0,!0}function QI(t,e,r){if(t.length){let n=df(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function e1(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=QI;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=W0}else{o.push(u);continue}}return o.length&&(a===W0?r.zone=o.join(""):i?n.push(o.join("")):n.push(df(o))),r.address=n.join(""),r}function K0(t){if(t1(t,":")<2)return{host:t,isIPV6:!1};let e=e1(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 t1(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:s1}=pf(),i1=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,a1=["http","https","ws","wss","urn","urn:uuid"];function c1(t){return a1.indexOf(t)!==-1}function mf(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 Y0(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function X0(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 u1(t){return t.secure=mf(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function l1(t){if((t.port===(mf(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 d1(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(i1);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=ff(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function p1(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=ff(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 m1(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!s1(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function f1(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Q0={scheme:"http",domainHost:!0,parse:Y0,serialize:X0},h1={scheme:"https",domainHost:Q0.domainHost,parse:Y0,serialize:X0},pc={scheme:"ws",domainHost:!0,parse:u1,serialize:l1},g1={scheme:"wss",domainHost:pc.domainHost,parse:pc.parse,serialize:pc.serialize},_1={scheme:"urn",parse:d1,serialize:p1,skipNormalize:!0},y1={scheme:"urn:uuid",parse:m1,serialize:f1,skipNormalize:!0},mc={http:Q0,https:h1,ws:pc,wss:g1,urn:_1,"urn:uuid":y1};Object.setPrototypeOf(mc,null);function ff(t){return t&&(mc[t]||mc[t.toLowerCase()])||void 0}eb.exports={wsIsSecure:mf,SCHEMES:mc,isValidSchemeName:c1,getSchemeHandler:ff}});var ob=R((JH,hc)=>{"use strict";var{normalizeIPv6:v1,removeDotSegments:ri,recomposeAuthority:x1,normalizeComponentEncoding:fc,isIPv4:b1,nonSimpleDomain:S1}=pf(),{SCHEMES:k1,getSchemeHandler:rb}=tb();function w1(t,e){return typeof t=="string"?t=rr(xr(t,e),e):typeof t=="object"&&(t=xr(rr(t,e),e)),t}function $1(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=nb(xr(t,n),xr(e,n),n,!0);return n.skipEscape=!0,rr(o,n)}function nb(t,e,r,n){let o={};return n||(t=xr(rr(t,r),r),e=xr(rr(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=ri(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=ri(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=ri(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=ri(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 E1(t,e,r){return typeof t=="string"?(t=unescape(t),t=rr(fc(xr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=rr(fc(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=rr(fc(xr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=rr(fc(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function rr(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=rb(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=x1(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=ri(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 T1=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function xr(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(T1);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(b1(n.host)===!1){let c=v1(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=rb(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&S1(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 hf={SCHEMES:k1,normalize:w1,resolve:$1,resolveComponent:nb,equal:E1,serialize:rr,parse:xr};hc.exports=hf;hc.exports.default=hf;hc.exports.fastUri=hf});var ib=R(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});var sb=ob();sb.code='require("ajv/dist/runtime/uri").default';gf.default=sb});var fb=R(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.CodeGen=Be.Name=Be.nil=Be.stringify=Be.str=Be._=Be.KeywordCxt=void 0;var P1=ei();Object.defineProperty(Be,"KeywordCxt",{enumerable:!0,get:function(){return P1.KeywordCxt}});var Io=K();Object.defineProperty(Be,"_",{enumerable:!0,get:function(){return Io._}});Object.defineProperty(Be,"str",{enumerable:!0,get:function(){return Io.str}});Object.defineProperty(Be,"stringify",{enumerable:!0,get:function(){return Io.stringify}});Object.defineProperty(Be,"nil",{enumerable:!0,get:function(){return Io.nil}});Object.defineProperty(Be,"Name",{enumerable:!0,get:function(){return Io.Name}});Object.defineProperty(Be,"CodeGen",{enumerable:!0,get:function(){return Io.CodeGen}});var R1=uc(),db=ti(),O1=qm(),ni=dc(),C1=K(),oi=Ys(),gc=Js(),yf=oe(),ab=V0(),I1=ib(),pb=(t,e)=>new RegExp(t,e);pb.code="new RegExp";var A1=["removeAdditional","useDefaults","coerceTypes"],N1=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),z1={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."},j1={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},cb=200;function M1(t){var e,r,n,o,s,i,a,c,u,l,d,m,h,p,f,g,_,y,v,k,T,J,B,N,Re;let de=t.strict,ft=(e=t.code)===null||e===void 0?void 0:e.optimize,Si=ft===!0||ft===void 0?1:ft||0,kr=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:pb,Se=(o=t.uriResolver)!==null&&o!==void 0?o:I1.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:de)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:de)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:de)!==null&&l!==void 0?l:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:de)!==null&&m!==void 0?m:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:de)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:Si,regExp:kr}:{optimize:Si,regExp:kr},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:cb,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:cb,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(y=t.messages)!==null&&y!==void 0?y:!0,inlineRefs:(v=t.inlineRefs)!==null&&v!==void 0?v:!0,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(T=t.addUsedSchema)!==null&&T!==void 0?T:!0,validateSchema:(J=t.validateSchema)!==null&&J!==void 0?J:!0,validateFormats:(B=t.validateFormats)!==null&&B!==void 0?B:!0,unicodeRegExp:(N=t.unicodeRegExp)!==null&&N!==void 0?N:!0,int32range:(Re=t.int32range)!==null&&Re!==void 0?Re:!0,uriResolver:Se}}var si=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...M1(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new C1.ValueScope({scope:{},prefixes:N1,es5:r,lines:n}),this.logger=H1(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,O1.getRules)(),ub.call(this,z1,e,"NOT SUPPORTED"),ub.call(this,j1,e,"DEPRECATED","warn"),this._metaOpts=Z1.call(this),e.formats&&L1.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&F1.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),D1.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=ab;n==="id"&&(o={...ab},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 m=this._addSchema(l,d);return m.validate||i.call(this,m)}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 db.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,oi.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=lb.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ni.SchemaEnv({schema:{},schemaId:n});if(r=ni.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=lb.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,oi.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(B1.call(this,n,r),!r)return(0,yf.eachItem)(n,s=>_f.call(this,s)),this;W1.call(this,r);let o={...r,type:(0,gc.getJSONTypes)(r.type),schemaType:(0,gc.getJSONTypes)(r.schemaType)};return(0,yf.eachItem)(n,o.type.length===0?s=>_f.call(this,s,o):s=>o.type.forEach(i=>_f.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]=mb(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,oi.normalizeId)(i||n);let u=oi.getSchemaRefs.call(this,e,n);return c=new ni.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):ni.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{ni.compileSchema.call(this,e)}finally{this.opts=r}}};si.ValidationError=R1.default;si.MissingRefError=db.default;Be.default=si;function ub(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 lb(t){return t=(0,oi.normalizeId)(t),this.schemas[t]||this.refs[t]}function D1(){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 L1(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function F1(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 Z1(){let t={...this.opts};for(let e of A1)delete t[e];return t}var U1={log(){},warn(){},error(){}};function H1(t){if(t===!1)return U1;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 q1=/^[a-z_$][a-z0-9_$:-]*$/i;function B1(t,e){let{RULES:r}=this;if((0,yf.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!q1.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 _f(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,gc.getJSONTypes)(e.type),schemaType:(0,gc.getJSONTypes)(e.schemaType)}};e.before?V1.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 V1(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 W1(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=mb(e)),t.validateSchema=this.compile(e,!0))}var G1={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function mb(t){return{anyOf:[t,G1]}}});var hb=R(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});var K1={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};vf.default=K1});var vb=R(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.callRef=Ln.getValidate=void 0;var J1=ti(),gb=Pt(),pt=K(),Ao=yr(),_b=dc(),_c=oe(),Y1={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=_b.resolveRef.call(c,u,o,r);if(l===void 0)throw new J1.default(n.opts.uriResolver,o,r);if(l instanceof _b.SchemaEnv)return m(l);return h(l);function d(){if(s===u)return yc(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return yc(t,(0,pt._)`${p}.validate`,u,u.$async)}function m(p){let f=yb(t,p);yc(t,f,p,p.$async)}function h(p){let f=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,pt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:pt.nil,topSchemaRef:f,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function yb(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,pt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Ln.getValidate=yb;function yc(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Ao.default.this:pt.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,pt._)`await ${(0,gb.callValidateCode)(t,e,u)}`),h(e),i||o.assign(p,!0)},f=>{o.if((0,pt._)`!(${f} instanceof ${s.ValidationError})`,()=>o.throw(f)),m(f),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,gb.callValidateCode)(t,e,u),()=>h(e),()=>m(e))}function m(p){let f=(0,pt._)`${p}.errors`;o.assign(Ao.default.vErrors,(0,pt._)`${Ao.default.vErrors} === null ? ${f} : ${Ao.default.vErrors}.concat(${f})`),o.assign(Ao.default.errors,(0,pt._)`${Ao.default.vErrors}.length`)}function h(p){var f;if(!s.opts.unevaluated)return;let g=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=_c.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,pt._)`${p}.evaluated.props`);s.props=_c.mergeEvaluated.props(o,_,s.props,pt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=_c.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,pt._)`${p}.evaluated.items`);s.items=_c.mergeEvaluated.items(o,_,s.items,pt.Name)}}}Ln.callRef=yc;Ln.default=Y1});var xb=R(xf=>{"use strict";Object.defineProperty(xf,"__esModule",{value:!0});var X1=hb(),Q1=vb(),eA=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",X1.default,Q1.default];xf.default=eA});var bb=R(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});var vc=K(),Br=vc.operators,xc={maximum:{okStr:"<=",ok:Br.LTE,fail:Br.GT},minimum:{okStr:">=",ok:Br.GTE,fail:Br.LT},exclusiveMaximum:{okStr:"<",ok:Br.LT,fail:Br.GTE},exclusiveMinimum:{okStr:">",ok:Br.GT,fail:Br.LTE}},tA={message:({keyword:t,schemaCode:e})=>(0,vc.str)`must be ${xc[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,vc._)`{comparison: ${xc[t].okStr}, limit: ${e}}`},rA={keyword:Object.keys(xc),type:"number",schemaType:"number",$data:!0,error:tA,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,vc._)`${r} ${xc[e].fail} ${n} || isNaN(${r})`)}};bf.default=rA});var Sb=R(Sf=>{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});var ii=K(),nA={message:({schemaCode:t})=>(0,ii.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,ii._)`{multipleOf: ${t}}`},oA={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:nA,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,ii._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,ii._)`${i} !== parseInt(${i})`;t.fail$data((0,ii._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};Sf.default=oA});var wb=R(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});function kb(t){let e=t.length,r=0,n=0,o;for(;n=55296&&o<=56319&&n{"use strict";Object.defineProperty(wf,"__esModule",{value:!0});var Fn=K(),sA=oe(),iA=wb(),aA={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Fn.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Fn._)`{limit: ${t}}`},cA={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:aA,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?Fn.operators.GT:Fn.operators.LT,i=o.opts.unicode===!1?(0,Fn._)`${r}.length`:(0,Fn._)`${(0,sA.useFunc)(t.gen,iA.default)}(${r})`;t.fail$data((0,Fn._)`${i} ${s} ${n}`)}};wf.default=cA});var Eb=R($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0});var uA=Pt(),lA=oe(),No=K(),dA={message:({schemaCode:t})=>(0,No.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,No._)`{pattern: ${t}}`},pA={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:dA,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,No._)`new RegExp`:(0,lA.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,No._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,No._)`!${l}`)}else{let c=(0,uA.usePattern)(t,o);t.fail$data((0,No._)`!${c}.test(${r})`)}}};$f.default=pA});var Tb=R(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0});var ai=K(),mA={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,ai.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,ai._)`{limit: ${t}}`},fA={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:mA,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?ai.operators.GT:ai.operators.LT;t.fail$data((0,ai._)`Object.keys(${r}).length ${o} ${n}`)}};Ef.default=fA});var Pb=R(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});var ci=Pt(),ui=K(),hA=oe(),gA={message:({params:{missingProperty:t}})=>(0,ui.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,ui._)`{missingProperty: ${t}}`},_A={keyword:"required",type:"object",schemaType:"array",$data:!0,error:gA,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 h=t.parentSchema.properties,{definedProperties:p}=t.it;for(let f of r)if(h?.[f]===void 0&&!p.has(f)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${f}" is not defined at "${g}" (strictRequired)`;(0,hA.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(ui.nil,d);else for(let h of r)(0,ci.checkReportMissingProp)(t,h)}function l(){let h=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>m(h,p)),t.ok(p)}else e.if((0,ci.checkMissingProp)(t,r,h)),(0,ci.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,ci.noPropertyInData)(e,o,h,a.ownProperties),()=>t.error())})}function m(h,p){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(p,(0,ci.propertyInData)(e,o,h,a.ownProperties)),e.if((0,ui.not)(p),()=>{t.error(),e.break()})},ui.nil)}}};Tf.default=_A});var Rb=R(Pf=>{"use strict";Object.defineProperty(Pf,"__esModule",{value:!0});var li=K(),yA={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,li.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,li._)`{limit: ${t}}`},vA={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:yA,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?li.operators.GT:li.operators.LT;t.fail$data((0,li._)`${r}.length ${o} ${n}`)}};Pf.default=vA});var bc=R(Rf=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});var Ob=Xm();Ob.code='require("ajv/dist/runtime/equal").default';Rf.default=Ob});var Cb=R(Cf=>{"use strict";Object.defineProperty(Cf,"__esModule",{value:!0});var Of=Js(),Ve=K(),xA=oe(),bA=bc(),SA={message:({params:{i:t,j:e}})=>(0,Ve.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Ve._)`{i: ${t}, j: ${e}}`},kA={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:SA,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,Of.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,Ve._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,Ve._)`${r}.length`),f=e.let("j");t.setParams({i:p,j:f}),e.assign(c,!0),e.if((0,Ve._)`${p} > 1`,()=>(d()?m:h)(p,f))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function m(p,f){let g=e.name("item"),_=(0,Of.checkDataTypes)(u,g,a.opts.strictNumbers,Of.DataType.Wrong),y=e.const("indices",(0,Ve._)`{}`);e.for((0,Ve._)`;${p}--;`,()=>{e.let(g,(0,Ve._)`${r}[${p}]`),e.if(_,(0,Ve._)`continue`),u.length>1&&e.if((0,Ve._)`typeof ${g} == "string"`,(0,Ve._)`${g} += "_"`),e.if((0,Ve._)`typeof ${y}[${g}] == "number"`,()=>{e.assign(f,(0,Ve._)`${y}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,Ve._)`${y}[${g}] = ${p}`)})}function h(p,f){let g=(0,xA.useFunc)(e,bA.default),_=e.name("outer");e.label(_).for((0,Ve._)`;${p}--;`,()=>e.for((0,Ve._)`${f} = ${p}; ${f}--;`,()=>e.if((0,Ve._)`${g}(${r}[${p}], ${r}[${f}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Cf.default=kA});var Ib=R(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});var If=K(),wA=oe(),$A=bc(),EA={message:"must be equal to constant",params:({schemaCode:t})=>(0,If._)`{allowedValue: ${t}}`},TA={keyword:"const",$data:!0,error:EA,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,If._)`!${(0,wA.useFunc)(e,$A.default)}(${r}, ${o})`):t.fail((0,If._)`${s} !== ${r}`)}};Af.default=TA});var Ab=R(Nf=>{"use strict";Object.defineProperty(Nf,"__esModule",{value:!0});var di=K(),PA=oe(),RA=bc(),OA={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,di._)`{allowedValues: ${t}}`},CA={keyword:"enum",schemaType:"array",$data:!0,error:OA,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,PA.useFunc)(e,RA.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 h=e.const("vSchema",s);l=(0,di.or)(...o.map((p,f)=>m(h,f)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,h=>e.if((0,di._)`${u()}(${r}, ${h})`,()=>e.assign(l,!0).break()))}function m(h,p){let f=o[p];return typeof f=="object"&&f!==null?(0,di._)`${u()}(${r}, ${h}[${p}])`:(0,di._)`${r} === ${f}`}}};Nf.default=CA});var Nb=R(zf=>{"use strict";Object.defineProperty(zf,"__esModule",{value:!0});var IA=bb(),AA=Sb(),NA=$b(),zA=Eb(),jA=Tb(),MA=Pb(),DA=Rb(),LA=Cb(),FA=Ib(),ZA=Ab(),UA=[IA.default,AA.default,NA.default,zA.default,jA.default,MA.default,DA.default,LA.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},FA.default,ZA.default];zf.default=UA});var Mf=R(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.validateAdditionalItems=void 0;var Zn=K(),jf=oe(),HA={message:({params:{len:t}})=>(0,Zn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Zn._)`{limit: ${t}}`},qA={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:HA,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,jf.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}zb(t,n)}};function zb(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Zn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Zn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,jf.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Zn._)`${a} <= ${e.length}`);r.if((0,Zn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:jf.Type.Num},u),i.allErrors||r.if((0,Zn.not)(u),()=>r.break())})}}pi.validateAdditionalItems=zb;pi.default=qA});var Df=R(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateTuple=void 0;var jb=K(),Sc=oe(),BA=Pt(),VA={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Mb(t,"additionalItems",e);r.items=!0,!(0,Sc.alwaysValidSchema)(r,e)&&t.ok((0,BA.validateArray)(t))}};function Mb(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=Sc.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,jb._)`${s}.length`);r.forEach((d,m)=>{(0,Sc.alwaysValidSchema)(a,d)||(n.if((0,jb._)`${u} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},c)),t.ok(c))});function l(d){let{opts:m,errSchemaPath:h}=a,p=r.length,f=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(m.strictTuples&&!f){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0,Sc.checkStrictMode)(a,g,m.strictTuples)}}}mi.validateTuple=Mb;mi.default=VA});var Db=R(Lf=>{"use strict";Object.defineProperty(Lf,"__esModule",{value:!0});var WA=Df(),GA={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,WA.validateTuple)(t,"items")};Lf.default=GA});var Fb=R(Ff=>{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});var Lb=K(),KA=oe(),JA=Pt(),YA=Mf(),XA={message:({params:{len:t}})=>(0,Lb.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Lb._)`{limit: ${t}}`},QA={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:XA,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,KA.alwaysValidSchema)(n,e)&&(o?(0,YA.validateAdditionalItems)(t,o):t.ok((0,JA.validateArray)(t)))}};Ff.default=QA});var Zb=R(Zf=>{"use strict";Object.defineProperty(Zf,"__esModule",{value:!0});var Ot=K(),kc=oe(),eN={message:({params:{min:t,max:e}})=>e===void 0?(0,Ot.str)`must contain at least ${t} valid item(s)`:(0,Ot.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Ot._)`{minContains: ${t}}`:(0,Ot._)`{minContains: ${t}, maxContains: ${e}}`},tN={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:eN,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,Ot._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,kc.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,kc.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,kc.alwaysValidSchema)(s,r)){let f=(0,Ot._)`${l} >= ${i}`;a!==void 0&&(f=(0,Ot._)`${f} && ${l} <= ${a}`),t.pass(f);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?h(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,Ot._)`${o}.length > 0`,m)):(e.let(d,!1),m()),t.result(d,()=>t.reset());function m(){let f=e.name("_valid"),g=e.let("count",0);h(f,()=>e.if(f,()=>p(g)))}function h(f,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:kc.Type.Num,compositeRule:!0},f),g()})}function p(f){e.code((0,Ot._)`${f}++`),a===void 0?e.if((0,Ot._)`${f} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,Ot._)`${f} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,Ot._)`${f} >= ${i}`,()=>e.assign(d,!0)))}}};Zf.default=tN});var qb=R(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.validateSchemaDeps=nr.validatePropertyDeps=nr.error=void 0;var Uf=K(),rN=oe(),fi=Pt();nr.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Uf.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Uf._)`{property: ${t}, + || ${i} === "boolean" || ${o} === null`).assign(a,(0,W._)`[${o}]`)}}}function MC({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,W._)`${e} !== undefined`,()=>t.assign((0,W._)`${e}[${r}]`,n))}function Bm(t,e,r,n=Po.Correct){let o=n===Po.Correct?W.operators.EQ:W.operators.NEQ,s;switch(t){case"null":return(0,W._)`${e} ${o} null`;case"array":s=(0,W._)`Array.isArray(${e})`;break;case"object":s=(0,W._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,W._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,W._)`typeof ${e} ${o} ${t}`}return n===Po.Correct?s:(0,W.not)(s);function i(a=W.nil){return(0,W.and)((0,W._)`typeof ${e} == "number"`,a,r?(0,W._)`isFinite(${e})`:W.nil)}}Ye.checkDataType=Bm;function Vm(t,e,r,n){if(t.length===1)return Bm(t[0],e,r,n);let o,s=(0,p0.toHash)(t);if(s.array&&s.object){let i=(0,W._)`typeof ${e} != "object"`;o=s.null?i:(0,W._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=W.nil;s.number&&delete s.integer;for(let i in s)o=(0,W.and)(o,Bm(i,e,r,n));return o}Ye.checkDataTypes=Vm;var DC={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,W._)`{type: ${t}}`:(0,W._)`{type: ${e}}`};function Wm(t){let e=LC(t);(0,IC.reportError)(e,DC)}Ye.reportTypeError=Wm;function LC(t){let{gen:e,data:r,schema:n}=t,o=(0,p0.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var g0=R(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.assignDefaults=void 0;var Ro=K(),FC=oe();function ZC(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)h0(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>h0(t,s,o.default))}sc.assignDefaults=ZC;function h0(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Ro._)`${s}${(0,Ro.getProperty)(e)}`;if(o){(0,FC.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Ro._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Ro._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Ro._)`${a} = ${(0,Ro.stringify)(r)}`)}});var Pt=R(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.validateUnion=le.validateArray=le.usePattern=le.callValidateCode=le.schemaProperties=le.allSchemaProperties=le.noPropertyInData=le.propertyInData=le.isOwnProperty=le.hasPropFunc=le.reportMissingProp=le.checkMissingProp=le.checkReportMissingProp=void 0;var ve=K(),Gm=oe(),Zr=yr(),UC=oe();function HC(t,e){let{gen:r,data:n,it:o}=t;r.if(Jm(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ve._)`${e}`},!0),t.error()})}le.checkReportMissingProp=HC;function qC({gen:t,data:e,it:{opts:r}},n,o){return(0,ve.or)(...n.map(s=>(0,ve.and)(Jm(t,e,s,r.ownProperties),(0,ve._)`${o} = ${s}`)))}le.checkMissingProp=qC;function BC(t,e){t.setParams({missingProperty:e},!0),t.error()}le.reportMissingProp=BC;function _0(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ve._)`Object.prototype.hasOwnProperty`})}le.hasPropFunc=_0;function Km(t,e,r){return(0,ve._)`${_0(t)}.call(${e}, ${r})`}le.isOwnProperty=Km;function VC(t,e,r,n){let o=(0,ve._)`${e}${(0,ve.getProperty)(r)} !== undefined`;return n?(0,ve._)`${o} && ${Km(t,e,r)}`:o}le.propertyInData=VC;function Jm(t,e,r,n){let o=(0,ve._)`${e}${(0,ve.getProperty)(r)} === undefined`;return n?(0,ve.or)(o,(0,ve.not)(Km(t,e,r))):o}le.noPropertyInData=Jm;function y0(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}le.allSchemaProperties=y0;function WC(t,e){return y0(e).filter(r=>!(0,Gm.alwaysValidSchema)(t,e[r]))}le.schemaProperties=WC;function GC({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,ve._)`${t}, ${e}, ${n}${o}`:e,d=[[Zr.default.instancePath,(0,ve.strConcat)(Zr.default.instancePath,s)],[Zr.default.parentData,i.parentData],[Zr.default.parentDataProperty,i.parentDataProperty],[Zr.default.rootData,Zr.default.rootData]];i.opts.dynamicRef&&d.push([Zr.default.dynamicAnchors,Zr.default.dynamicAnchors]);let m=(0,ve._)`${l}, ${r.object(...d)}`;return c!==ve.nil?(0,ve._)`${a}.call(${c}, ${m})`:(0,ve._)`${a}(${m})`}le.callValidateCode=GC;var KC=(0,ve._)`new RegExp`;function JC({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,ve._)`${o.code==="new RegExp"?KC:(0,UC.useFunc)(t,o)}(${r}, ${n})`})}le.usePattern=JC;function YC(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,ve._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Gm.Type.Num},s),e.if((0,ve.not)(s),a)})}}le.validateArray=YC;function XC(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,Gm.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,ve._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ve.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}le.validateUnion=XC});var b0=R(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.validateKeywordUsage=er.validSchemaType=er.funcKeywordCode=er.macroKeywordCode=void 0;var nt=K(),Mn=yr(),QC=Pt(),eI=Ks();function tI(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=x0(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:nt.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}er.macroKeywordCode=tI;function rI(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;oI(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=x0(n,o,u),d=n.let("valid");t.block$data(d,m),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function m(){if(e.errors===!1)f(),e.modifying&&v0(t),g(()=>t.error());else{let _=e.async?h():p();e.modifying&&v0(t),g(()=>nI(t,_))}}function h(){let _=n.let("ruleErrs",null);return n.try(()=>f((0,nt._)`await `),y=>n.assign(d,!1).if((0,nt._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,nt._)`${y}.errors`),()=>n.throw(y))),_}function p(){let _=(0,nt._)`${l}.errors`;return n.assign(_,null),f(nt.nil),_}function f(_=e.async?(0,nt._)`await `:nt.nil){let y=c.opts.passContext?Mn.default.this:Mn.default.self,v=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,nt._)`${_}${(0,QC.callValidateCode)(t,l,y,v)}`,e.modifying)}function g(_){var y;n.if((0,nt.not)((y=e.valid)!==null&&y!==void 0?y:d),_)}}er.funcKeywordCode=rI;function v0(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,nt._)`${n.parentData}[${n.parentDataProperty}]`))}function nI(t,e){let{gen:r}=t;r.if((0,nt._)`Array.isArray(${e})`,()=>{r.assign(Mn.default.vErrors,(0,nt._)`${Mn.default.vErrors} === null ? ${e} : ${Mn.default.vErrors}.concat(${e})`).assign(Mn.default.errors,(0,nt._)`${Mn.default.vErrors}.length`),(0,eI.extendErrors)(t)},()=>t.error())}function oI({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function x0(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,nt.stringify)(r)})}function sI(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")}er.validSchemaType=sI;function iI({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)}}er.validateKeywordUsage=iI});var k0=R(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.extendSubschemaMode=Ur.extendSubschemaData=Ur.getSubschema=void 0;var tr=K(),S0=oe();function aI(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,tr._)`${t.schemaPath}${(0,tr.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,tr._)`${t.schemaPath}${(0,tr.getProperty)(e)}${(0,tr.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,S0.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=aI;function cI(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,m=a.let("data",(0,tr._)`${e.data}${(0,tr.getProperty)(r)}`,!0);c(m),t.errorPath=(0,tr.str)`${u}${(0,S0.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,tr._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof tr.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=cI;function uI(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=uI});var Ym=R((ZH,w0)=>{"use strict";w0.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 E0=R((UH,$0)=>{"use strict";var Hr=$0.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(){};ic(e,n,o,t,"",t)};Hr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Hr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Hr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Hr.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 ic(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 Hr.arrayKeywords)for(var m=0;m{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.getSchemaRefs=dt.resolveUrl=dt.normalizeId=dt._getFullPath=dt.getFullPath=dt.inlineRef=void 0;var dI=oe(),pI=Ym(),mI=E0(),fI=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function hI(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Xm(t):e?T0(t)<=e:!1}dt.inlineRef=hI;var gI=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Xm(t){for(let e in t){if(gI.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Xm)||typeof r=="object"&&Xm(r))return!0}return!1}function T0(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!fI.has(r)&&(typeof t[r]=="object"&&(0,dI.eachItem)(t[r],n=>e+=T0(n)),e===1/0))return 1/0}return e}function P0(t,e="",r){r!==!1&&(e=Oo(e));let n=t.parse(e);return R0(t,n)}dt.getFullPath=P0;function R0(t,e){return t.serialize(e).split("#")[0]+"#"}dt._getFullPath=R0;var _I=/#\/?$/;function Oo(t){return t?t.replace(_I,""):""}dt.normalizeId=Oo;function yI(t,e,r){return r=Oo(r),t.resolve(e,r)}dt.resolveUrl=yI;var vI=/^[a-z_][-a-z0-9._]*$/i;function xI(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Oo(t[r]||e),s={"":o},i=P0(n,o,!1),a={},c=new Set;return mI(t,{allKeys:!0},(d,m,h,p)=>{if(p===void 0)return;let f=i+m,g=s[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),s[m]=g;function _(v){let k=this.opts.uriResolver.resolve;if(v=Oo(g?k(g,v):v),c.has(v))throw l(v);c.add(v);let T=this.refs[v];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?u(d,T.schema,v):v!==Oo(f)&&(v[0]==="#"?(u(d,a[v],v),a[v]=d):this.refs[v]=f),v}function y(v){if(typeof v=="string"){if(!vI.test(v))throw new Error(`invalid anchor "${v}"`);_.call(this,`#${v}`)}}}),a;function u(d,m,h){if(m!==void 0&&!pI(d,m))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}dt.getSchemaRefs=xI});var ei=R(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.getData=qr.KeywordCxt=qr.validateFunctionCode=void 0;var N0=u0(),O0=Js(),ef=qm(),ac=Js(),bI=g0(),Qs=b0(),Qm=k0(),M=K(),q=yr(),SI=Ys(),vr=oe(),Xs=Ks();function kI(t){if(M0(t)&&(D0(t),j0(t))){EI(t);return}z0(t,()=>(0,N0.topBoolOrEmptySchema)(t))}qr.validateFunctionCode=kI;function z0({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,M._)`${q.default.data}, ${q.default.valCxt}`,n.$async,()=>{t.code((0,M._)`"use strict"; ${C0(r,o)}`),$I(t,o),t.code(s)}):t.func(e,(0,M._)`${q.default.data}, ${wI(o)}`,n.$async,()=>t.code(C0(r,o)).code(s))}function wI(t){return(0,M._)`{${q.default.instancePath}="", ${q.default.parentData}, ${q.default.parentDataProperty}, ${q.default.rootData}=${q.default.data}${t.dynamicRef?(0,M._)`, ${q.default.dynamicAnchors}={}`:M.nil}}={}`}function $I(t,e){t.if(q.default.valCxt,()=>{t.var(q.default.instancePath,(0,M._)`${q.default.valCxt}.${q.default.instancePath}`),t.var(q.default.parentData,(0,M._)`${q.default.valCxt}.${q.default.parentData}`),t.var(q.default.parentDataProperty,(0,M._)`${q.default.valCxt}.${q.default.parentDataProperty}`),t.var(q.default.rootData,(0,M._)`${q.default.valCxt}.${q.default.rootData}`),e.dynamicRef&&t.var(q.default.dynamicAnchors,(0,M._)`${q.default.valCxt}.${q.default.dynamicAnchors}`)},()=>{t.var(q.default.instancePath,(0,M._)`""`),t.var(q.default.parentData,(0,M._)`undefined`),t.var(q.default.parentDataProperty,(0,M._)`undefined`),t.var(q.default.rootData,q.default.data),e.dynamicRef&&t.var(q.default.dynamicAnchors,(0,M._)`{}`)})}function EI(t){let{schema:e,opts:r,gen:n}=t;z0(t,()=>{r.$comment&&e.$comment&&F0(t),CI(t),n.let(q.default.vErrors,null),n.let(q.default.errors,0),r.unevaluated&&TI(t),L0(t),NI(t)})}function TI(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,M._)`${r}.evaluated`),e.if((0,M._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,M._)`${t.evaluated}.props`,(0,M._)`undefined`)),e.if((0,M._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,M._)`${t.evaluated}.items`,(0,M._)`undefined`))}function C0(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,M._)`/*# sourceURL=${r} */`:M.nil}function PI(t,e){if(M0(t)&&(D0(t),j0(t))){RI(t,e);return}(0,N0.boolOrEmptySchema)(t,e)}function j0({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 M0(t){return typeof t.schema!="boolean"}function RI(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&F0(t),II(t),AI(t);let s=n.const("_errs",q.default.errors);L0(t,s),n.var(e,(0,M._)`${s} === ${q.default.errors}`)}function D0(t){(0,vr.checkUnknownRules)(t),OI(t)}function L0(t,e){if(t.opts.jtd)return I0(t,[],!1,e);let r=(0,O0.getSchemaTypes)(t.schema),n=(0,O0.coerceAndCheckDataType)(t,r);I0(t,r,!n,e)}function OI(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,vr.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function CI(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,vr.checkStrictMode)(t,"default is ignored in the schema root")}function II(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,SI.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function AI(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function F0({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,M._)`${q.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,M.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,M._)`${q.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function NI(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,M._)`${q.default.errors} === 0`,()=>e.return(q.default.data),()=>e.throw((0,M._)`new ${o}(${q.default.vErrors})`)):(e.assign((0,M._)`${n}.errors`,q.default.vErrors),s.unevaluated&&zI(t),e.return((0,M._)`${q.default.errors} === 0`))}function zI({gen:t,evaluated:e,props:r,items:n}){r instanceof M.Name&&t.assign((0,M._)`${e}.props`,r),n instanceof M.Name&&t.assign((0,M._)`${e}.items`,n)}function I0(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,vr.schemaHasRulesButRef)(s,l))){o.block(()=>U0(t,"$ref",l.all.$ref.definition));return}c.jtd||jI(t,e),o.block(()=>{for(let m of l.rules)d(m);d(l.post)});function d(m){(0,ef.shouldUseGroup)(s,m)&&(m.type?(o.if((0,ac.checkDataType)(m.type,i,c.strictNumbers)),A0(t,m),e.length===1&&e[0]===m.type&&r&&(o.else(),(0,ac.reportTypeError)(t)),o.endIf()):A0(t,m),a||o.if((0,M._)`${q.default.errors} === ${n||0}`))}}function A0(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,bI.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,ef.shouldUseRule)(n,s)&&U0(t,s.keyword,s.definition,e.type)})}function jI(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(MI(t,e),t.opts.allowUnionTypes||DI(t,e),LI(t,t.dataTypes))}function MI(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Z0(t.dataTypes,r)||tf(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),ZI(t,e)}}function DI(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&tf(t,"use allowUnionTypes to allow union type keyword")}function LI(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,ef.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>FI(e,i))&&tf(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function FI(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Z0(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function ZI(t,e){let r=[];for(let n of t.dataTypes)Z0(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function tf(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,vr.checkStrictMode)(t,e,t.opts.strictTypes)}var cc=class{constructor(e,r,n){if((0,Qs.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,vr.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",H0(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Qs.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",q.default.errors))}result(e,r,n){this.failResult((0,M.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,M.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,M._)`${r} !== undefined && (${(0,M.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?Xs.reportExtraError:Xs.reportError)(this,this.def.error,r)}$dataError(){(0,Xs.reportError)(this,this.def.$dataError||Xs.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Xs.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=M.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=M.nil,r=M.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,M.or)((0,M._)`${o} === undefined`,r)),e!==M.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==M.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,M.or)(i(),a());function i(){if(n.length){if(!(r instanceof M.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,M._)`${(0,ac.checkDataTypes)(c,r,s.opts.strictNumbers,ac.DataType.Wrong)}`}return M.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,M._)`!${c}(${r})`}return M.nil}}subschema(e,r){let n=(0,Qm.getSubschema)(this.it,e);(0,Qm.extendSubschemaData)(n,this.it,e),(0,Qm.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return PI(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=vr.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=vr.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,M.Name)),!0}};qr.KeywordCxt=cc;function U0(t,e,r,n){let o=new cc(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Qs.funcKeywordCode)(o,r):"macro"in r?(0,Qs.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Qs.funcKeywordCode)(o,r)}var UI=/^\/(?:[^~]|~0|~1)*$/,HI=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function H0(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return q.default.rootData;if(t[0]==="/"){if(!UI.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=q.default.rootData}else{let u=HI.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,M._)`${s}${(0,M.getProperty)((0,vr.unescapeJsonPointer)(u))}`,i=(0,M._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}qr.getData=H0});var uc=R(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});var rf=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};nf.default=rf});var ti=R(af=>{"use strict";Object.defineProperty(af,"__esModule",{value:!0});var of=Ys(),sf=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,of.resolveUrl)(e,r,n),this.missingSchema=(0,of.normalizeId)((0,of.getFullPath)(e,this.missingRef))}};af.default=sf});var dc=R(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.resolveSchema=Rt.getCompilingSchema=Rt.resolveRef=Rt.compileSchema=Rt.SchemaEnv=void 0;var Ft=K(),qI=uc(),Dn=yr(),Zt=Ys(),q0=oe(),BI=ei(),Co=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,Zt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Rt.SchemaEnv=Co;function uf(t){let e=B0.call(this,t);if(e)return e;let r=(0,Zt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Ft.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:qI.default,code:(0,Ft._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Dn.default.data,parentData:Dn.default.parentData,parentDataProperty:Dn.default.parentDataProperty,dataNames:[Dn.default.data],dataPathArr:[Ft.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Ft.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Ft.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ft._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,BI.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Dn.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let h=new Function(`${Dn.default.self}`,`${Dn.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=t.schema,h.schemaEnv=t,t.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:f}=u;h.evaluated={props:p instanceof Ft.Name?void 0:p,items:f instanceof Ft.Name?void 0:f,dynamicProps:p instanceof Ft.Name,dynamicItems:f instanceof Ft.Name},h.source&&(h.source.evaluated=(0,Ft.stringify)(h.evaluated))}return t.validate=h,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)}}Rt.compileSchema=uf;function VI(t,e,r){var n;r=(0,Zt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=KI.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 Co({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=WI.call(this,s)}Rt.resolveRef=VI;function WI(t){return(0,Zt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:uf.call(this,t)}function B0(t){for(let e of this._compilations)if(GI(e,t))return e}Rt.getCompilingSchema=B0;function GI(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function KI(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||lc.call(this,t,e)}function lc(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Zt._getFullPath)(this.opts.uriResolver,r),o=(0,Zt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return cf.call(this,r,t);let s=(0,Zt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=lc.call(this,t,i);return typeof a?.schema!="object"?void 0:cf.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||uf.call(this,i),s===(0,Zt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Zt.resolveUrl)(this.opts.uriResolver,o,u)),new Co({schema:a,schemaId:c,root:t,baseId:o})}return cf.call(this,r,i)}}Rt.resolveSchema=lc;var JI=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function cf(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,q0.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!JI.has(a)&&u&&(e=(0,Zt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,q0.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Zt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=lc.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Co({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var V0=R((GH,YI)=>{YI.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 df=R((KH,J0)=>{"use strict";var XI=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),G0=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 lf(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var QI=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function W0(t){return t.length=0,!0}function e1(t,e,r){if(t.length){let n=lf(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function t1(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=e1;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=W0}else{o.push(u);continue}}return o.length&&(a===W0?r.zone=o.join(""):i?n.push(o.join("")):n.push(lf(o))),r.address=n.join(""),r}function K0(t){if(r1(t,":")<2)return{host:t,isIPV6:!1};let e=t1(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 r1(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:i1}=df(),a1=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,c1=["http","https","ws","wss","urn","urn:uuid"];function u1(t){return c1.indexOf(t)!==-1}function pf(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 Y0(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function X0(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 l1(t){return t.secure=pf(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function d1(t){if((t.port===(pf(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 p1(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(a1);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=mf(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function m1(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=mf(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 f1(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!i1(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function h1(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Q0={scheme:"http",domainHost:!0,parse:Y0,serialize:X0},g1={scheme:"https",domainHost:Q0.domainHost,parse:Y0,serialize:X0},pc={scheme:"ws",domainHost:!0,parse:l1,serialize:d1},_1={scheme:"wss",domainHost:pc.domainHost,parse:pc.parse,serialize:pc.serialize},y1={scheme:"urn",parse:p1,serialize:m1,skipNormalize:!0},v1={scheme:"urn:uuid",parse:f1,serialize:h1,skipNormalize:!0},mc={http:Q0,https:g1,ws:pc,wss:_1,urn:y1,"urn:uuid":v1};Object.setPrototypeOf(mc,null);function mf(t){return t&&(mc[t]||mc[t.toLowerCase()])||void 0}eb.exports={wsIsSecure:pf,SCHEMES:mc,isValidSchemeName:u1,getSchemeHandler:mf}});var ob=R((YH,hc)=>{"use strict";var{normalizeIPv6:x1,removeDotSegments:ri,recomposeAuthority:b1,normalizeComponentEncoding:fc,isIPv4:S1,nonSimpleDomain:k1}=df(),{SCHEMES:w1,getSchemeHandler:rb}=tb();function $1(t,e){return typeof t=="string"?t=rr(xr(t,e),e):typeof t=="object"&&(t=xr(rr(t,e),e)),t}function E1(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=nb(xr(t,n),xr(e,n),n,!0);return n.skipEscape=!0,rr(o,n)}function nb(t,e,r,n){let o={};return n||(t=xr(rr(t,r),r),e=xr(rr(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=ri(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=ri(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=ri(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=ri(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 T1(t,e,r){return typeof t=="string"?(t=unescape(t),t=rr(fc(xr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=rr(fc(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=rr(fc(xr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=rr(fc(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function rr(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=rb(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=b1(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=ri(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 P1=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function xr(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(P1);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(S1(n.host)===!1){let c=x1(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=rb(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&k1(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 ff={SCHEMES:w1,normalize:$1,resolve:E1,resolveComponent:nb,equal:T1,serialize:rr,parse:xr};hc.exports=ff;hc.exports.default=ff;hc.exports.fastUri=ff});var ib=R(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});var sb=ob();sb.code='require("ajv/dist/runtime/uri").default';hf.default=sb});var fb=R(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.CodeGen=Be.Name=Be.nil=Be.stringify=Be.str=Be._=Be.KeywordCxt=void 0;var R1=ei();Object.defineProperty(Be,"KeywordCxt",{enumerable:!0,get:function(){return R1.KeywordCxt}});var Io=K();Object.defineProperty(Be,"_",{enumerable:!0,get:function(){return Io._}});Object.defineProperty(Be,"str",{enumerable:!0,get:function(){return Io.str}});Object.defineProperty(Be,"stringify",{enumerable:!0,get:function(){return Io.stringify}});Object.defineProperty(Be,"nil",{enumerable:!0,get:function(){return Io.nil}});Object.defineProperty(Be,"Name",{enumerable:!0,get:function(){return Io.Name}});Object.defineProperty(Be,"CodeGen",{enumerable:!0,get:function(){return Io.CodeGen}});var O1=uc(),db=ti(),C1=Hm(),ni=dc(),I1=K(),oi=Ys(),gc=Js(),_f=oe(),ab=V0(),A1=ib(),pb=(t,e)=>new RegExp(t,e);pb.code="new RegExp";var N1=["removeAdditional","useDefaults","coerceTypes"],z1=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),j1={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."},M1={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},cb=200;function D1(t){var e,r,n,o,s,i,a,c,u,l,d,m,h,p,f,g,_,y,v,k,T,J,B,N,Re;let de=t.strict,ft=(e=t.code)===null||e===void 0?void 0:e.optimize,Si=ft===!0||ft===void 0?1:ft||0,kr=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:pb,Se=(o=t.uriResolver)!==null&&o!==void 0?o:A1.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:de)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:de)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:de)!==null&&l!==void 0?l:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:de)!==null&&m!==void 0?m:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:de)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:Si,regExp:kr}:{optimize:Si,regExp:kr},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:cb,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:cb,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(y=t.messages)!==null&&y!==void 0?y:!0,inlineRefs:(v=t.inlineRefs)!==null&&v!==void 0?v:!0,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(T=t.addUsedSchema)!==null&&T!==void 0?T:!0,validateSchema:(J=t.validateSchema)!==null&&J!==void 0?J:!0,validateFormats:(B=t.validateFormats)!==null&&B!==void 0?B:!0,unicodeRegExp:(N=t.unicodeRegExp)!==null&&N!==void 0?N:!0,int32range:(Re=t.int32range)!==null&&Re!==void 0?Re:!0,uriResolver:Se}}var si=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...D1(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new I1.ValueScope({scope:{},prefixes:z1,es5:r,lines:n}),this.logger=q1(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,C1.getRules)(),ub.call(this,j1,e,"NOT SUPPORTED"),ub.call(this,M1,e,"DEPRECATED","warn"),this._metaOpts=U1.call(this),e.formats&&F1.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Z1.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),L1.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=ab;n==="id"&&(o={...ab},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 m=this._addSchema(l,d);return m.validate||i.call(this,m)}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 db.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,oi.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=lb.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ni.SchemaEnv({schema:{},schemaId:n});if(r=ni.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=lb.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,oi.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(V1.call(this,n,r),!r)return(0,_f.eachItem)(n,s=>gf.call(this,s)),this;G1.call(this,r);let o={...r,type:(0,gc.getJSONTypes)(r.type),schemaType:(0,gc.getJSONTypes)(r.schemaType)};return(0,_f.eachItem)(n,o.type.length===0?s=>gf.call(this,s,o):s=>o.type.forEach(i=>gf.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]=mb(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,oi.normalizeId)(i||n);let u=oi.getSchemaRefs.call(this,e,n);return c=new ni.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):ni.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{ni.compileSchema.call(this,e)}finally{this.opts=r}}};si.ValidationError=O1.default;si.MissingRefError=db.default;Be.default=si;function ub(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 lb(t){return t=(0,oi.normalizeId)(t),this.schemas[t]||this.refs[t]}function L1(){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 F1(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function Z1(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 U1(){let t={...this.opts};for(let e of N1)delete t[e];return t}var H1={log(){},warn(){},error(){}};function q1(t){if(t===!1)return H1;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 B1=/^[a-z_$][a-z0-9_$:-]*$/i;function V1(t,e){let{RULES:r}=this;if((0,_f.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!B1.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 gf(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,gc.getJSONTypes)(e.type),schemaType:(0,gc.getJSONTypes)(e.schemaType)}};e.before?W1.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 W1(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 G1(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=mb(e)),t.validateSchema=this.compile(e,!0))}var K1={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function mb(t){return{anyOf:[t,K1]}}});var hb=R(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});var J1={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};yf.default=J1});var vb=R(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.callRef=Ln.getValidate=void 0;var Y1=ti(),gb=Pt(),pt=K(),Ao=yr(),_b=dc(),_c=oe(),X1={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=_b.resolveRef.call(c,u,o,r);if(l===void 0)throw new Y1.default(n.opts.uriResolver,o,r);if(l instanceof _b.SchemaEnv)return m(l);return h(l);function d(){if(s===u)return yc(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return yc(t,(0,pt._)`${p}.validate`,u,u.$async)}function m(p){let f=yb(t,p);yc(t,f,p,p.$async)}function h(p){let f=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,pt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:pt.nil,topSchemaRef:f,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function yb(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,pt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Ln.getValidate=yb;function yc(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Ao.default.this:pt.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,pt._)`await ${(0,gb.callValidateCode)(t,e,u)}`),h(e),i||o.assign(p,!0)},f=>{o.if((0,pt._)`!(${f} instanceof ${s.ValidationError})`,()=>o.throw(f)),m(f),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,gb.callValidateCode)(t,e,u),()=>h(e),()=>m(e))}function m(p){let f=(0,pt._)`${p}.errors`;o.assign(Ao.default.vErrors,(0,pt._)`${Ao.default.vErrors} === null ? ${f} : ${Ao.default.vErrors}.concat(${f})`),o.assign(Ao.default.errors,(0,pt._)`${Ao.default.vErrors}.length`)}function h(p){var f;if(!s.opts.unevaluated)return;let g=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=_c.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,pt._)`${p}.evaluated.props`);s.props=_c.mergeEvaluated.props(o,_,s.props,pt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=_c.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,pt._)`${p}.evaluated.items`);s.items=_c.mergeEvaluated.items(o,_,s.items,pt.Name)}}}Ln.callRef=yc;Ln.default=X1});var xb=R(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});var Q1=hb(),eA=vb(),tA=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Q1.default,eA.default];vf.default=tA});var bb=R(xf=>{"use strict";Object.defineProperty(xf,"__esModule",{value:!0});var vc=K(),Br=vc.operators,xc={maximum:{okStr:"<=",ok:Br.LTE,fail:Br.GT},minimum:{okStr:">=",ok:Br.GTE,fail:Br.LT},exclusiveMaximum:{okStr:"<",ok:Br.LT,fail:Br.GTE},exclusiveMinimum:{okStr:">",ok:Br.GT,fail:Br.LTE}},rA={message:({keyword:t,schemaCode:e})=>(0,vc.str)`must be ${xc[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,vc._)`{comparison: ${xc[t].okStr}, limit: ${e}}`},nA={keyword:Object.keys(xc),type:"number",schemaType:"number",$data:!0,error:rA,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,vc._)`${r} ${xc[e].fail} ${n} || isNaN(${r})`)}};xf.default=nA});var Sb=R(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});var ii=K(),oA={message:({schemaCode:t})=>(0,ii.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,ii._)`{multipleOf: ${t}}`},sA={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:oA,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,ii._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,ii._)`${i} !== parseInt(${i})`;t.fail$data((0,ii._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};bf.default=sA});var wb=R(Sf=>{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});function kb(t){let e=t.length,r=0,n=0,o;for(;n=55296&&o<=56319&&n{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});var Fn=K(),iA=oe(),aA=wb(),cA={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Fn.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Fn._)`{limit: ${t}}`},uA={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:cA,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?Fn.operators.GT:Fn.operators.LT,i=o.opts.unicode===!1?(0,Fn._)`${r}.length`:(0,Fn._)`${(0,iA.useFunc)(t.gen,aA.default)}(${r})`;t.fail$data((0,Fn._)`${i} ${s} ${n}`)}};kf.default=uA});var Eb=R(wf=>{"use strict";Object.defineProperty(wf,"__esModule",{value:!0});var lA=Pt(),dA=oe(),No=K(),pA={message:({schemaCode:t})=>(0,No.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,No._)`{pattern: ${t}}`},mA={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:pA,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,No._)`new RegExp`:(0,dA.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,No._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,No._)`!${l}`)}else{let c=(0,lA.usePattern)(t,o);t.fail$data((0,No._)`!${c}.test(${r})`)}}};wf.default=mA});var Tb=R($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0});var ai=K(),fA={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,ai.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,ai._)`{limit: ${t}}`},hA={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:fA,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?ai.operators.GT:ai.operators.LT;t.fail$data((0,ai._)`Object.keys(${r}).length ${o} ${n}`)}};$f.default=hA});var Pb=R(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0});var ci=Pt(),ui=K(),gA=oe(),_A={message:({params:{missingProperty:t}})=>(0,ui.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,ui._)`{missingProperty: ${t}}`},yA={keyword:"required",type:"object",schemaType:"array",$data:!0,error:_A,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 h=t.parentSchema.properties,{definedProperties:p}=t.it;for(let f of r)if(h?.[f]===void 0&&!p.has(f)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${f}" is not defined at "${g}" (strictRequired)`;(0,gA.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(ui.nil,d);else for(let h of r)(0,ci.checkReportMissingProp)(t,h)}function l(){let h=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>m(h,p)),t.ok(p)}else e.if((0,ci.checkMissingProp)(t,r,h)),(0,ci.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,ci.noPropertyInData)(e,o,h,a.ownProperties),()=>t.error())})}function m(h,p){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(p,(0,ci.propertyInData)(e,o,h,a.ownProperties)),e.if((0,ui.not)(p),()=>{t.error(),e.break()})},ui.nil)}}};Ef.default=yA});var Rb=R(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});var li=K(),vA={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,li.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,li._)`{limit: ${t}}`},xA={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:vA,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?li.operators.GT:li.operators.LT;t.fail$data((0,li._)`${r}.length ${o} ${n}`)}};Tf.default=xA});var bc=R(Pf=>{"use strict";Object.defineProperty(Pf,"__esModule",{value:!0});var Ob=Ym();Ob.code='require("ajv/dist/runtime/equal").default';Pf.default=Ob});var Cb=R(Of=>{"use strict";Object.defineProperty(Of,"__esModule",{value:!0});var Rf=Js(),Ve=K(),bA=oe(),SA=bc(),kA={message:({params:{i:t,j:e}})=>(0,Ve.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Ve._)`{i: ${t}, j: ${e}}`},wA={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:kA,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,Rf.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,Ve._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,Ve._)`${r}.length`),f=e.let("j");t.setParams({i:p,j:f}),e.assign(c,!0),e.if((0,Ve._)`${p} > 1`,()=>(d()?m:h)(p,f))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function m(p,f){let g=e.name("item"),_=(0,Rf.checkDataTypes)(u,g,a.opts.strictNumbers,Rf.DataType.Wrong),y=e.const("indices",(0,Ve._)`{}`);e.for((0,Ve._)`;${p}--;`,()=>{e.let(g,(0,Ve._)`${r}[${p}]`),e.if(_,(0,Ve._)`continue`),u.length>1&&e.if((0,Ve._)`typeof ${g} == "string"`,(0,Ve._)`${g} += "_"`),e.if((0,Ve._)`typeof ${y}[${g}] == "number"`,()=>{e.assign(f,(0,Ve._)`${y}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,Ve._)`${y}[${g}] = ${p}`)})}function h(p,f){let g=(0,bA.useFunc)(e,SA.default),_=e.name("outer");e.label(_).for((0,Ve._)`;${p}--;`,()=>e.for((0,Ve._)`${f} = ${p}; ${f}--;`,()=>e.if((0,Ve._)`${g}(${r}[${p}], ${r}[${f}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Of.default=wA});var Ib=R(If=>{"use strict";Object.defineProperty(If,"__esModule",{value:!0});var Cf=K(),$A=oe(),EA=bc(),TA={message:"must be equal to constant",params:({schemaCode:t})=>(0,Cf._)`{allowedValue: ${t}}`},PA={keyword:"const",$data:!0,error:TA,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,Cf._)`!${(0,$A.useFunc)(e,EA.default)}(${r}, ${o})`):t.fail((0,Cf._)`${s} !== ${r}`)}};If.default=PA});var Ab=R(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});var di=K(),RA=oe(),OA=bc(),CA={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,di._)`{allowedValues: ${t}}`},IA={keyword:"enum",schemaType:"array",$data:!0,error:CA,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,RA.useFunc)(e,OA.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 h=e.const("vSchema",s);l=(0,di.or)(...o.map((p,f)=>m(h,f)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,h=>e.if((0,di._)`${u()}(${r}, ${h})`,()=>e.assign(l,!0).break()))}function m(h,p){let f=o[p];return typeof f=="object"&&f!==null?(0,di._)`${u()}(${r}, ${h}[${p}])`:(0,di._)`${r} === ${f}`}}};Af.default=IA});var Nb=R(Nf=>{"use strict";Object.defineProperty(Nf,"__esModule",{value:!0});var AA=bb(),NA=Sb(),zA=$b(),jA=Eb(),MA=Tb(),DA=Pb(),LA=Rb(),FA=Cb(),ZA=Ib(),UA=Ab(),HA=[AA.default,NA.default,zA.default,jA.default,MA.default,DA.default,LA.default,FA.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},ZA.default,UA.default];Nf.default=HA});var jf=R(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.validateAdditionalItems=void 0;var Zn=K(),zf=oe(),qA={message:({params:{len:t}})=>(0,Zn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Zn._)`{limit: ${t}}`},BA={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:qA,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,zf.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}zb(t,n)}};function zb(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Zn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Zn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,zf.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Zn._)`${a} <= ${e.length}`);r.if((0,Zn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:zf.Type.Num},u),i.allErrors||r.if((0,Zn.not)(u),()=>r.break())})}}pi.validateAdditionalItems=zb;pi.default=BA});var Mf=R(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateTuple=void 0;var jb=K(),Sc=oe(),VA=Pt(),WA={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Mb(t,"additionalItems",e);r.items=!0,!(0,Sc.alwaysValidSchema)(r,e)&&t.ok((0,VA.validateArray)(t))}};function Mb(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=Sc.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,jb._)`${s}.length`);r.forEach((d,m)=>{(0,Sc.alwaysValidSchema)(a,d)||(n.if((0,jb._)`${u} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},c)),t.ok(c))});function l(d){let{opts:m,errSchemaPath:h}=a,p=r.length,f=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(m.strictTuples&&!f){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0,Sc.checkStrictMode)(a,g,m.strictTuples)}}}mi.validateTuple=Mb;mi.default=WA});var Db=R(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});var GA=Mf(),KA={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,GA.validateTuple)(t,"items")};Df.default=KA});var Fb=R(Lf=>{"use strict";Object.defineProperty(Lf,"__esModule",{value:!0});var Lb=K(),JA=oe(),YA=Pt(),XA=jf(),QA={message:({params:{len:t}})=>(0,Lb.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Lb._)`{limit: ${t}}`},eN={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:QA,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,JA.alwaysValidSchema)(n,e)&&(o?(0,XA.validateAdditionalItems)(t,o):t.ok((0,YA.validateArray)(t)))}};Lf.default=eN});var Zb=R(Ff=>{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});var Ot=K(),kc=oe(),tN={message:({params:{min:t,max:e}})=>e===void 0?(0,Ot.str)`must contain at least ${t} valid item(s)`:(0,Ot.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Ot._)`{minContains: ${t}}`:(0,Ot._)`{minContains: ${t}, maxContains: ${e}}`},rN={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:tN,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,Ot._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,kc.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,kc.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,kc.alwaysValidSchema)(s,r)){let f=(0,Ot._)`${l} >= ${i}`;a!==void 0&&(f=(0,Ot._)`${f} && ${l} <= ${a}`),t.pass(f);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?h(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,Ot._)`${o}.length > 0`,m)):(e.let(d,!1),m()),t.result(d,()=>t.reset());function m(){let f=e.name("_valid"),g=e.let("count",0);h(f,()=>e.if(f,()=>p(g)))}function h(f,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:kc.Type.Num,compositeRule:!0},f),g()})}function p(f){e.code((0,Ot._)`${f}++`),a===void 0?e.if((0,Ot._)`${f} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,Ot._)`${f} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,Ot._)`${f} >= ${i}`,()=>e.assign(d,!0)))}}};Ff.default=rN});var qb=R(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.validateSchemaDeps=nr.validatePropertyDeps=nr.error=void 0;var Zf=K(),nN=oe(),fi=Pt();nr.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Zf.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Zf._)`{property: ${t}, missingProperty: ${n}, depsCount: ${e}, - deps: ${r}}`};var nN={keyword:"dependencies",type:"object",schemaType:"object",error:nr.error,code(t){let[e,r]=oN(t);Ub(t,e),Hb(t,r)}};function oN({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 Ub(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,fi.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,fi.checkReportMissingProp)(t,u)}):(r.if((0,Uf._)`${c} && (${(0,fi.checkMissingProp)(t,a,s)})`),(0,fi.reportMissingProp)(t,s),r.else())}}nr.validatePropertyDeps=Ub;function Hb(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,rN.alwaysValidSchema)(s,e[a])||(r.if((0,fi.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))}nr.validateSchemaDeps=Hb;nr.default=nN});var Vb=R(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});var Bb=K(),sN=oe(),iN={message:"property name must be valid",params:({params:t})=>(0,Bb._)`{propertyName: ${t.propertyName}}`},aN={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:iN,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,sN.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,Bb.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Hf.default=aN});var Bf=R(qf=>{"use strict";Object.defineProperty(qf,"__esModule",{value:!0});var wc=Pt(),Ut=K(),cN=yr(),$c=oe(),uN={message:"must NOT have additional properties",params:({params:t})=>(0,Ut._)`{additionalProperty: ${t.additionalProperty}}`},lN={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:uN,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,$c.alwaysValidSchema)(i,r))return;let u=(0,wc.allSchemaProperties)(n.properties),l=(0,wc.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Ut._)`${s} === ${cN.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(m(g),()=>p(g))})}function m(g){let _;if(u.length>8){let y=(0,$c.schemaRefOrVal)(i,n.properties,"properties");_=(0,wc.isOwnProperty)(e,y,g)}else u.length?_=(0,Ut.or)(...u.map(y=>(0,Ut._)`${g} === ${y}`)):_=Ut.nil;return l.length&&(_=(0,Ut.or)(_,...l.map(y=>(0,Ut._)`${(0,wc.usePattern)(t,y)}.test(${g})`))),(0,Ut.not)(_)}function h(g){e.code((0,Ut._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,$c.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(f(g,_,!1),e.if((0,Ut.not)(_),()=>{t.reset(),h(g)})):(f(g,_),a||e.if((0,Ut.not)(_),()=>e.break()))}}function f(g,_,y){let v={keyword:"additionalProperties",dataProp:g,dataPropType:$c.Type.Str};y===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,_)}}};qf.default=lN});var Kb=R(Wf=>{"use strict";Object.defineProperty(Wf,"__esModule",{value:!0});var dN=ei(),Wb=Pt(),Vf=oe(),Gb=Bf(),pN={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&&Gb.default.code(new dN.KeywordCxt(s,Gb.default,"additionalProperties"));let i=(0,Wb.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Vf.mergeEvaluated.props(e,(0,Vf.toHash)(i),s.props));let a=i.filter(d=>!(0,Vf.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,Wb.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)}}};Wf.default=pN});var Qb=R(Gf=>{"use strict";Object.defineProperty(Gf,"__esModule",{value:!0});var Jb=Pt(),Ec=K(),Yb=oe(),Xb=oe(),mN={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,Jb.allSchemaProperties)(r),c=a.filter(f=>(0,Yb.alwaysValidSchema)(s,r[f]));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 Ec.Name)&&(s.props=(0,Xb.evaluatedPropsToName)(e,s.props));let{props:d}=s;m();function m(){for(let f of a)u&&h(f),s.allErrors?p(f):(e.var(l,!0),p(f),e.if(l))}function h(f){for(let g in u)new RegExp(f).test(g)&&(0,Yb.checkStrictMode)(s,`property ${g} matches pattern ${f} (use allowMatchingProperties)`)}function p(f){e.forIn("key",n,g=>{e.if((0,Ec._)`${(0,Jb.usePattern)(t,f)}.test(${g})`,()=>{let _=c.includes(f);_||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:g,dataPropType:Xb.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Ec._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,Ec.not)(l),()=>e.break())})})}}};Gf.default=mN});var eS=R(Kf=>{"use strict";Object.defineProperty(Kf,"__esModule",{value:!0});var fN=oe(),hN={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,fN.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"}};Kf.default=hN});var tS=R(Jf=>{"use strict";Object.defineProperty(Jf,"__esModule",{value:!0});var gN=Pt(),_N={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:gN.validateUnion,error:{message:"must match a schema in anyOf"}};Jf.default=_N});var rS=R(Yf=>{"use strict";Object.defineProperty(Yf,"__esModule",{value:!0});var Tc=K(),yN=oe(),vN={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Tc._)`{passingSchemas: ${t.passing}}`},xN={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:vN,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 m;(0,yN.alwaysValidSchema)(o,l)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Tc._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Tc._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),m&&t.mergeEvaluated(m,Tc.Name)})})}}};Yf.default=xN});var nS=R(Xf=>{"use strict";Object.defineProperty(Xf,"__esModule",{value:!0});var bN=oe(),SN={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,bN.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Xf.default=SN});var iS=R(Qf=>{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});var Pc=K(),sS=oe(),kN={message:({params:t})=>(0,Pc.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Pc._)`{failingKeyword: ${t.ifClause}}`},wN={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:kN,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,sS.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=oS(n,"then"),s=oS(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,Pc.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 m=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(m,i),d?e.assign(d,(0,Pc._)`${l}`):t.setParams({ifClause:l})}}}};function oS(t,e){let r=t.schema[e];return r!==void 0&&!(0,sS.alwaysValidSchema)(t,r)}Qf.default=wN});var aS=R(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});var $N=oe(),EN={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,$N.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};eh.default=EN});var cS=R(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});var TN=Mf(),PN=Db(),RN=Df(),ON=Fb(),CN=Zb(),IN=qb(),AN=Vb(),NN=Bf(),zN=Kb(),jN=Qb(),MN=eS(),DN=tS(),LN=rS(),FN=nS(),ZN=iS(),UN=aS();function HN(t=!1){let e=[MN.default,DN.default,LN.default,FN.default,ZN.default,UN.default,AN.default,NN.default,IN.default,zN.default,jN.default];return t?e.push(PN.default,ON.default):e.push(TN.default,RN.default),e.push(CN.default),e}th.default=HN});var uS=R(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});var Ie=K(),qN={message:({schemaCode:t})=>(0,Ie.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ie._)`{format: ${t}}`},BN={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:qN,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?m():h();function m(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),f=r.const("fDef",(0,Ie._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,Ie._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(g,(0,Ie._)`${f}.type || "string"`).assign(_,(0,Ie._)`${f}.validate`),()=>r.assign(g,(0,Ie._)`"string"`).assign(_,f)),t.fail$data((0,Ie.or)(y(),v()));function y(){return c.strictSchema===!1?Ie.nil:(0,Ie._)`${i} && !${_}`}function v(){let k=l.$async?(0,Ie._)`(${f}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Ie._)`${_}(${n})`,T=(0,Ie._)`(typeof ${_} == "function" ? ${k} : ${_}.test(${n}))`;return(0,Ie._)`${_} && ${_} !== true && ${g} === ${e} && !${T}`}}function h(){let p=d.formats[s];if(!p){y();return}if(p===!0)return;let[f,g,_]=v(p);f===e&&t.pass(k());function y(){if(c.strictSchema===!1){d.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function v(T){let J=T instanceof RegExp?(0,Ie.regexpCode)(T):c.code.formats?(0,Ie._)`${c.code.formats}${(0,Ie.getProperty)(s)}`:void 0,B=r.scopeValue("formats",{key:s,ref:T,code:J});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Ie._)`${B}.validate`]:["string",T,B]}function k(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ie._)`await ${_}(${n})`}return typeof g=="function"?(0,Ie._)`${_}(${n})`:(0,Ie._)`${_}.test(${n})`}}}};rh.default=BN});var lS=R(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});var VN=uS(),WN=[VN.default];nh.default=WN});var dS=R(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.contentVocabulary=zo.metadataVocabulary=void 0;zo.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];zo.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var mS=R(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});var GN=xb(),KN=Nb(),JN=cS(),YN=lS(),pS=dS(),XN=[GN.default,KN.default,(0,JN.default)(),YN.default,pS.metadataVocabulary,pS.contentVocabulary];oh.default=XN});var hS=R(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.DiscrError=void 0;var fS;(function(t){t.Tag="tag",t.Mapping="mapping"})(fS||(Rc.DiscrError=fS={}))});var _S=R(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});var jo=K(),sh=hS(),gS=dc(),QN=ti(),ez=oe(),tz={message:({params:{discrError:t,tagName:e}})=>t===sh.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,jo._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},rz={keyword:"discriminator",type:"object",schemaType:"object",error:tz,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,jo._)`${r}${(0,jo.getProperty)(a)}`);e.if((0,jo._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:sh.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let h=m();e.if(!1);for(let p in h)e.elseIf((0,jo._)`${u} === ${p}`),e.assign(c,d(h[p]));e.else(),t.error(!1,{discrError:sh.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(h){let p=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:h},p);return t.mergeEvaluated(f,jo.Name),p}function m(){var h;let p={},f=_(o),g=!0;for(let k=0;k{nz.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 ch=R((xe,ah)=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.MissingRefError=xe.ValidationError=xe.CodeGen=xe.Name=xe.nil=xe.stringify=xe.str=xe._=xe.KeywordCxt=xe.Ajv=void 0;var oz=fb(),sz=mS(),iz=_S(),vS=yS(),az=["/properties"],Oc="http://json-schema.org/draft-07/schema",Mo=class extends oz.default{_addVocabularies(){super._addVocabularies(),sz.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(iz.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(vS,az):vS;this.addMetaSchema(e,Oc,!1),this.refs["http://json-schema.org/schema"]=Oc}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Oc)?Oc:void 0)}};xe.Ajv=Mo;ah.exports=xe=Mo;ah.exports.Ajv=Mo;Object.defineProperty(xe,"__esModule",{value:!0});xe.default=Mo;var cz=ei();Object.defineProperty(xe,"KeywordCxt",{enumerable:!0,get:function(){return cz.KeywordCxt}});var Do=K();Object.defineProperty(xe,"_",{enumerable:!0,get:function(){return Do._}});Object.defineProperty(xe,"str",{enumerable:!0,get:function(){return Do.str}});Object.defineProperty(xe,"stringify",{enumerable:!0,get:function(){return Do.stringify}});Object.defineProperty(xe,"nil",{enumerable:!0,get:function(){return Do.nil}});Object.defineProperty(xe,"Name",{enumerable:!0,get:function(){return Do.Name}});Object.defineProperty(xe,"CodeGen",{enumerable:!0,get:function(){return Do.CodeGen}});var uz=uc();Object.defineProperty(xe,"ValidationError",{enumerable:!0,get:function(){return uz.default}});var lz=ti();Object.defineProperty(xe,"MissingRefError",{enumerable:!0,get:function(){return lz.default}})});var TS=R(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.formatNames=sr.fastFormats=sr.fullFormats=void 0;function or(t,e){return{validate:t,compare:e}}sr.fullFormats={date:or(kS,ph),time:or(lh(!0),mh),"date-time":or(xS(!0),$S),"iso-time":or(lh(),wS),"iso-date-time":or(xS(),ES),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:gz,"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:kz,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:_z,int32:{type:"number",validate:xz},int64:{type:"number",validate:bz},float:{type:"number",validate:SS},double:{type:"number",validate:SS},password:!0,binary:!0};sr.fastFormats={...sr.fullFormats,date:or(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ph),time:or(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,mh),"date-time":or(/^\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,$S),"iso-time":or(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,wS),"iso-date-time":or(/^\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,ES),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};sr.formatNames=Object.keys(sr.fullFormats);function dz(t){return t%4===0&&(t%100!==0||t%400===0)}var pz=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,mz=[0,31,28,31,30,31,30,31,31,30,31,30,31];function kS(t){let e=pz.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&&dz(r)?29:mz[n])}function ph(t,e){if(t&&e)return t>e?1:t23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,m=o-u*c-(d<0?1:0);return(m===23||m===-1)&&(d===59||d===-1)&&i<61}}function mh(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 wS(t,e){if(!(t&&e))return;let r=uh.exec(t),n=uh.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=yz}function bz(t){return Number.isInteger(t)}function SS(){return!0}var Sz=/[^\\]\\Z/;function kz(t){if(Sz.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var PS=R(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.formatLimitDefinition=void 0;var wz=ch(),Ht=K(),Vr=Ht.operators,Cc={formatMaximum:{okStr:"<=",ok:Vr.LTE,fail:Vr.GT},formatMinimum:{okStr:">=",ok:Vr.GTE,fail:Vr.LT},formatExclusiveMaximum:{okStr:"<",ok:Vr.LT,fail:Vr.GTE},formatExclusiveMinimum:{okStr:">",ok:Vr.GT,fail:Vr.LTE}},$z={message:({keyword:t,schemaCode:e})=>(0,Ht.str)`should be ${Cc[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ht._)`{comparison: ${Cc[t].okStr}, limit: ${e}}`};Lo.formatLimitDefinition={keyword:Object.keys(Cc),type:"string",schemaType:"string",$data:!0,error:$z,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 wz.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let m=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),h=e.const("fmt",(0,Ht._)`${m}[${c.schemaCode}]`);t.fail$data((0,Ht.or)((0,Ht._)`typeof ${h} != "object"`,(0,Ht._)`${h} instanceof RegExp`,(0,Ht._)`typeof ${h}.compare != "function"`,d(h)))}function l(){let m=c.schema,h=a.formats[m];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${o}": format "${m}" does not define "compare" function`);let p=e.scopeValue("formats",{key:m,ref:h,code:i.code.formats?(0,Ht._)`${i.code.formats}${(0,Ht.getProperty)(m)}`:void 0});t.fail$data(d(p))}function d(m){return(0,Ht._)`${m}.compare(${r}, ${n}) ${Cc[o].fail} 0`}},dependencies:["format"]};var Ez=t=>(t.addKeyword(Lo.formatLimitDefinition),t);Lo.default=Ez});var IS=R((hi,CS)=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});var Fo=TS(),Tz=PS(),fh=K(),RS=new fh.Name("fullFormats"),Pz=new fh.Name("fastFormats"),hh=(t,e={keywords:!0})=>{if(Array.isArray(e))return OS(t,e,Fo.fullFormats,RS),t;let[r,n]=e.mode==="fast"?[Fo.fastFormats,Pz]:[Fo.fullFormats,RS],o=e.formats||Fo.formatNames;return OS(t,o,r,n),e.keywords&&(0,Tz.default)(t),t};hh.get=(t,e="full")=>{let n=(e==="fast"?Fo.fastFormats:Fo.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function OS(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,fh._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}CS.exports=hi=hh;Object.defineProperty(hi,"__esModule",{value:!0});hi.default=hh});function Rz(){let t=new AS.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,NS.default)(t),t}var AS,NS,Ic,zS=b(()=>{AS=Yo(ch(),1),NS=Yo(IS(),1);Ic=class{constructor(e){this._ajv=e??Rz()}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 Ac,jS=b(()=>{Cn();Ac=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(m=>m.type==="tool_use").map(m=>m.id)),d=new Set(s.filter(m=>m.type==="tool_result").map(m=>m.toolUseId));if(l.size!==d.size||![...l].every(m=>d.has(m)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},Ls,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},ko,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}}});function MS(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 DS(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 LS=b(()=>{});var Nc,FS=b(()=>{Wx();Cn();zS();Ts();jS();LS();Nc=class extends Ja{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Ds.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)this._oninitialize(n)),this.setNotificationHandler(Op,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Mp,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Ds.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Ac(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Vx(this._capabilities,e)}setRequestHandler(e,r){let o=zr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(kt(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=Nr(So,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new z(D.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,m=await Promise.resolve(r(c,u));if(d.task){let p=Nr(_o,m);if(!p.success){let f=p.error instanceof Error?p.error.message:String(p.error);throw new z(D.InvalidParams,`Invalid task creation result: ${f}`)}return p.data}let h=Nr(Da,m);if(!h.success){let p=h.error instanceof Error?h.error.message:String(h.error);throw new z(D.InvalidParams,`Invalid tools/call result: ${p}`)}return h.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){DS(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&MS(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:Vv.includes(r)?r:wp,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"},$a)}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},Dp,r):this.request({method:"sampling/createMessage",params:e},Ls,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},ko,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},ko,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new z(D.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof z?i:new z(D.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},Lp,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"})}}});function gh(t){return!!t&&typeof t=="object"&&US in t}function HS(t){return t[US]?.complete}var US,ZS,qS=b(()=>{US=Symbol.for("mcp.completable");(function(t){t.Completable="McpCompletable"})(ZS||(ZS={}))});var BS=b(()=>{});function Cz(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"),!Oz.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 Iz(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 _h(t){let e=Cz(t);return Iz(t,e.warnings),e.isValid}var Oz,VS=b(()=>{Oz=/^[A-Za-z0-9._-]{1,128}$/});var zc,WS=b(()=>{zc=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 yh=b(()=>{Ki();Ki()});function JS(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function YS(t){return"_def"in t||"_zod"in t||JS(t)}function vh(t){return typeof t!="object"||t===null||YS(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(JS)}function GS(t){if(t){if(vh(t))return On(t);if(!YS(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function Nz(t){let e=zr(t);return e?Object.entries(e).map(([r,n])=>{let o=_v(n),s=yv(n);return{name:r,description:o,required:!s}}):[]}function Wr(t){let r=zr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=va(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function KS(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var jc,Az,gi,XS=b(()=>{FS();Ts();Sm();Cn();qS();BS();VS();WS();yh();jc=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 Nc(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new zc(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(Wr(Ma)),this.server.assertCanSetRequestHandler(Wr(So)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Ma,()=>({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=ho(r.inputSchema);return o?vm(o,{strictUnions:!0,pipeStrategy:"input"}):Az})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=ho(r.outputSchema);o&&(n.outputSchema=vm(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(So,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new z(D.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new z(D.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 z(D.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new z(D.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 z&&n.code===D.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=ho(e.inputSchema)??e.inputSchema,i=await _a(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ya(a);throw new z(D.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 z(D.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=ho(e.outputSchema),s=await _a(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ya(i);throw new z(D.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(m=>setTimeout(m,l));let d=await n.taskStore.getTask(c);if(!d)throw new z(D.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(Wr(La)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(La,async e=>{switch(e.params.ref.type){case"ref/prompt":return cx(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return ux(e),this.handleResourceCompletion(e,e.params.ref);default:throw new z(D.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new z(D.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new z(D.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return gi;let s=zr(n.argsSchema)?.[e.params.argument.name];if(!gh(s))return gi;let i=HS(s);if(!i)return gi;let a=await i(e.params.argument.value,e.params.context);return KS(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 gi;throw new z(D.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return gi;let s=await o(e.params.argument.value,e.params.context);return KS(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(Wr(vo)),this.server.assertCanSetRequestHandler(Wr(xo)),this.server.assertCanSetRequestHandler(Wr(za)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(vo,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(xo,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(za,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new z(D.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 z(D.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(Wr(bo)),this.server.assertCanSetRequestHandler(Wr(ja)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(bo,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?Nz(r.argsSchema):void 0}))})),this.server.setRequestHandler(ja,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new z(D.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new z(D.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=ho(n.argsSchema),s=await _a(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ya(c);throw new z(D.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:On(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=On(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 it?c._def?.innerType:c;return gh(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){_h(e);let l={title:r,description:n,inputSchema:GS(o),outputSchema:GS(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"&&_h(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=On(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=On(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(vh(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!vh(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}},Az={type:"object",properties:{}};gi={completion:{values:[],hasMore:!1}}});function zz(t){return ex.parse(JSON.parse(t))}function QS(t){return JSON.stringify(t)+` + deps: ${r}}`};var oN={keyword:"dependencies",type:"object",schemaType:"object",error:nr.error,code(t){let[e,r]=sN(t);Ub(t,e),Hb(t,r)}};function sN({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 Ub(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,fi.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,fi.checkReportMissingProp)(t,u)}):(r.if((0,Zf._)`${c} && (${(0,fi.checkMissingProp)(t,a,s)})`),(0,fi.reportMissingProp)(t,s),r.else())}}nr.validatePropertyDeps=Ub;function Hb(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,nN.alwaysValidSchema)(s,e[a])||(r.if((0,fi.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))}nr.validateSchemaDeps=Hb;nr.default=oN});var Vb=R(Uf=>{"use strict";Object.defineProperty(Uf,"__esModule",{value:!0});var Bb=K(),iN=oe(),aN={message:"property name must be valid",params:({params:t})=>(0,Bb._)`{propertyName: ${t.propertyName}}`},cN={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:aN,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,iN.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,Bb.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Uf.default=cN});var qf=R(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});var wc=Pt(),Ut=K(),uN=yr(),$c=oe(),lN={message:"must NOT have additional properties",params:({params:t})=>(0,Ut._)`{additionalProperty: ${t.additionalProperty}}`},dN={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:lN,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,$c.alwaysValidSchema)(i,r))return;let u=(0,wc.allSchemaProperties)(n.properties),l=(0,wc.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Ut._)`${s} === ${uN.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(m(g),()=>p(g))})}function m(g){let _;if(u.length>8){let y=(0,$c.schemaRefOrVal)(i,n.properties,"properties");_=(0,wc.isOwnProperty)(e,y,g)}else u.length?_=(0,Ut.or)(...u.map(y=>(0,Ut._)`${g} === ${y}`)):_=Ut.nil;return l.length&&(_=(0,Ut.or)(_,...l.map(y=>(0,Ut._)`${(0,wc.usePattern)(t,y)}.test(${g})`))),(0,Ut.not)(_)}function h(g){e.code((0,Ut._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,$c.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(f(g,_,!1),e.if((0,Ut.not)(_),()=>{t.reset(),h(g)})):(f(g,_),a||e.if((0,Ut.not)(_),()=>e.break()))}}function f(g,_,y){let v={keyword:"additionalProperties",dataProp:g,dataPropType:$c.Type.Str};y===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,_)}}};Hf.default=dN});var Kb=R(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0});var pN=ei(),Wb=Pt(),Bf=oe(),Gb=qf(),mN={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&&Gb.default.code(new pN.KeywordCxt(s,Gb.default,"additionalProperties"));let i=(0,Wb.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Bf.mergeEvaluated.props(e,(0,Bf.toHash)(i),s.props));let a=i.filter(d=>!(0,Bf.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,Wb.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)}}};Vf.default=mN});var Qb=R(Wf=>{"use strict";Object.defineProperty(Wf,"__esModule",{value:!0});var Jb=Pt(),Ec=K(),Yb=oe(),Xb=oe(),fN={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,Jb.allSchemaProperties)(r),c=a.filter(f=>(0,Yb.alwaysValidSchema)(s,r[f]));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 Ec.Name)&&(s.props=(0,Xb.evaluatedPropsToName)(e,s.props));let{props:d}=s;m();function m(){for(let f of a)u&&h(f),s.allErrors?p(f):(e.var(l,!0),p(f),e.if(l))}function h(f){for(let g in u)new RegExp(f).test(g)&&(0,Yb.checkStrictMode)(s,`property ${g} matches pattern ${f} (use allowMatchingProperties)`)}function p(f){e.forIn("key",n,g=>{e.if((0,Ec._)`${(0,Jb.usePattern)(t,f)}.test(${g})`,()=>{let _=c.includes(f);_||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:g,dataPropType:Xb.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Ec._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,Ec.not)(l),()=>e.break())})})}}};Wf.default=fN});var eS=R(Gf=>{"use strict";Object.defineProperty(Gf,"__esModule",{value:!0});var hN=oe(),gN={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,hN.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"}};Gf.default=gN});var tS=R(Kf=>{"use strict";Object.defineProperty(Kf,"__esModule",{value:!0});var _N=Pt(),yN={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:_N.validateUnion,error:{message:"must match a schema in anyOf"}};Kf.default=yN});var rS=R(Jf=>{"use strict";Object.defineProperty(Jf,"__esModule",{value:!0});var Tc=K(),vN=oe(),xN={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Tc._)`{passingSchemas: ${t.passing}}`},bN={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:xN,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 m;(0,vN.alwaysValidSchema)(o,l)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Tc._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Tc._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),m&&t.mergeEvaluated(m,Tc.Name)})})}}};Jf.default=bN});var nS=R(Yf=>{"use strict";Object.defineProperty(Yf,"__esModule",{value:!0});var SN=oe(),kN={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,SN.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Yf.default=kN});var iS=R(Xf=>{"use strict";Object.defineProperty(Xf,"__esModule",{value:!0});var Pc=K(),sS=oe(),wN={message:({params:t})=>(0,Pc.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Pc._)`{failingKeyword: ${t.ifClause}}`},$N={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:wN,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,sS.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=oS(n,"then"),s=oS(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,Pc.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 m=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(m,i),d?e.assign(d,(0,Pc._)`${l}`):t.setParams({ifClause:l})}}}};function oS(t,e){let r=t.schema[e];return r!==void 0&&!(0,sS.alwaysValidSchema)(t,r)}Xf.default=$N});var aS=R(Qf=>{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});var EN=oe(),TN={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,EN.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Qf.default=TN});var cS=R(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});var PN=jf(),RN=Db(),ON=Mf(),CN=Fb(),IN=Zb(),AN=qb(),NN=Vb(),zN=qf(),jN=Kb(),MN=Qb(),DN=eS(),LN=tS(),FN=rS(),ZN=nS(),UN=iS(),HN=aS();function qN(t=!1){let e=[DN.default,LN.default,FN.default,ZN.default,UN.default,HN.default,NN.default,zN.default,AN.default,jN.default,MN.default];return t?e.push(RN.default,CN.default):e.push(PN.default,ON.default),e.push(IN.default),e}eh.default=qN});var uS=R(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});var Ie=K(),BN={message:({schemaCode:t})=>(0,Ie.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ie._)`{format: ${t}}`},VN={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:BN,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?m():h();function m(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),f=r.const("fDef",(0,Ie._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,Ie._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(g,(0,Ie._)`${f}.type || "string"`).assign(_,(0,Ie._)`${f}.validate`),()=>r.assign(g,(0,Ie._)`"string"`).assign(_,f)),t.fail$data((0,Ie.or)(y(),v()));function y(){return c.strictSchema===!1?Ie.nil:(0,Ie._)`${i} && !${_}`}function v(){let k=l.$async?(0,Ie._)`(${f}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Ie._)`${_}(${n})`,T=(0,Ie._)`(typeof ${_} == "function" ? ${k} : ${_}.test(${n}))`;return(0,Ie._)`${_} && ${_} !== true && ${g} === ${e} && !${T}`}}function h(){let p=d.formats[s];if(!p){y();return}if(p===!0)return;let[f,g,_]=v(p);f===e&&t.pass(k());function y(){if(c.strictSchema===!1){d.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function v(T){let J=T instanceof RegExp?(0,Ie.regexpCode)(T):c.code.formats?(0,Ie._)`${c.code.formats}${(0,Ie.getProperty)(s)}`:void 0,B=r.scopeValue("formats",{key:s,ref:T,code:J});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Ie._)`${B}.validate`]:["string",T,B]}function k(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ie._)`await ${_}(${n})`}return typeof g=="function"?(0,Ie._)`${_}(${n})`:(0,Ie._)`${_}.test(${n})`}}}};th.default=VN});var lS=R(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});var WN=uS(),GN=[WN.default];rh.default=GN});var dS=R(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.contentVocabulary=zo.metadataVocabulary=void 0;zo.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];zo.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var mS=R(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});var KN=xb(),JN=Nb(),YN=cS(),XN=lS(),pS=dS(),QN=[KN.default,JN.default,(0,YN.default)(),XN.default,pS.metadataVocabulary,pS.contentVocabulary];nh.default=QN});var hS=R(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.DiscrError=void 0;var fS;(function(t){t.Tag="tag",t.Mapping="mapping"})(fS||(Rc.DiscrError=fS={}))});var _S=R(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});var jo=K(),oh=hS(),gS=dc(),ez=ti(),tz=oe(),rz={message:({params:{discrError:t,tagName:e}})=>t===oh.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,jo._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},nz={keyword:"discriminator",type:"object",schemaType:"object",error:rz,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,jo._)`${r}${(0,jo.getProperty)(a)}`);e.if((0,jo._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:oh.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let h=m();e.if(!1);for(let p in h)e.elseIf((0,jo._)`${u} === ${p}`),e.assign(c,d(h[p]));e.else(),t.error(!1,{discrError:oh.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(h){let p=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:h},p);return t.mergeEvaluated(f,jo.Name),p}function m(){var h;let p={},f=_(o),g=!0;for(let k=0;k{oz.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 ah=R((xe,ih)=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.MissingRefError=xe.ValidationError=xe.CodeGen=xe.Name=xe.nil=xe.stringify=xe.str=xe._=xe.KeywordCxt=xe.Ajv=void 0;var sz=fb(),iz=mS(),az=_S(),vS=yS(),cz=["/properties"],Oc="http://json-schema.org/draft-07/schema",Mo=class extends sz.default{_addVocabularies(){super._addVocabularies(),iz.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(az.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(vS,cz):vS;this.addMetaSchema(e,Oc,!1),this.refs["http://json-schema.org/schema"]=Oc}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Oc)?Oc:void 0)}};xe.Ajv=Mo;ih.exports=xe=Mo;ih.exports.Ajv=Mo;Object.defineProperty(xe,"__esModule",{value:!0});xe.default=Mo;var uz=ei();Object.defineProperty(xe,"KeywordCxt",{enumerable:!0,get:function(){return uz.KeywordCxt}});var Do=K();Object.defineProperty(xe,"_",{enumerable:!0,get:function(){return Do._}});Object.defineProperty(xe,"str",{enumerable:!0,get:function(){return Do.str}});Object.defineProperty(xe,"stringify",{enumerable:!0,get:function(){return Do.stringify}});Object.defineProperty(xe,"nil",{enumerable:!0,get:function(){return Do.nil}});Object.defineProperty(xe,"Name",{enumerable:!0,get:function(){return Do.Name}});Object.defineProperty(xe,"CodeGen",{enumerable:!0,get:function(){return Do.CodeGen}});var lz=uc();Object.defineProperty(xe,"ValidationError",{enumerable:!0,get:function(){return lz.default}});var dz=ti();Object.defineProperty(xe,"MissingRefError",{enumerable:!0,get:function(){return dz.default}})});var TS=R(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.formatNames=sr.fastFormats=sr.fullFormats=void 0;function or(t,e){return{validate:t,compare:e}}sr.fullFormats={date:or(kS,dh),time:or(uh(!0),ph),"date-time":or(xS(!0),$S),"iso-time":or(uh(),wS),"iso-date-time":or(xS(),ES),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_z,"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:wz,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:yz,int32:{type:"number",validate:bz},int64:{type:"number",validate:Sz},float:{type:"number",validate:SS},double:{type:"number",validate:SS},password:!0,binary:!0};sr.fastFormats={...sr.fullFormats,date:or(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,dh),time:or(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ph),"date-time":or(/^\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,$S),"iso-time":or(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,wS),"iso-date-time":or(/^\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,ES),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};sr.formatNames=Object.keys(sr.fullFormats);function pz(t){return t%4===0&&(t%100!==0||t%400===0)}var mz=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,fz=[0,31,28,31,30,31,30,31,31,30,31,30,31];function kS(t){let e=mz.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&&pz(r)?29:fz[n])}function dh(t,e){if(t&&e)return t>e?1:t23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,m=o-u*c-(d<0?1:0);return(m===23||m===-1)&&(d===59||d===-1)&&i<61}}function ph(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 wS(t,e){if(!(t&&e))return;let r=ch.exec(t),n=ch.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=vz}function Sz(t){return Number.isInteger(t)}function SS(){return!0}var kz=/[^\\]\\Z/;function wz(t){if(kz.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var PS=R(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.formatLimitDefinition=void 0;var $z=ah(),Ht=K(),Vr=Ht.operators,Cc={formatMaximum:{okStr:"<=",ok:Vr.LTE,fail:Vr.GT},formatMinimum:{okStr:">=",ok:Vr.GTE,fail:Vr.LT},formatExclusiveMaximum:{okStr:"<",ok:Vr.LT,fail:Vr.GTE},formatExclusiveMinimum:{okStr:">",ok:Vr.GT,fail:Vr.LTE}},Ez={message:({keyword:t,schemaCode:e})=>(0,Ht.str)`should be ${Cc[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ht._)`{comparison: ${Cc[t].okStr}, limit: ${e}}`};Lo.formatLimitDefinition={keyword:Object.keys(Cc),type:"string",schemaType:"string",$data:!0,error:Ez,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 $z.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let m=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),h=e.const("fmt",(0,Ht._)`${m}[${c.schemaCode}]`);t.fail$data((0,Ht.or)((0,Ht._)`typeof ${h} != "object"`,(0,Ht._)`${h} instanceof RegExp`,(0,Ht._)`typeof ${h}.compare != "function"`,d(h)))}function l(){let m=c.schema,h=a.formats[m];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${o}": format "${m}" does not define "compare" function`);let p=e.scopeValue("formats",{key:m,ref:h,code:i.code.formats?(0,Ht._)`${i.code.formats}${(0,Ht.getProperty)(m)}`:void 0});t.fail$data(d(p))}function d(m){return(0,Ht._)`${m}.compare(${r}, ${n}) ${Cc[o].fail} 0`}},dependencies:["format"]};var Tz=t=>(t.addKeyword(Lo.formatLimitDefinition),t);Lo.default=Tz});var IS=R((hi,CS)=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});var Fo=TS(),Pz=PS(),mh=K(),RS=new mh.Name("fullFormats"),Rz=new mh.Name("fastFormats"),fh=(t,e={keywords:!0})=>{if(Array.isArray(e))return OS(t,e,Fo.fullFormats,RS),t;let[r,n]=e.mode==="fast"?[Fo.fastFormats,Rz]:[Fo.fullFormats,RS],o=e.formats||Fo.formatNames;return OS(t,o,r,n),e.keywords&&(0,Pz.default)(t),t};fh.get=(t,e="full")=>{let n=(e==="fast"?Fo.fastFormats:Fo.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function OS(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,mh._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}CS.exports=hi=fh;Object.defineProperty(hi,"__esModule",{value:!0});hi.default=fh});function Oz(){let t=new AS.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,NS.default)(t),t}var AS,NS,Ic,zS=b(()=>{AS=Yo(ah(),1),NS=Yo(IS(),1);Ic=class{constructor(e){this._ajv=e??Oz()}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 Ac,jS=b(()=>{Cn();Ac=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(m=>m.type==="tool_use").map(m=>m.id)),d=new Set(s.filter(m=>m.type==="tool_result").map(m=>m.toolUseId));if(l.size!==d.size||![...l].every(m=>d.has(m)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},Ls,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},ko,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}}});function MS(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 DS(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 LS=b(()=>{});var Nc,FS=b(()=>{Wx();Cn();zS();Ts();jS();LS();Nc=class extends Ja{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Ds.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)this._oninitialize(n)),this.setNotificationHandler(Rp,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(jp,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Ds.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Ac(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Vx(this._capabilities,e)}setRequestHandler(e,r){let o=zr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(kt(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=Nr(So,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new z(D.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,m=await Promise.resolve(r(c,u));if(d.task){let p=Nr(_o,m);if(!p.success){let f=p.error instanceof Error?p.error.message:String(p.error);throw new z(D.InvalidParams,`Invalid task creation result: ${f}`)}return p.data}let h=Nr(Da,m);if(!h.success){let p=h.error instanceof Error?h.error.message:String(h.error);throw new z(D.InvalidParams,`Invalid tools/call result: ${p}`)}return h.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){DS(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&MS(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:Vv.includes(r)?r:kp,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"},$a)}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},Mp,r):this.request({method:"sampling/createMessage",params:e},Ls,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},ko,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},ko,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new z(D.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof z?i:new z(D.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},Dp,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"})}}});function hh(t){return!!t&&typeof t=="object"&&US in t}function HS(t){return t[US]?.complete}var US,ZS,qS=b(()=>{US=Symbol.for("mcp.completable");(function(t){t.Completable="McpCompletable"})(ZS||(ZS={}))});var BS=b(()=>{});function Iz(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"),!Cz.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 Az(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 gh(t){let e=Iz(t);return Az(t,e.warnings),e.isValid}var Cz,VS=b(()=>{Cz=/^[A-Za-z0-9._-]{1,128}$/});var zc,WS=b(()=>{zc=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 _h=b(()=>{Ki();Ki()});function JS(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function YS(t){return"_def"in t||"_zod"in t||JS(t)}function yh(t){return typeof t!="object"||t===null||YS(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(JS)}function GS(t){if(t){if(yh(t))return On(t);if(!YS(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function zz(t){let e=zr(t);return e?Object.entries(e).map(([r,n])=>{let o=_v(n),s=yv(n);return{name:r,description:o,required:!s}}):[]}function Wr(t){let r=zr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=va(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function KS(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var jc,Nz,gi,XS=b(()=>{FS();Ts();bm();Cn();qS();BS();VS();WS();_h();jc=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 Nc(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new zc(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(Wr(Ma)),this.server.assertCanSetRequestHandler(Wr(So)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Ma,()=>({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=ho(r.inputSchema);return o?ym(o,{strictUnions:!0,pipeStrategy:"input"}):Nz})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=ho(r.outputSchema);o&&(n.outputSchema=ym(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(So,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new z(D.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new z(D.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 z(D.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new z(D.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 z&&n.code===D.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=ho(e.inputSchema)??e.inputSchema,i=await _a(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ya(a);throw new z(D.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 z(D.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=ho(e.outputSchema),s=await _a(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ya(i);throw new z(D.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(m=>setTimeout(m,l));let d=await n.taskStore.getTask(c);if(!d)throw new z(D.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(Wr(La)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(La,async e=>{switch(e.params.ref.type){case"ref/prompt":return cx(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return ux(e),this.handleResourceCompletion(e,e.params.ref);default:throw new z(D.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new z(D.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new z(D.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return gi;let s=zr(n.argsSchema)?.[e.params.argument.name];if(!hh(s))return gi;let i=HS(s);if(!i)return gi;let a=await i(e.params.argument.value,e.params.context);return KS(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 gi;throw new z(D.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return gi;let s=await o(e.params.argument.value,e.params.context);return KS(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(Wr(vo)),this.server.assertCanSetRequestHandler(Wr(xo)),this.server.assertCanSetRequestHandler(Wr(za)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(vo,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(xo,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(za,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new z(D.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 z(D.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(Wr(bo)),this.server.assertCanSetRequestHandler(Wr(ja)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(bo,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?zz(r.argsSchema):void 0}))})),this.server.setRequestHandler(ja,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new z(D.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new z(D.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=ho(n.argsSchema),s=await _a(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ya(c);throw new z(D.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:On(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=On(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 it?c._def?.innerType:c;return hh(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){gh(e);let l={title:r,description:n,inputSchema:GS(o),outputSchema:GS(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"&&gh(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=On(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=On(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(yh(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!yh(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}},Nz={type:"object",properties:{}};gi={completion:{values:[],hasMore:!1}}});function jz(t){return ex.parse(JSON.parse(t))}function QS(t){return JSON.stringify(t)+` `}var Mc,ek=b(()=>{Cn();Mc=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` -`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),zz(r)}clear(){this._buffer=void 0}}});import tk from"node:process";var Dc,rk=b(()=>{ek();Dc=class{constructor(e=tk.stdin,r=tk.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new Mc,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=QS(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}}});var ck={};Le(ck,{PolyglotExecutor:()=>Zo});import{spawn as jz,execSync as Mz,execFileSync as ik}from"node:child_process";import{mkdtempSync as Dz,writeFileSync as nk,rmSync as ok,existsSync as sk}from"node:fs";import{join as Lc,resolve as ak}from"node:path";import{tmpdir as Lz}from"node:os";function xh(t){if(Ct&&t.pid)try{Mz(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var Ct,Fz,Zo,bh=b(()=>{"use strict";Ai();Ct=process.platform==="win32",Fz=(()=>{if(Ct)return process.env.TEMP??process.env.TMP??Lz();try{let t=ik(process.platform==="darwin"?"getconf":"mktemp",process.platform==="darwin"?["DARWIN_USER_TEMP_DIR"]:["-u","-d"],{env:{...process.env,TMPDIR:void 0},encoding:"utf-8"}).trim(),e=process.platform==="darwin"?t:ak(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();Zo=class{#e;#t;#n;#o=new Set;constructor(e){this.#e=e?.hardCapBytes??100*1024*1024,this.#t=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??Gn()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(Ct?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=Dz(Lc(Fz,".ctx-mode-"));try{let a=this.#i(i,n,r),c=hg(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#t:i,l=await this.#s(c,u,i,o,s);if(!l.backgrounded)try{ok(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{ok(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=ak(this.#t,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main +`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),jz(r)}clear(){this._buffer=void 0}}});import tk from"node:process";var Dc,rk=b(()=>{ek();Dc=class{constructor(e=tk.stdin,r=tk.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new Mc,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=QS(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}}});var ck={};Le(ck,{PolyglotExecutor:()=>Zo});import{spawn as Mz,execSync as Dz,execFileSync as ik}from"node:child_process";import{mkdtempSync as Lz,writeFileSync as nk,rmSync as ok,existsSync as sk}from"node:fs";import{join as Lc,resolve as ak}from"node:path";import{tmpdir as Fz}from"node:os";function vh(t){if(Ct&&t.pid)try{Dz(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var Ct,Zz,Zo,xh=b(()=>{"use strict";Ai();Ct=process.platform==="win32",Zz=(()=>{if(Ct)return process.env.TEMP??process.env.TMP??Fz();try{let t=ik(process.platform==="darwin"?"getconf":"mktemp",process.platform==="darwin"?["DARWIN_USER_TEMP_DIR"]:["-u","-d"],{env:{...process.env,TMPDIR:void 0},encoding:"utf-8"}).trim(),e=process.platform==="darwin"?t:ak(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();Zo=class{#e;#t;#n;#o=new Set;constructor(e){this.#e=e?.hardCapBytes??100*1024*1024,this.#t=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??Gn()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(Ct?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=Lz(Lc(Zz,".ctx-mode-"));try{let a=this.#i(i,n,r),c=hg(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#t:i,l=await this.#s(c,u,i,o,s);if(!l.backgrounded)try{ok(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{ok(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=ak(this.#t,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main import "fmt" @@ -69,7 +69,7 @@ ${r}`),n==="elixir"&&sk(Lc(this.#t,"mix.exs"))&&(r=`Path.wildcard(Path.join(${JS |> Enum.each(&Code.prepend_path/1) ${r}`);let s=Lc(e,`script.${o[n]}`);return n==="shell"?nk(s,r,{encoding:"utf-8",mode:448}):nk(s,r,"utf-8"),s}async#a(e,r,n){let o=Ct?".exe":"",s=e.replace(/\.rs$/,"")+o;try{ik("rustc",[e,"-o",s],{cwd:r,timeout:Math.min(n,6e4),encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(i){return{stdout:"",stderr:`Compilation failed: -${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,r,n)}async#s(e,r,n,o,s=!1){return new Promise(i=>{let a=Ct&&["tsx","ts-node","elixir"].includes(e[0]),c=e[0],u;Ct&&e.length===2&&e[1]?u=[e[1].replace(/\\/g,"/")]:u=Ct?e.slice(1).map(y=>y.replace(/\\/g,"/")):e.slice(1);let l=jz(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(n),shell:a,detached:!Ct}),d=!1,m=!1,h=setTimeout(()=>{if(d=!0,s){m=!0,l.pid&&this.#o.add(l.pid),l.unref(),l.stdout.destroy(),l.stderr.destroy();let y=Buffer.concat(p).toString("utf-8"),v=Buffer.concat(f).toString("utf-8");i({stdout:y,stderr:v,exitCode:0,timedOut:!0,backgrounded:!0})}else xh(l)},o),p=[],f=[],g=0,_=!1;l.stdout.on("data",y=>{g+=y.length,g<=this.#e?p.push(y):_||(_=!0,xh(l))}),l.stderr.on("data",y=>{g+=y.length,g<=this.#e?f.push(y):_||(_=!0,xh(l))}),l.on("close",y=>{if(clearTimeout(h),m)return;let v=Buffer.concat(p).toString("utf-8"),k=Buffer.concat(f).toString("utf-8");_&&(k+=` +${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,r,n)}async#s(e,r,n,o,s=!1){return new Promise(i=>{let a=Ct&&["tsx","ts-node","elixir"].includes(e[0]),c=e[0],u;Ct&&e.length===2&&e[1]?u=[e[1].replace(/\\/g,"/")]:u=Ct?e.slice(1).map(y=>y.replace(/\\/g,"/")):e.slice(1);let l=Mz(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(n),shell:a,detached:!Ct}),d=!1,m=!1,h=setTimeout(()=>{if(d=!0,s){m=!0,l.pid&&this.#o.add(l.pid),l.unref(),l.stdout.destroy(),l.stderr.destroy();let y=Buffer.concat(p).toString("utf-8"),v=Buffer.concat(f).toString("utf-8");i({stdout:y,stderr:v,exitCode:0,timedOut:!0,backgrounded:!0})}else vh(l)},o),p=[],f=[],g=0,_=!1;l.stdout.on("data",y=>{g+=y.length,g<=this.#e?p.push(y):_||(_=!0,vh(l))}),l.stderr.on("data",y=>{g+=y.length,g<=this.#e?f.push(y):_||(_=!0,vh(l))}),l.on("close",y=>{if(clearTimeout(h),m)return;let v=Buffer.concat(p).toString("utf-8"),k=Buffer.concat(f).toString("utf-8");_&&(k+=` [output capped at ${(this.#e/1024/1024).toFixed(0)}MB \u2014 process killed]`),i({stdout:v,stderr:k,exitCode:d?1:y??1,timedOut:d})}),l.on("error",y=>{clearTimeout(h),!m&&i({stdout:"",stderr:y.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",Ct&&!o.PATH&&o.Path&&(o.PATH=o.Path,delete o.Path),o.PATH||(o.PATH=Ct?"":"/usr/local/bin:/usr/bin:/bin"),Ct){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=Ct?[]:["/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(sk(i)){o.SSL_CERT_FILE=i;break}}return o}#u(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o}; const file_path = FILE_CONTENT_PATH; const FILE_CONTENT = require("fs").readFileSync(FILE_CONTENT_PATH, "utf-8"); @@ -125,7 +125,7 @@ FILE_CONTENT <- paste(FILE_CONTENT, collapse="\\n") ${n}`;case"elixir":return`file_content_path = ${o} file_path = file_content_path file_content = File.read!(file_content_path) -${n}`}}}});var pk={};Le(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Zc,SQLiteBase:()=>Uc,applyWALPragmas:()=>Ho,cleanOrphanedWALFiles:()=>qo,closeDB:()=>Bo,defaultDBPath:()=>lk,deleteDBFiles:()=>Hc,isSQLiteCorruptionError:()=>qc,loadDatabase:()=>Un,renameCorruptDB:()=>dk,withRetry:()=>Gr});import{createRequire as Zz}from"node:module";import{existsSync as Uz,unlinkSync as uk,renameSync as Hz}from"node:fs";import{tmpdir as qz}from"node:os";import{join as Bz}from"node:path";function Un(){if(!Uo){let t=Zz(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;Uo=function(n,o){let s=new e(n,{readonly:o?.readonly,create:!0}),i=new Fc(s);return o?.timeout&&i.pragma(`busy_timeout = ${o.timeout}`),i}}else if(process.platform==="linux")try{let{DatabaseSync:e}=t(["node","sqlite"].join(":"));Uo=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new Zc(s)}}catch{Uo=t("better-sqlite3")}else Uo=t("better-sqlite3")}return Uo}function Ho(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function qo(t){if(!Uz(t))for(let e of["-wal","-shm"])try{uk(t+e)}catch{}}function Hc(t){for(let e of["","-wal","-shm"])try{uk(t+e)}catch{}}function Bo(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function lk(t="context-mode"){return Bz(qz(),`${t}-${process.pid}.db`)}function Gr(t,e=[100,500,2e3]){let r;for(let n=0;n<=e.length;n++)try{return t()}catch(o){let s=o instanceof Error?o.message:String(o);if(!s.includes("SQLITE_BUSY")&&!s.includes("database is locked"))throw o;if(r=o instanceof Error?o:new Error(s),n{"use strict";Fc=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){let r="",n=null;for(let s=0;sr.run(...n),get:(...n)=>{let o=r.get(...n);return o===null?void 0:o},all:(...n)=>r.all(...n),iterate:(...n)=>r.iterate(...n)}}transaction(e){return this.#e.transaction(e)}close(){this.#e.close()}},Zc=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){return this.#e.exec(e),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.run(...n),get:(...n)=>r.get(...n),all:(...n)=>r.all(...n),iterate:(...n)=>typeof r.iterate=="function"?r.iterate(...n):r.all(...n)[Symbol.iterator]()}}transaction(e){return(...r)=>{this.#e.exec("BEGIN");try{let n=e(...r);return this.#e.exec("COMMIT"),n}catch(n){throw this.#e.exec("ROLLBACK"),n}}}close(){this.#e.close()}},Uo=null;_i=Symbol.for("__context_mode_live_dbs__"),Sh=(()=>{let t=globalThis;return t[_i]||(t[_i]=new Set,process.on("exit",()=>{for(let e of t[_i])Bo(e);t[_i].clear()})),t[_i]})(),Uc=class{#e;#t;constructor(e){let r=Un();this.#e=e,qo(e);let n;try{n=new r(e,{timeout:3e4}),Ho(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(qc(s)){dk(e),qo(e);try{n=new r(e,{timeout:3e4}),Ho(n)}catch(i){throw new Error(`Failed to create fresh DB after renaming corrupt file: ${i instanceof Error?i.message:String(i)}`)}}else throw o}this.#t=n,Sh.add(this.#t),this.initSchema(),this.prepareStatements()}get db(){return this.#t}get dbPath(){return this.#e}close(){Sh.delete(this.#t),Bo(this.#t)}withRetry(e){return Gr(e)}cleanup(){Sh.delete(this.#t),Bo(this.#t),Hc(this.#e)}}});import{readFileSync as Vz,readdirSync as hk,unlinkSync as wh,existsSync as mk,statSync as kh}from"node:fs";import{tmpdir as gk}from"node:os";import{join as $h}from"node:path";function _k(t){let e=new Set,r=[];for(let n of t){let o=n.toLowerCase();e.has(o)||(e.add(o),r.push(n))}return r}function Wz(t,e="AND"){let r=_k(t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(s=>s.length>0&&!["AND","OR","NOT","NEAR"].includes(s.toUpperCase())));if(r.length===0)return'""';let n=r.filter(s=>!Vo.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function Gz(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=_k(r.split(/\s+/).filter(i=>i.length>=3));if(n.length===0)return"";let o=n.filter(i=>!Vo.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function Kz(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 Jz(t){return t<=4?1:t<=12?2:3}function Eh(){let t=gk(),e=0;try{let r=hk(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=$h(t,n);for(let a of["","-wal","-shm"])try{wh(i+a)}catch{}e++}}}catch{}return e}function Th(t,e){let r=0;try{if(!mk(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=hk(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=$h(t,s),c=kh(i).mtimeMs0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{wh(i+u)}catch{}r++}}catch{}}catch{}return r}function Yz(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function Xz(t){if(t.length===0)return 1/0;if(t.length===1)return 0;let e=t.map(o=>[...o].sort((s,i)=>s-i)),r=new Array(e.length).fill(0),n=1/0;for(;;){let o=1/0,s=-1/0,i=0;for(let c=0;cs&&(s=u)}let a=s-o;if(a=e[i].length)break}return n}var Vo,fk,Bc,yk=b(()=>{"use strict";yi();Vo=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"]);fk=4096;Bc=class t{#e;#t;#n;#o;#i;#a;#s;#c;#u;#p;#m;#f;#h;#g;#_;#y;#v;#x;#b;#S;#k;#w;#$;#E;#T;#P;#R;#O;#C;#I;#A;#N;#z=0;static OPTIMIZE_EVERY=50;#r=new Map;static FUZZY_CACHE_SIZE=256;constructor(e){let r=Un();this.#t=e??$h(gk(),`context-mode-${process.pid}.db`),qo(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),Ho(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(qc(s)){Hc(this.#t),qo(this.#t);try{n=new r(this.#t,{timeout:3e4}),Ho(n)}catch(i){throw new Error(`Failed to create fresh DB after deleting corrupt file: ${i instanceof Error?i.message:String(i)}`)}}else throw o}this.#e=n,this.#Z(),this.#U()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{wh(this.#t+e)}catch{}}#Z(){this.#e.exec(` +${n}`}}}});var pk={};Le(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Zc,SQLiteBase:()=>Uc,applyWALPragmas:()=>Ho,cleanOrphanedWALFiles:()=>qo,closeDB:()=>Bo,defaultDBPath:()=>lk,deleteDBFiles:()=>Hc,isSQLiteCorruptionError:()=>qc,loadDatabase:()=>Un,renameCorruptDB:()=>dk,withRetry:()=>Gr});import{createRequire as Uz}from"node:module";import{existsSync as Hz,unlinkSync as uk,renameSync as qz}from"node:fs";import{tmpdir as Bz}from"node:os";import{join as Vz}from"node:path";function Un(){if(!Uo){let t=Uz(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;Uo=function(n,o){let s=new e(n,{readonly:o?.readonly,create:!0}),i=new Fc(s);return o?.timeout&&i.pragma(`busy_timeout = ${o.timeout}`),i}}else if(process.platform==="linux")try{let{DatabaseSync:e}=t(["node","sqlite"].join(":"));Uo=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new Zc(s)}}catch{Uo=t("better-sqlite3")}else Uo=t("better-sqlite3")}return Uo}function Ho(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function qo(t){if(!Hz(t))for(let e of["-wal","-shm"])try{uk(t+e)}catch{}}function Hc(t){for(let e of["","-wal","-shm"])try{uk(t+e)}catch{}}function Bo(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function lk(t="context-mode"){return Vz(Bz(),`${t}-${process.pid}.db`)}function Gr(t,e=[100,500,2e3]){let r;for(let n=0;n<=e.length;n++)try{return t()}catch(o){let s=o instanceof Error?o.message:String(o);if(!s.includes("SQLITE_BUSY")&&!s.includes("database is locked"))throw o;if(r=o instanceof Error?o:new Error(s),n{"use strict";Fc=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){let r="",n=null;for(let s=0;sr.run(...n),get:(...n)=>{let o=r.get(...n);return o===null?void 0:o},all:(...n)=>r.all(...n),iterate:(...n)=>r.iterate(...n)}}transaction(e){return this.#e.transaction(e)}close(){this.#e.close()}},Zc=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){return this.#e.exec(e),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.run(...n),get:(...n)=>r.get(...n),all:(...n)=>r.all(...n),iterate:(...n)=>typeof r.iterate=="function"?r.iterate(...n):r.all(...n)[Symbol.iterator]()}}transaction(e){return(...r)=>{this.#e.exec("BEGIN");try{let n=e(...r);return this.#e.exec("COMMIT"),n}catch(n){throw this.#e.exec("ROLLBACK"),n}}}close(){this.#e.close()}},Uo=null;_i=Symbol.for("__context_mode_live_dbs__"),bh=(()=>{let t=globalThis;return t[_i]||(t[_i]=new Set,process.on("exit",()=>{for(let e of t[_i])Bo(e);t[_i].clear()})),t[_i]})(),Uc=class{#e;#t;constructor(e){let r=Un();this.#e=e,qo(e);let n;try{n=new r(e,{timeout:3e4}),Ho(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(qc(s)){dk(e),qo(e);try{n=new r(e,{timeout:3e4}),Ho(n)}catch(i){throw new Error(`Failed to create fresh DB after renaming corrupt file: ${i instanceof Error?i.message:String(i)}`)}}else throw o}this.#t=n,bh.add(this.#t),this.initSchema(),this.prepareStatements()}get db(){return this.#t}get dbPath(){return this.#e}close(){bh.delete(this.#t),Bo(this.#t)}withRetry(e){return Gr(e)}cleanup(){bh.delete(this.#t),Bo(this.#t),Hc(this.#e)}}});import{readFileSync as Wz,readdirSync as hk,unlinkSync as kh,existsSync as mk,statSync as Sh}from"node:fs";import{tmpdir as gk}from"node:os";import{join as wh}from"node:path";function _k(t){let e=new Set,r=[];for(let n of t){let o=n.toLowerCase();e.has(o)||(e.add(o),r.push(n))}return r}function Gz(t,e="AND"){let r=_k(t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(s=>s.length>0&&!["AND","OR","NOT","NEAR"].includes(s.toUpperCase())));if(r.length===0)return'""';let n=r.filter(s=>!Vo.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function Kz(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=_k(r.split(/\s+/).filter(i=>i.length>=3));if(n.length===0)return"";let o=n.filter(i=>!Vo.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function Jz(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 Yz(t){return t<=4?1:t<=12?2:3}function $h(){let t=gk(),e=0;try{let r=hk(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=wh(t,n);for(let a of["","-wal","-shm"])try{kh(i+a)}catch{}e++}}}catch{}return e}function Eh(t,e){let r=0;try{if(!mk(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=hk(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=wh(t,s),c=Sh(i).mtimeMs0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{kh(i+u)}catch{}r++}}catch{}}catch{}return r}function Xz(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function Qz(t){if(t.length===0)return 1/0;if(t.length===1)return 0;let e=t.map(o=>[...o].sort((s,i)=>s-i)),r=new Array(e.length).fill(0),n=1/0;for(;;){let o=1/0,s=-1/0,i=0;for(let c=0;cs&&(s=u)}let a=s-o;if(a=e[i].length)break}return n}var Vo,fk,Bc,yk=b(()=>{"use strict";yi();Vo=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"]);fk=4096;Bc=class t{#e;#t;#n;#o;#i;#a;#s;#c;#u;#p;#m;#f;#h;#g;#_;#y;#v;#x;#b;#S;#k;#w;#$;#E;#T;#P;#R;#O;#C;#I;#A;#N;#z=0;static OPTIMIZE_EVERY=50;#r=new Map;static FUZZY_CACHE_SIZE=256;constructor(e){let r=Un();this.#t=e??wh(gk(),`context-mode-${process.pid}.db`),qo(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),Ho(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(qc(s)){Hc(this.#t),qo(this.#t);try{n=new r(this.#t,{timeout:3e4}),Ho(n)}catch(i){throw new Error(`Failed to create fresh DB after deleting corrupt file: ${i instanceof Error?i.message:String(i)}`)}}else throw o}this.#e=n,this.#Z(),this.#U()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{kh(this.#t+e)}catch{}}#Z(){this.#e.exec(` CREATE TABLE IF NOT EXISTS sources ( id INTEGER PRIMARY KEY AUTOINCREMENT, label TEXT NOT NULL, @@ -320,7 +320,7 @@ ${n}`}}}});var pk={};Le(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Zc,SQL (SELECT COUNT(*) FROM sources) AS sources, (SELECT COUNT(*) FROM chunks) AS chunks, (SELECT COUNT(*) FROM chunks WHERE content_type = 'code') AS codeChunks - `),this.#I=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#A=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#N=this.#e.prepare("DELETE FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days')")}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??Vz(n,"utf-8"),i=o??n??"untitled",a=this.#q(s);return Gr(()=>this.#l(a,i,s))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#B(e,n);return Gr(()=>this.#l(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=fk){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.#F(o,[],s,n),s.length===0?this.indexPlainText(e,r):Gr(()=>this.#l(s,r,e))}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#c.run(r),this.#u.run(r),this.#p.run(r),e.length===0){let u=this.#n.run(r);return Number(u.lastInsertRowid)}let a=this.#o.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#i.run(u.title,u.content,c,l),this.#a.run(u.title,u.content,c,l)}return c})();return n&&this.#H(n),this.#z++,this.#z%t.OPTIMIZE_EVERY===0&&this.#L(),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}#j(e){return e.map(r=>({title:r.title,content:r.content,source:r.label,rank:r.rank,contentType:r.content_type,highlighted:r.highlighted}))}#d(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=Wz(e,o),c,u;return n&&s?(c=i==="exact"?this.#S:this.#b,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#h:this.#f,u=[a,this.#d(n,i),r]):s?(c=this.#x,u=[a,s,r]):(c=this.#m,u=[a,r]),Gr(()=>this.#j(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=Gz(e,o);if(!a)return[];let c,u;return n&&s?(c=i==="exact"?this.#$:this.#w,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#y:this.#_,u=[a,this.#d(n,i),r]):s?(c=this.#k,u=[a,s,r]):(c=this.#g,u=[a,r]),Gr(()=>this.#j(c.all(...u)))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;if(this.#r.has(r)){let u=this.#r.get(r)??null;return this.#r.delete(r),this.#r.set(r,u),u}let n=Jz(r.length),o=this.#v.all(r.length-n,r.length+n),s=null,i=n+1,a=!1;for(let{word:u}of o){if(u===r){a=!0;break}let l=Kz(r,u);l=t.FUZZY_CACHE_SIZE){let u=this.#r.keys().next().value;u!==void 0&&this.#r.delete(u)}return this.#r.set(r,c),c}#M(e,r,n,o,s="like"){let a=Math.max(r*2,10),c=this.search(e,a,n,"OR",o,s),u=this.searchTrigram(e,a,n,"OR",o,s),l=new Map,d=m=>`${m.source}::${m.title}`;for(let[m,h]of c.entries()){let p=d(h),f=l.get(p);f?f.score+=1/(60+m+1):l.set(p,{result:h,score:1/(60+m+1)})}for(let[m,h]of u.entries()){let p=d(h),f=l.get(p);f?f.score+=1/(60+m+1):l.set(p,{result:h,score:1/(60+m+1)})}return Array.from(l.values()).sort((m,h)=>h.score-m.score).slice(0,r).map(({result:m,score:h})=>({...m,rank:-h}))}#D(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!Vo.has(i)),s=o.length>0?o:n;return e.map(i=>{let a=i.title.toLowerCase(),c=s.filter(m=>a.includes(m)).length,u=i.contentType==="code"?.6:.3,l=c>0?u*(c/s.length):0,d=0;if(s.length>=2){let m=i.content.toLowerCase(),h=s.map(p=>Yz(m,p));h.some(p=>p.length===0)||(d=1/(1+Xz(h)/Math.max(m.length,1)))}return{result:i,boost:l+d}}).sort((i,a)=>a.boost-i.boost||i.result.rank-a.result.rank).map(({result:i})=>i)}searchWithFallback(e,r=3,n,o,s="like"){let i=this.#M(e,r,n,o,s);if(i.length>0)return this.#D(i,e).map(m=>({...m,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!Vo.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#M(l,r,n,o,s);if(d.length>0)return this.#D(d,l).map(h=>({...h,matchLayer:"rrf-fuzzy"}))}return[]}getSourceMeta(e){let r=this.#C.get(e);return r?{label:r.label,chunkCount:r.chunk_count,codeChunkCount:r.code_chunk_count,indexedAt:r.indexed_at}:null}listSources(){return this.#E.all()}getChunksBySource(e){return this.#T.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#P.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#R.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(m=>m.length>=3&&!Vo.has(m)));for(let m of d)a.set(m,(a.get(m)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let m=Math.log(o/d),h=Math.min(l.length/20,.5),p=/[_]/.test(l),f=l.length>=12,g=p?1.5:f?.8:0;return{word:l,score:m+h+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#O.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}cleanupStaleSources(e){return this.#e.transaction(o=>(this.#I.run(o),this.#A.run(o),this.#N.run(o)))(e).changes}getDBSizeBytes(){try{return kh(this.#t).size}catch{return 0}}#L(){try{this.#e.exec("INSERT INTO chunks(chunks) VALUES('optimize')"),this.#e.exec("INSERT INTO chunks_trigram(chunks_trigram) VALUES('optimize')")}catch{}}close(){this.#L(),Bo(this.#e)}#H(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(s=>s.length>=3&&!Vo.has(s)),n=[...new Set(r)],o=0;this.#e.transaction(()=>{for(let s of n){let i=this.#s.run(s);o+=i.changes}})(),o>0&&this.#r.clear()}#q(e,r=fk){let n=[],o=e.split(` + `),this.#I=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#A=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#N=this.#e.prepare("DELETE FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days')")}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??Wz(n,"utf-8"),i=o??n??"untitled",a=this.#q(s);return Gr(()=>this.#l(a,i,s))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#B(e,n);return Gr(()=>this.#l(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=fk){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.#F(o,[],s,n),s.length===0?this.indexPlainText(e,r):Gr(()=>this.#l(s,r,e))}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#c.run(r),this.#u.run(r),this.#p.run(r),e.length===0){let u=this.#n.run(r);return Number(u.lastInsertRowid)}let a=this.#o.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#i.run(u.title,u.content,c,l),this.#a.run(u.title,u.content,c,l)}return c})();return n&&this.#H(n),this.#z++,this.#z%t.OPTIMIZE_EVERY===0&&this.#L(),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}#j(e){return e.map(r=>({title:r.title,content:r.content,source:r.label,rank:r.rank,contentType:r.content_type,highlighted:r.highlighted}))}#d(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=Gz(e,o),c,u;return n&&s?(c=i==="exact"?this.#S:this.#b,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#h:this.#f,u=[a,this.#d(n,i),r]):s?(c=this.#x,u=[a,s,r]):(c=this.#m,u=[a,r]),Gr(()=>this.#j(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=Kz(e,o);if(!a)return[];let c,u;return n&&s?(c=i==="exact"?this.#$:this.#w,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#y:this.#_,u=[a,this.#d(n,i),r]):s?(c=this.#k,u=[a,s,r]):(c=this.#g,u=[a,r]),Gr(()=>this.#j(c.all(...u)))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;if(this.#r.has(r)){let u=this.#r.get(r)??null;return this.#r.delete(r),this.#r.set(r,u),u}let n=Yz(r.length),o=this.#v.all(r.length-n,r.length+n),s=null,i=n+1,a=!1;for(let{word:u}of o){if(u===r){a=!0;break}let l=Jz(r,u);l=t.FUZZY_CACHE_SIZE){let u=this.#r.keys().next().value;u!==void 0&&this.#r.delete(u)}return this.#r.set(r,c),c}#M(e,r,n,o,s="like"){let a=Math.max(r*2,10),c=this.search(e,a,n,"OR",o,s),u=this.searchTrigram(e,a,n,"OR",o,s),l=new Map,d=m=>`${m.source}::${m.title}`;for(let[m,h]of c.entries()){let p=d(h),f=l.get(p);f?f.score+=1/(60+m+1):l.set(p,{result:h,score:1/(60+m+1)})}for(let[m,h]of u.entries()){let p=d(h),f=l.get(p);f?f.score+=1/(60+m+1):l.set(p,{result:h,score:1/(60+m+1)})}return Array.from(l.values()).sort((m,h)=>h.score-m.score).slice(0,r).map(({result:m,score:h})=>({...m,rank:-h}))}#D(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!Vo.has(i)),s=o.length>0?o:n;return e.map(i=>{let a=i.title.toLowerCase(),c=s.filter(m=>a.includes(m)).length,u=i.contentType==="code"?.6:.3,l=c>0?u*(c/s.length):0,d=0;if(s.length>=2){let m=i.content.toLowerCase(),h=s.map(p=>Xz(m,p));h.some(p=>p.length===0)||(d=1/(1+Qz(h)/Math.max(m.length,1)))}return{result:i,boost:l+d}}).sort((i,a)=>a.boost-i.boost||i.result.rank-a.result.rank).map(({result:i})=>i)}searchWithFallback(e,r=3,n,o,s="like"){let i=this.#M(e,r,n,o,s);if(i.length>0)return this.#D(i,e).map(m=>({...m,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!Vo.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#M(l,r,n,o,s);if(d.length>0)return this.#D(d,l).map(h=>({...h,matchLayer:"rrf-fuzzy"}))}return[]}getSourceMeta(e){let r=this.#C.get(e);return r?{label:r.label,chunkCount:r.chunk_count,codeChunkCount:r.code_chunk_count,indexedAt:r.indexed_at}:null}listSources(){return this.#E.all()}getChunksBySource(e){return this.#T.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#P.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#R.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(m=>m.length>=3&&!Vo.has(m)));for(let m of d)a.set(m,(a.get(m)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let m=Math.log(o/d),h=Math.min(l.length/20,.5),p=/[_]/.test(l),f=l.length>=12,g=p?1.5:f?.8:0;return{word:l,score:m+h+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#O.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}cleanupStaleSources(e){return this.#e.transaction(o=>(this.#I.run(o),this.#A.run(o),this.#N.run(o)))(e).changes}getDBSizeBytes(){try{return Sh(this.#t).size}catch{return 0}}#L(){try{this.#e.exec("INSERT INTO chunks(chunks) VALUES('optimize')"),this.#e.exec("INSERT INTO chunks_trigram(chunks_trigram) VALUES('optimize')")}catch{}}close(){this.#L(),Bo(this.#e)}#H(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(s=>s.length>=3&&!Vo.has(s)),n=[...new Set(r)],o=0;this.#e.transaction(()=>{for(let s of n){let i=this.#s.run(s);o+=i.changes}})(),o>0&&this.#r.clear()}#q(e,r=fk){let n=[],o=e.split(` `),s=[],i=[],a="",c=()=>{let l=i.join(` `).trim();if(l.length===0)return;let d=this.#K(s,a),m=i.some(_=>/^`{3,}/.test(_));if(Buffer.byteLength(l)<=r){n.push({title:d,content:l,hasCode:m}),i=[];return}let h=l.split(/\n\n+/),p=[],f=1,g=()=>{if(p.length===0)return;let _=p.join(` @@ -329,27 +329,27 @@ ${n}`}}}});var pk={};Le(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Zc,SQL `);Buffer.byteLength(y)>r&&p.length>1&&(p.pop(),g(),p=[_])}g(),i=[]},u=0;for(;u0&&s[s.length-1].level>=h;)s.pop();s.push({level:h,text:p}),a=p,i.push(l),u++;continue}let m=l.match(/^(`{3,})(.*)?$/);if(m){let h=m[1],p=[l];for(u++;u=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(` `)[0].slice(0,80)||`Section ${u+1}`,content:l}}).filter(c=>c.content.length>0);let o=e.split(` `);if(o.length<=r)return[{title:"Output",content:e}];let s=[],a=Math.max(r-2,1);for(let c=0;c0?r.join(" > "):"(root)",i=JSON.stringify(e,null,2);if(Buffer.byteLength(i)<=o&&!(typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.values(e).some(c=>typeof c=="object"&&c!==null))){n.push({title:s,content:i,hasCode:!0});return}if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let a=Object.entries(e);if(a.length>0){for(let[c,u]of a)this.#F(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#G(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#V(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#W(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])}`}#G(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#V(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#W(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;lo&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#K(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}}});import{readFileSync as xk}from"node:fs";import{resolve as Wo}from"node:path";import{homedir as bk}from"node:os";function Sk(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function Qz(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function ej(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function vk(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function tj(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=ej(o),a=vk(s);r=`^${i}(\\s${a})?$`}else r=`^${vk(t)}$`;return new RegExp(r,e?"i":"")}function rj(t,e=!1){let r="",n=0;for(;n0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function Ph(t){let e;try{e=xk(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"&&Sk(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Rh(t,e){let r=[];if(t){let s=Wo(t,".claude","settings.local.json"),i=Ph(s);i&&r.push(i);let a=Wo(t,".claude","settings.json"),c=Ph(a);c&&r.push(c)}let n=e??Wo(bk(),".claude","settings.json"),o=Ph(n);return o&&r.push(o),r}function kk(t,e,r){let n=[],o=a=>{let c;try{c=xk(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 m of l){if(typeof m!="string")continue;let h=Qz(m);h&&h.tool===t&&d.push(h.glob)}return d};if(e){let a=o(Wo(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(Wo(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??Wo(bk(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Oh(t,e,r=process.platform==="win32"){let n=oj(t);for(let o of n)for(let s of e){let i=nj(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function wk(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(rj(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}function ij(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 $k(t,e){let r=sj[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(...ij(t)),n}var sj,Ek=b(()=>{"use strict";sj={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 Ch(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r} +`)})}return s}#F(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.#F(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#G(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#V(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#W(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])}`}#G(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#V(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#W(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;lo&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#K(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}}});import{readFileSync as xk}from"node:fs";import{resolve as Wo}from"node:path";import{homedir as bk}from"node:os";function Sk(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function ej(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function tj(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function vk(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function rj(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=tj(o),a=vk(s);r=`^${i}(\\s${a})?$`}else r=`^${vk(t)}$`;return new RegExp(r,e?"i":"")}function nj(t,e=!1){let r="",n=0;for(;n0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function Th(t){let e;try{e=xk(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"&&Sk(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Ph(t,e){let r=[];if(t){let s=Wo(t,".claude","settings.local.json"),i=Th(s);i&&r.push(i);let a=Wo(t,".claude","settings.json"),c=Th(a);c&&r.push(c)}let n=e??Wo(bk(),".claude","settings.json"),o=Th(n);return o&&r.push(o),r}function kk(t,e,r){let n=[],o=a=>{let c;try{c=xk(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 m of l){if(typeof m!="string")continue;let h=ej(m);h&&h.tool===t&&d.push(h.glob)}return d};if(e){let a=o(Wo(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(Wo(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??Wo(bk(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Rh(t,e,r=process.platform==="win32"){let n=sj(t);for(let o of n)for(let s of e){let i=oj(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function wk(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(nj(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}function aj(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 $k(t,e){let r=ij[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(...aj(t)),n}var ij,Ek=b(()=>{"use strict";ij={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 Oh(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r} stdout: ${n} stderr: -${o}`}}var Tk=b(()=>{"use strict"});function cj(){let t=process.ppid;return!(t!==aj||t===0||t===1)}function Pk(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??cj,n=!1,o=()=>{n||(n=!0,t.onShutdown())},s=setInterval(()=>{r()||o()},e);s.unref();let i=["SIGTERM","SIGINT"];process.platform!=="win32"&&i.push("SIGHUP");for(let a of i)process.on(a,o);return()=>{n=!0,clearInterval(s);for(let a of i)process.removeListener(a,o)}}var aj,Rk=b(()=>{"use strict";aj=process.ppid});import{createHash as uj}from"node:crypto";import{execFileSync as lj}from"node:child_process";function Ih(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=lj("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`__${uj("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var Ok=b(()=>{"use strict";yi()});function vi(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${t} B`}function mj(t){let e=parseFloat(t);if(isNaN(e)||e<1)return"< 1 min";if(e<60)return`${Math.round(e)} min`;let r=Math.floor(e/60),n=Math.round(e%60);return n>0?`${r}h ${n}m`:`${r}h`}function fj(t,e){let n="#".repeat(40),o=t>0?Math.max(1,Math.round(e/t*40)):40,s="#".repeat(o)+" ".repeat(40-o);return{withoutBar:n,withBar:s}}function Vc(t,e,r){let n=[],o=mj(t.session.uptime_min),s=t.savings.kept_out+(t.cache?t.cache.bytes_saved:0),i=t.savings.total_bytes_returned,a=t.savings.total_calls;if(s===0){if(n.push(`context-mode -- session (${o})`),n.push(""),a===0)n.push("No tool calls yet.");else{let _=a===1?"1 tool call":`${a} tool calls`;n.push(`${_} | ${vi(i)} in context | no savings yet`)}return n.push(""),n.push("Tip: Use ctx_execute to analyze files in sandbox -- savings start there."),n.push(""),n.push(e?`v${e}`:"context-mode"),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(` -`)}let c=s+i,u=c>0?(s/c*100).toFixed(1):"0.0",l=Math.round(s/4/1e3);n.push(`context-mode -- session (${o})`),n.push("");let{withoutBar:d,withBar:m}=fj(c,i);n.push(`Without context-mode: |${d}| ${vi(c)} in your conversation`),n.push(`With context-mode: |${m}| ${vi(i)} in your conversation`),n.push("");let h=`${vi(s)} processed in sandbox, never entered your conversation. (${u}% reduction)`;if(n.push(h),l>0){let _=l>=60?`+${Math.floor(l/60)}h ${l%60}m`:`+${l}m`;n.push(`${_} session time gained.`)}let p=t.savings.by_tool.filter(_=>_.calls>0);if(p.length>=2){n.push("");for(let _ of p){let y=_.context_kb*1024,v=`${_.calls} call${_.calls!==1?"s":""}`;n.push(` ${_.tool.padEnd(22)} ${v.padEnd(10)} ${vi(y)} used`)}}if(t.continuity.by_category.length>0){n.push(""),n.push(`Session continuity: ${t.continuity.total_events} events preserved across ${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),n.push("");for(let _ of t.continuity.by_category){let y=_.category.padEnd(9),v=String(_.count).padStart(3),k=_.preview.length>45?_.preview.slice(0,42)+"...":_.preview;n.push(` ${y} ${v} ${k.padEnd(47)} ${_.why}`)}}let f=[];t.continuity.by_category.length===0&&t.continuity.compact_count>0&&f.push(`${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),t.continuity.by_category.length===0&&t.continuity.total_events>0&&f.push(`${t.continuity.total_events} event${t.continuity.total_events!==1?"s":""} preserved`);let g=e?`v${e}`:"context-mode";return f.push(g),n.push(""),n.push(f.join(" | ")),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(` -`)}var dj,pj,Go,Ck=b(()=>{"use strict";dj={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"},pj={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won\u2019t ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"},Go=class{db;constructor(e){this.db=e}static contextSavingsTotal(e,r){let n=e-r,o=e>0?Math.round(n/e*1e3)/10:0;return{rawBytes:e,contextBytes:r,savedBytes:n,savedPercent:o}}static thinkInCodeComparison(e,r){let n=r>0?Math.round(e/r*10)/10:0;return{fileBytes:e,outputBytes:r,ratio:n}}static toolSavings(e){return e.map(r=>({...r,savedBytes:r.rawBytes-r.contextBytes}))}static sandboxIO(e,r){return{inputBytes:e,outputBytes:r}}queryAll(e){let n=this.db.prepare("SELECT session_id FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.session_id??"",o=Object.values(e.bytesReturned).reduce((N,Re)=>N+Re,0),s=Object.values(e.calls).reduce((N,Re)=>N+Re,0),i=e.bytesIndexed+e.bytesSandboxed,a=i+o,c=a/Math.max(o,1),u=a>0?Math.round((1-o/a)*100):0,l=new Set([...Object.keys(e.calls),...Object.keys(e.bytesReturned)]),d=Array.from(l).sort().map(N=>({tool:N,calls:e.calls[N]||0,context_kb:Math.round((e.bytesReturned[N]||0)/1024*10)/10,tokens:Math.round((e.bytesReturned[N]||0)/4)})),h=((Date.now()-e.sessionStart)/6e4).toFixed(1),p;if(e.cacheHits>0||e.cacheBytesSaved>0){let N=a+e.cacheBytesSaved,Re=N/Math.max(o,1),de=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:de,total_with_cache:N,total_savings_ratio:Re}}let f=this.db.prepare("SELECT COUNT(*) as cnt FROM session_events").get().cnt,g=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),y=this.db.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.compact_count??0,v=this.db.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get(),k=v?!v.consumed:!1,T=this.db.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),J=new Map;for(let N of T){J.has(N.category)||J.set(N.category,new Set);let Re=J.get(N.category);if(Re.size<5){let de=N.data;N.category==="file"?de=N.data.split("/").pop()||N.data:N.category==="prompt"&&(de=de.length>50?de.slice(0,47)+"...":de),de.length>40&&(de=de.slice(0,37)+"..."),Re.add(de)}}let B=g.map(N=>({category:N.category,count:N.cnt,label:dj[N.category]||N.category,preview:J.get(N.category)?Array.from(J.get(N.category)).join(", "):"",why:pj[N.category]||"Survives context resets"}));return{savings:{processed_kb:Math.round(a/1024*10)/10,entered_kb:Math.round(o/1024*10)/10,saved_kb:Math.round(i/1024*10)/10,pct:u,savings_ratio:Math.round(c*10)/10,by_tool:d,total_calls:s,total_bytes_returned:o,kept_out:i,total_processed:a},cache:p,session:{id:n,uptime_min:h},continuity:{total_events:f,by_category:B,compact_count:y,resume_ready:k}}}}});var qk={};Le(qk,{extractSnippet:()=>Hh,formatBatchQueryResults:()=>Uk,positionsFromHighlight:()=>Zk});import{createRequire as Mk}from"node:module";import{createHash as hj}from"node:crypto";import{existsSync as ot,unlinkSync as Jr,readdirSync as gj,readFileSync as Dk,writeFileSync as Lk,rmSync as jh,mkdirSync as Dh,cpSync as _j,statSync as Ik}from"node:fs";import{execSync as Kr}from"node:child_process";import{join as be,dirname as Yr,resolve as br}from"node:path";import{fileURLToPath as yj}from"node:url";import{homedir as Lh,tmpdir as Fh}from"node:os";import{request as vj}from"node:https";function xj(t){try{let e=qn();if(!ot(e))return;let r=gj(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=be(e,n);try{t.index({path:o,source:"session-events"}),Jr(o)}catch{}}}catch{}}function qn(){if(Kc)return Kc.getSessionDir();let t=be(Lh(),".claude","context-mode","sessions");return Dh(t,{recursive:!0}),t}function bj(){return process.env.CLAUDE_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||process.env.VSCODE_CWD||process.env.OPENCODE_PROJECT_DIR||process.env.PI_PROJECT_DIR||process.env.CONTEXT_MODE_PROJECT_DIR||process.cwd()}function Jc(){let e=bj().replace(/\\/g,"/");return hj("sha256").update(e).digest("hex").slice(0,16)}function Mh(){let t=Jc(),e=qn(),r=be(Yr(e),"content");return Dh(r,{recursive:!0}),be(r,`${t}.db`)}function Bn(){if(!ir){let t=Mh();ir=new Bc(t);try{let e=Yr(Mh());Th(e,14),ir.cleanupStaleSources(14);let r=be(Lh(),".context-mode","content");ot(r)&&Th(r,0)}catch{}Eh()}return xj(ir),ir}async function wj(){return new Promise(t=>{let e=vj("https://registry.npmjs.org/context-mode/latest",{headers:{Connection:"close"}},r=>{let n="";r.on("data",o=>{n+=o}),r.on("end",()=>{try{let o=JSON.parse(n);t(o.version??"unknown")}catch{t("unknown")}})});e.on("error",()=>t("unknown")),e.setTimeout(5e3,()=>{e.destroy(),t("unknown")}),e.end()})}function $j(){let t=Kc?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function Ej(){return!Qr||Qr==="unknown"?!1:Qr!==Xr}function Tj(){if(!Ej())return!1;let t=Date.now();if(Wc>=Sj){if(t-Ak0){let n=$j();e.content[0].text=`\u26A0\uFE0F context-mode v${Xr} outdated \u2192 v${Qr} available. Upgrade: ${n} +${o}`}}var Tk=b(()=>{"use strict"});function uj(){let t=process.ppid;return!(t!==cj||t===0||t===1)}function Pk(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??uj,n=!1,o=()=>{n||(n=!0,t.onShutdown())},s=setInterval(()=>{r()||o()},e);s.unref();let i=["SIGTERM","SIGINT"];process.platform!=="win32"&&i.push("SIGHUP");for(let a of i)process.on(a,o);return()=>{n=!0,clearInterval(s);for(let a of i)process.removeListener(a,o)}}var cj,Rk=b(()=>{"use strict";cj=process.ppid});import{createHash as lj}from"node:crypto";import{execFileSync as dj}from"node:child_process";function Ch(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=dj("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`__${lj("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var Ok=b(()=>{"use strict";yi()});function vi(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${t} B`}function fj(t){let e=parseFloat(t);if(isNaN(e)||e<1)return"< 1 min";if(e<60)return`${Math.round(e)} min`;let r=Math.floor(e/60),n=Math.round(e%60);return n>0?`${r}h ${n}m`:`${r}h`}function hj(t,e){let n="#".repeat(40),o=t>0?Math.max(1,Math.round(e/t*40)):40,s="#".repeat(o)+" ".repeat(40-o);return{withoutBar:n,withBar:s}}function Vc(t,e,r){let n=[],o=fj(t.session.uptime_min),s=t.savings.kept_out+(t.cache?t.cache.bytes_saved:0),i=t.savings.total_bytes_returned,a=t.savings.total_calls;if(s===0){if(n.push(`context-mode -- session (${o})`),n.push(""),a===0)n.push("No tool calls yet.");else{let _=a===1?"1 tool call":`${a} tool calls`;n.push(`${_} | ${vi(i)} in context | no savings yet`)}return n.push(""),n.push("Tip: Use ctx_execute to analyze files in sandbox -- savings start there."),n.push(""),n.push(e?`v${e}`:"context-mode"),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(` +`)}let c=s+i,u=c>0?(s/c*100).toFixed(1):"0.0",l=Math.round(s/4/1e3);n.push(`context-mode -- session (${o})`),n.push("");let{withoutBar:d,withBar:m}=hj(c,i);n.push(`Without context-mode: |${d}| ${vi(c)} in your conversation`),n.push(`With context-mode: |${m}| ${vi(i)} in your conversation`),n.push("");let h=`${vi(s)} processed in sandbox, never entered your conversation. (${u}% reduction)`;if(n.push(h),l>0){let _=l>=60?`+${Math.floor(l/60)}h ${l%60}m`:`+${l}m`;n.push(`${_} session time gained.`)}let p=t.savings.by_tool.filter(_=>_.calls>0);if(p.length>=2){n.push("");for(let _ of p){let y=_.context_kb*1024,v=`${_.calls} call${_.calls!==1?"s":""}`;n.push(` ${_.tool.padEnd(22)} ${v.padEnd(10)} ${vi(y)} used`)}}if(t.continuity.by_category.length>0){n.push(""),n.push(`Session continuity: ${t.continuity.total_events} events preserved across ${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),n.push("");for(let _ of t.continuity.by_category){let y=_.category.padEnd(9),v=String(_.count).padStart(3),k=_.preview.length>45?_.preview.slice(0,42)+"...":_.preview;n.push(` ${y} ${v} ${k.padEnd(47)} ${_.why}`)}}let f=[];t.continuity.by_category.length===0&&t.continuity.compact_count>0&&f.push(`${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),t.continuity.by_category.length===0&&t.continuity.total_events>0&&f.push(`${t.continuity.total_events} event${t.continuity.total_events!==1?"s":""} preserved`);let g=e?`v${e}`:"context-mode";return f.push(g),n.push(""),n.push(f.join(" | ")),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(` +`)}var pj,mj,Go,Ck=b(()=>{"use strict";pj={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"},mj={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won\u2019t ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"},Go=class{db;constructor(e){this.db=e}static contextSavingsTotal(e,r){let n=e-r,o=e>0?Math.round(n/e*1e3)/10:0;return{rawBytes:e,contextBytes:r,savedBytes:n,savedPercent:o}}static thinkInCodeComparison(e,r){let n=r>0?Math.round(e/r*10)/10:0;return{fileBytes:e,outputBytes:r,ratio:n}}static toolSavings(e){return e.map(r=>({...r,savedBytes:r.rawBytes-r.contextBytes}))}static sandboxIO(e,r){return{inputBytes:e,outputBytes:r}}queryAll(e){let n=this.db.prepare("SELECT session_id FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.session_id??"",o=Object.values(e.bytesReturned).reduce((N,Re)=>N+Re,0),s=Object.values(e.calls).reduce((N,Re)=>N+Re,0),i=e.bytesIndexed+e.bytesSandboxed,a=i+o,c=a/Math.max(o,1),u=a>0?Math.round((1-o/a)*100):0,l=new Set([...Object.keys(e.calls),...Object.keys(e.bytesReturned)]),d=Array.from(l).sort().map(N=>({tool:N,calls:e.calls[N]||0,context_kb:Math.round((e.bytesReturned[N]||0)/1024*10)/10,tokens:Math.round((e.bytesReturned[N]||0)/4)})),h=((Date.now()-e.sessionStart)/6e4).toFixed(1),p;if(e.cacheHits>0||e.cacheBytesSaved>0){let N=a+e.cacheBytesSaved,Re=N/Math.max(o,1),de=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:de,total_with_cache:N,total_savings_ratio:Re}}let f=this.db.prepare("SELECT COUNT(*) as cnt FROM session_events").get().cnt,g=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),y=this.db.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.compact_count??0,v=this.db.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get(),k=v?!v.consumed:!1,T=this.db.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),J=new Map;for(let N of T){J.has(N.category)||J.set(N.category,new Set);let Re=J.get(N.category);if(Re.size<5){let de=N.data;N.category==="file"?de=N.data.split("/").pop()||N.data:N.category==="prompt"&&(de=de.length>50?de.slice(0,47)+"...":de),de.length>40&&(de=de.slice(0,37)+"..."),Re.add(de)}}let B=g.map(N=>({category:N.category,count:N.cnt,label:pj[N.category]||N.category,preview:J.get(N.category)?Array.from(J.get(N.category)).join(", "):"",why:mj[N.category]||"Survives context resets"}));return{savings:{processed_kb:Math.round(a/1024*10)/10,entered_kb:Math.round(o/1024*10)/10,saved_kb:Math.round(i/1024*10)/10,pct:u,savings_ratio:Math.round(c*10)/10,by_tool:d,total_calls:s,total_bytes_returned:o,kept_out:i,total_processed:a},cache:p,session:{id:n,uptime_min:h},continuity:{total_events:f,by_category:B,compact_count:y,resume_ready:k}}}}});var qk={};Le(qk,{extractSnippet:()=>Uh,formatBatchQueryResults:()=>Uk,positionsFromHighlight:()=>Zk});import{createRequire as Mk}from"node:module";import{createHash as gj}from"node:crypto";import{existsSync as ot,unlinkSync as Jr,readdirSync as _j,readFileSync as Dk,writeFileSync as Lk,rmSync as zh,mkdirSync as Mh,cpSync as yj,statSync as Ik}from"node:fs";import{execSync as Kr}from"node:child_process";import{join as be,dirname as Yr,resolve as br}from"node:path";import{fileURLToPath as vj}from"node:url";import{homedir as Dh,tmpdir as Lh}from"node:os";import{request as xj}from"node:https";function bj(t){try{let e=qn();if(!ot(e))return;let r=_j(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=be(e,n);try{t.index({path:o,source:"session-events"}),Jr(o)}catch{}}}catch{}}function qn(){if(Kc)return Kc.getSessionDir();let t=be(Dh(),".claude","context-mode","sessions");return Mh(t,{recursive:!0}),t}function Sj(){return process.env.CLAUDE_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||process.env.VSCODE_CWD||process.env.OPENCODE_PROJECT_DIR||process.env.PI_PROJECT_DIR||process.env.CONTEXT_MODE_PROJECT_DIR||process.cwd()}function Jc(){let e=Sj().replace(/\\/g,"/");return gj("sha256").update(e).digest("hex").slice(0,16)}function jh(){let t=Jc(),e=qn(),r=be(Yr(e),"content");return Mh(r,{recursive:!0}),be(r,`${t}.db`)}function Bn(){if(!ir){let t=jh();ir=new Bc(t);try{let e=Yr(jh());Eh(e,14),ir.cleanupStaleSources(14);let r=be(Dh(),".context-mode","content");ot(r)&&Eh(r,0)}catch{}$h()}return bj(ir),ir}async function $j(){return new Promise(t=>{let e=xj("https://registry.npmjs.org/context-mode/latest",{headers:{Connection:"close"}},r=>{let n="";r.on("data",o=>{n+=o}),r.on("end",()=>{try{let o=JSON.parse(n);t(o.version??"unknown")}catch{t("unknown")}})});e.on("error",()=>t("unknown")),e.setTimeout(5e3,()=>{e.destroy(),t("unknown")}),e.end()})}function Ej(){let t=Kc?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function Tj(){return!Qr||Qr==="unknown"?!1:Qr!==Xr}function Pj(){if(!Tj())return!1;let t=Date.now();if(Wc>=kj){if(t-Ak0){let n=Ej();e.content[0].text=`\u26A0\uFE0F context-mode v${Xr} outdated \u2192 v${Qr} available. Upgrade: ${n} -`+e.content[0].text}let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return ze.calls[t]=(ze.calls[t]||0)+1,ze.bytesReturned[t]=(ze.bytesReturned[t]||0)+r,e}function qt(t){ze.bytesIndexed+=t}function Uh(t,e){try{let r=Rh(process.env.CLAUDE_PROJECT_DIR),n=Oh(t,r);if(n.decision==="deny")return U(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function Fk(t,e,r){try{let n=$k(t,e);if(n.length===0)return null;let o=Rh(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Oh(s,o);if(i.decision==="deny")return U(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 Pj(t,e){try{let r=kk("Read",process.env.CLAUDE_PROJECT_DIR),n=wk(t,r);if(n.denied)return U(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function Zk(t){let e=[],r=0,n=0;for(;nd.length>2),l=t.toLowerCase();for(let d of u){let m=l.indexOf(d);for(;m!==-1;)o.push(m),m=l.indexOf(d,m+1)}}if(o.length===0)return t.slice(0,r)+` +`+e.content[0].text}let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return ze.calls[t]=(ze.calls[t]||0)+1,ze.bytesReturned[t]=(ze.bytesReturned[t]||0)+r,e}function qt(t){ze.bytesIndexed+=t}function Zh(t,e){try{let r=Ph(process.env.CLAUDE_PROJECT_DIR),n=Rh(t,r);if(n.decision==="deny")return U(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function Fk(t,e,r){try{let n=$k(t,e);if(n.length===0)return null;let o=Ph(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Rh(s,o);if(i.decision==="deny")return U(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 Rj(t,e){try{let r=kk("Read",process.env.CLAUDE_PROJECT_DIR),n=wk(t,r);if(n.denied)return U(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function Zk(t){let e=[],r=0,n=0;for(;nd.length>2),l=t.toLowerCase();for(let d of u){let m=l.indexOf(d);for(;m!==-1;)o.push(m),m=l.indexOf(d,m+1)}}if(o.length===0)return t.slice(0,r)+` \u2026`;o.sort((u,l)=>u-l);let s=300,i=[];for(let u of o){let l=Math.max(0,u-s),d=Math.min(t.length,u+s);i.length>0&&l<=i[i.length-1][1]?i[i.length-1][1]=d:i.push([l,d])}let a=[],c=0;for(let[u,l]of i){if(c>=r)break;let d=t.slice(u,Math.min(l,u+(r-c)));a.push((u>0?"\u2026":"")+d+(ln){o.push(`## ${i} (output cap reached \u2014 use search(queries: ["${i}"]) for details) -`);continue}let a=t.searchWithFallback(i,3,r,void 0,"exact");if(o.push(`## ${i}`),o.push(""),a.length>0){for(let c of a){let u=Hh(c.content,i,3e3,c.highlighted);o.push(`### ${c.title}`),o.push(u),o.push(""),s+=u.length+c.title.length}continue}o.push("No matching sections found."),o.push("")}return o.push("\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])`."),o}function Hk(t,e){let r=Bn();qt(Buffer.byteLength(t));let n=r.index({content:t,source:e});return{content:[{type:"text",text:`Indexed ${n.totalChunks} sections (${n.codeChunks} with code) from: ${n.label} +`);continue}let a=t.searchWithFallback(i,3,r,void 0,"exact");if(o.push(`## ${i}`),o.push(""),a.length>0){for(let c of a){let u=Uh(c.content,i,3e3,c.highlighted);o.push(`### ${c.title}`),o.push(u),o.push(""),s+=u.length+c.title.length}continue}o.push("No matching sections found."),o.push("")}return o.push("\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])`."),o}function Hk(t,e){let r=Bn();qt(Buffer.byteLength(t));let n=r.index({content:t,source:e});return{content:[{type:"text",text:`Indexed ${n.totalChunks} sections (${n.codeChunks} with code) from: ${n.label} Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to scope results.`}]}}function Ko(t,e,r,n=5){let o=t.split(` `).length,s=Buffer.byteLength(t),i=Bn(),a=i.indexPlainText(t,r),c=i.searchWithFallback(e,n,r),u=i.getDistinctiveTerms(a.sourceId);if(c.length===0){let d=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`No sections matched intent "${e}" in ${o}-line output (${(s/1024).toFixed(1)}KB).`];return u.length>0&&(d.push(""),d.push(`Searchable terms: ${u.join(", ")}`)),d.push(""),d.push("Use search() to explore the indexed content."),d.join(` `)}let l=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`${c.length} sections matched "${e}" (${o} lines, ${(s/1024).toFixed(1)}KB):`,""];for(let d of c){let m=d.content.split(` `)[0].slice(0,120);l.push(` - ${d.title}: ${m}`)}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(` -`)}function qh(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function Nj(t){let e=qh(t);return Array.isArray(e)?e.map((r,n)=>typeof r=="string"?{label:`cmd_${n+1}`,command:r}:r):e}function zj(){return Nh||(Nh=Mk(import.meta.url).resolve("turndown")),Nh}function jj(){return zh||(zh=Mk(import.meta.url).resolve("turndown-plugin-gfm")),zh}function Mj(t,e){let r=JSON.stringify(zj()),n=JSON.stringify(jj()),o=JSON.stringify(e);return` +`)}function Hh(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function zj(t){let e=Hh(t);return Array.isArray(e)?e.map((r,n)=>typeof r=="string"?{label:`cmd_${n+1}`,command:r}:r):e}function jj(){return Ah||(Ah=Mk(import.meta.url).resolve("turndown")),Ah}function Mj(){return Nh||(Nh=Mk(import.meta.url).resolve("turndown-plugin-gfm")),Nh}function Dj(t,e){let r=JSON.stringify(jj()),n=JSON.stringify(Mj()),o=JSON.stringify(e);return` const TurndownService = require(${r}); const { gfm } = require(${n}); const fs = require('fs'); @@ -395,18 +395,18 @@ async function main() { emit('text', text); } main(); -`}function jk(){return{prepare:()=>({run:()=>{},get:(...t)=>({cnt:0,compact_count:0,minutes:null,rate:0,avg:0,outcome:"exploratory"}),all:()=>[]})}}async function Dj(){let t=Eh();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=be(Fh(),`context-mode-mcp-ready-${process.ppid}`),r=()=>{xi.cleanupBackgrounded(),ir&&ir.close();try{Jr(Zh)}catch{}try{Jr(e)}catch{}},n=async()=>{r(),process.exit(0)};process.on("exit",r),process.on("SIGINT",()=>{n()}),process.on("SIGTERM",()=>{n()}),Pk({onShutdown:()=>n()});let o=new Dc;await We.connect(o);try{Lk(e,String(process.pid))}catch{}try{let{detectPlatform:s,getAdapter:i}=await Promise.resolve().then(()=>(Xu(),P_)),a=We.server.getClientVersion(),c=s(a??void 0);Kc=await i(c.platform),a&&console.error(`MCP client: ${a.name} v${a.version} \u2192 ${c.platform}`)}catch{}wj().then(s=>{s!=="unknown"&&(Qr=s)}),console.error(`Context Mode MCP server v${Xr} running on stdio`),console.error(`Detected runtimes: +`}function jk(){return{prepare:()=>({run:()=>{},get:(...t)=>({cnt:0,compact_count:0,minutes:null,rate:0,avg:0,outcome:"exploratory"}),all:()=>[]})}}async function Lj(){let t=$h();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=be(Lh(),`context-mode-mcp-ready-${process.ppid}`),r=()=>{xi.cleanupBackgrounded(),ir&&ir.close();try{Jr(Fh)}catch{}try{Jr(e)}catch{}},n=async()=>{r(),process.exit(0)};process.on("exit",r),process.on("SIGINT",()=>{n()}),process.on("SIGTERM",()=>{n()}),Pk({onShutdown:()=>n()});let o=new Dc;await We.connect(o);try{Lk(e,String(process.pid))}catch{}try{let{detectPlatform:s,getAdapter:i}=await Promise.resolve().then(()=>(Yu(),P_)),a=We.server.getClientVersion(),c=s(a??void 0);Kc=await i(c.platform),a&&console.error(`MCP client: ${a.name} v${a.version} \u2192 ${c.platform}`)}catch{}$j().then(s=>{s!=="unknown"&&(Qr=s)}),console.error(`Context Mode MCP server v${Xr} running on stdio`),console.error(`Detected runtimes: ${Ci(Qc)}`),Kn()||(console.error(` -Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}var ar,Xr,Qc,Gc,We,xi,Zh,ir,Kc,ze,Qr,Wc,Ak,Sj,kj,Rj,Oj,Cj,Ij,Yc,Xc,Hn,Ah,Aj,Nk,zk,Nh,zh,Bk=b(()=>{"use strict";XS();rk();yh();bh();yk();Ek();Ai();Tk();Rk();Ok();yi();Ck();Cn();ar=Yr(yj(import.meta.url)),Xr=(()=>{for(let t of["../package.json","./package.json"]){let e=br(ar,t);if(ot(e))try{return JSON.parse(Dk(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t} +Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}var ar,Xr,Qc,Gc,We,xi,Fh,ir,Kc,ze,Qr,Wc,Ak,kj,wj,Oj,Cj,Ij,Aj,Yc,Xc,Hn,Ih,Nj,Nk,zk,Ah,Nh,Bk=b(()=>{"use strict";XS();rk();_h();xh();yk();Ek();Ai();Tk();Rk();Ok();yi();Ck();Cn();ar=Yr(vj(import.meta.url)),Xr=(()=>{for(let t of["../package.json","./package.json"]){let e=br(ar,t);if(ot(e))try{return JSON.parse(Dk(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t} `)});process.on("uncaughtException",t=>{process.stderr.write(`[context-mode] uncaughtException: ${t?.message??t} -`)});Qc=Gn(),Gc=Ii(Qc),We=new jc({name:"context-mode",version:Xr});We.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});We.server.setRequestHandler(bo,async()=>({prompts:[]}));We.server.setRequestHandler(vo,async()=>({resources:[]}));We.server.setRequestHandler(xo,async()=>({resourceTemplates:[]}));xi=new Zo({runtimes:Qc,projectRoot:process.env.CLAUDE_PROJECT_DIR}),Zh=be(Fh(),`cm-fs-preload-${process.pid}.js`);Lk(Zh,`(function(){var __cm_fs=0;process.on('exit',function(){if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch(e){}});try{var f=require('fs');var ors=f.readFileSync;f.readFileSync=function(){var r=ors.apply(this,arguments);if(Buffer.isBuffer(r))__cm_fs+=r.length;else if(typeof r==='string')__cm_fs+=Buffer.byteLength(r);return r;};}catch(e){}})(); -`);ir=null;Kc=null;ze={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},Qr=null,Wc=0,Ak=0,Sj=3,kj=3600*1e3;Rj=Gc.join(", "),Oj=Kn()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",Cj="",Ij="";We.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.${Oj} Available: ${Rj}. +`)});Qc=Gn(),Gc=Ii(Qc),We=new jc({name:"context-mode",version:Xr});We.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});We.server.setRequestHandler(bo,async()=>({prompts:[]}));We.server.setRequestHandler(vo,async()=>({resources:[]}));We.server.setRequestHandler(xo,async()=>({resourceTemplates:[]}));xi=new Zo({runtimes:Qc,projectRoot:process.env.CLAUDE_PROJECT_DIR}),Fh=be(Lh(),`cm-fs-preload-${process.pid}.js`);Lk(Fh,`(function(){var __cm_fs=0;process.on('exit',function(){if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch(e){}});try{var f=require('fs');var ors=f.readFileSync;f.readFileSync=function(){var r=ors.apply(this,arguments);if(Buffer.isBuffer(r))__cm_fs+=r.length;else if(typeof r==='string')__cm_fs+=Buffer.byteLength(r);return r;};}catch(e){}})(); +`);ir=null;Kc=null;ze={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},Qr=null,Wc=0,Ak=0,kj=3,wj=3600*1e3;Oj=Gc.join(", "),Cj=Kn()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",Ij="",Aj="";We.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.${Cj} Available: ${Oj}. PREFER THIS OVER BASH for: API calls (gh, curl, aws), test runners (npm test, pytest), git queries (git log, git diff), data processing, and ANY CLI command that may produce large output. Bash should only be used for file mutations, git writes, and navigation. THINK IN CODE: When you need to analyze, count, filter, compare, or process data \u2014 write code that does the work and console.log() only the answer. Do NOT read raw data into context to process mentally. Program the analysis, don't compute it in your reasoning. Write robust, pure JavaScript (no npm dependencies). Use only Node.js built-ins (fs, path, child_process). Always wrap in try/catch. Handle null/undefined. Works on both Node.js and Bun.`,inputSchema:H.object({language:H.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:H.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:H.coerce.number().optional().default(3e4).describe("Max execution time in ms"),background:H.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:H.string().optional().describe(`What you're looking for in the output. When provided and output is large (>5KB), indexes output into knowledge base and returns section titles + previews \u2014 not full content. Use search(queries: [...]) to retrieve specific sections. Example: 'failing tests', 'HTTP 500 errors'. -TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=Uh(e,"execute");if(s)return s}else{let s=Fk(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=` +TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=Zh(e,"execute");if(s)return s}else{let s=Fk(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=` // FS read instrumentation \u2014 count bytes read via fs.readFileSync/readFile let __cm_fs=0; process.on('exit',()=>{if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch{}}); @@ -472,11 +472,11 @@ _(process backgrounded after ${r}ms \u2014 still running)_`}]}):l?U("ctx_execute _(timed out after ${r}ms \u2014 partial output shown above)_`}]}):U("ctx_execute",{content:[{type:"text",text:`Execution timed out after ${r}ms stderr: -${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Ch({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>Yc?(qt(Buffer.byteLength(d)),U("ctx_execute",{content:[{type:"text",text:Ko(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>Xc?(qt(Buffer.byteLength(d)),U("ctx_execute",{content:[{type:"text",text:Ko(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):U("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>Yc?(qt(Buffer.byteLength(u)),U("ctx_execute",{content:[{type:"text",text:Ko(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>Xc?U("ctx_execute",Hk(u,`execute:${t}`)):U("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return U("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});Yc=5e3,Xc=102400;We.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. +${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Oh({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>Yc?(qt(Buffer.byteLength(d)),U("ctx_execute",{content:[{type:"text",text:Ko(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>Xc?(qt(Buffer.byteLength(d)),U("ctx_execute",{content:[{type:"text",text:Ko(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):U("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>Yc?(qt(Buffer.byteLength(u)),U("ctx_execute",{content:[{type:"text",text:Ko(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>Xc?U("ctx_execute",Hk(u,`execute:${t}`)):U("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return U("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});Yc=5e3,Xc=102400;We.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. PREFER THIS OVER Read/cat for: log files, data files (CSV, JSON, XML), large source files for analysis, and any file where you need to extract specific information rather than read the entire content. -THINK IN CODE: Write code that processes FILE_CONTENT and console.log() only the answer. Don't read files into context to analyze mentally. Write robust, pure JavaScript \u2014 no npm deps, try/catch, null-safe. Node.js + Bun compatible.`,inputSchema:H.object({path:H.string().describe("Absolute file path or relative to project root"),language:H.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:H.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:H.coerce.number().optional().default(3e4).describe("Max execution time in ms"),intent:H.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=Pj(t,"execute_file");if(s)return s;if(e==="shell"){let i=Uh(r,"execute_file");if(i)return i}else{let i=Fk(r,e,"execute_file");if(i)return i}try{let i=await xi.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return U("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}=Ch({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Yc?(qt(Buffer.byteLength(u)),U("ctx_execute_file",{content:[{type:"text",text:Ko(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>Xc?(qt(Buffer.byteLength(u)),U("ctx_execute_file",{content:[{type:"text",text:Ko(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):U("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)>Yc?(qt(Buffer.byteLength(a)),U("ctx_execute_file",{content:[{type:"text",text:Ko(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>Xc?U("ctx_execute_file",Hk(a,`file:${t}`)):U("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return U("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});We.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned. +THINK IN CODE: Write code that processes FILE_CONTENT and console.log() only the answer. Don't read files into context to analyze mentally. Write robust, pure JavaScript \u2014 no npm deps, try/catch, null-safe. Node.js + Bun compatible.`,inputSchema:H.object({path:H.string().describe("Absolute file path or relative to project root"),language:H.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:H.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:H.coerce.number().optional().default(3e4).describe("Max execution time in ms"),intent:H.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=Rj(t,"execute_file");if(s)return s;if(e==="shell"){let i=Zh(r,"execute_file");if(i)return i}else{let i=Fk(r,e,"execute_file");if(i)return i}try{let i=await xi.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return U("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}=Oh({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Yc?(qt(Buffer.byteLength(u)),U("ctx_execute_file",{content:[{type:"text",text:Ko(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>Xc?(qt(Buffer.byteLength(u)),U("ctx_execute_file",{content:[{type:"text",text:Ko(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):U("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)>Yc?(qt(Buffer.byteLength(a)),U("ctx_execute_file",{content:[{type:"text",text:Ko(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>Xc?U("ctx_execute_file",Hk(a,`file:${t}`)):U("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return U("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});We.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned. WHEN TO USE: - Documentation from Context7, Skills, or MCP tools (API docs, framework guides, code examples) @@ -488,19 +488,19 @@ WHEN TO USE: After indexing, use 'search' to retrieve specific sections on-demand. Do NOT use for: log files, test output, CSV, build output \u2014 use 'execute_file' for those.`,inputSchema:H.object({content:H.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:H.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:H.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 U("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)qt(Buffer.byteLength(t));else if(e)try{let s=await import("fs");qt(s.readFileSync(e).byteLength)}catch{}let o=Bn().index({content:t,path:e,source:r});return U("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label} -Use search(queries: ["..."]) to query this content. Use source: "${o.label}" to scope results.`}]})}catch(n){let o=n instanceof Error?n.message:String(n);return U("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});Hn=0,Ah=Date.now(),Aj=6e4,Nk=3,zk=8;We.registerTool("ctx_search",{title:"Search Indexed Content",description:`Search indexed content. Requires prior indexing via ctx_batch_execute, ctx_index, or ctx_fetch_and_index. Pass ALL search questions as queries array in ONE call. +Use search(queries: ["..."]) to query this content. Use source: "${o.label}" to scope results.`}]})}catch(n){let o=n instanceof Error?n.message:String(n);return U("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});Hn=0,Ih=Date.now(),Nj=6e4,Nk=3,zk=8;We.registerTool("ctx_search",{title:"Search Indexed Content",description:`Search indexed content. Requires prior indexing via ctx_batch_execute, ctx_index, or ctx_fetch_and_index. Pass ALL search questions as queries array in ONE call. -TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:H.object({queries:H.preprocess(qh,H.array(H.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:H.number().optional().default(3).describe("Results per query (default: 3)"),source:H.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:H.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'.")})},async t=>{try{let e=Bn();if(e.getStats().chunks===0)return U("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet. +TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:H.object({queries:H.preprocess(Hh,H.array(H.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:H.number().optional().default(3).describe("Results per query (default: 3)"),source:H.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:H.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'.")})},async t=>{try{let e=Bn();if(e.getStats().chunks===0)return U("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet. ctx_search is a follow-up tool that queries previously indexed content. To gather and index content first, use: \u2022 ctx_batch_execute(commands, queries) \u2014 run commands, auto-index output, and search in one call \u2022 ctx_fetch_and_index(url) \u2014 fetch a URL, index it, then search with ctx_search \u2022 ctx_index(content, source) \u2014 manually index text content -After indexing, ctx_search becomes available for follow-up queries.`}],isError:!0});let r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return U("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s,contentType:i}=t,a=Date.now();if(a-Ah>Aj&&(Hn=0,Ah=a),Hn++,Hn>zk)return U("ctx_search",{content:[{type:"text",text:`BLOCKED: ${Hn} search calls in ${Math.round((a-Ah)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let c=Hn>Nk?1:Math.min(o,2),u=40*1024,l=0,d=[];for(let h of n){if(l>u){d.push(`## ${h} +After indexing, ctx_search becomes available for follow-up queries.`}],isError:!0});let r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return U("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s,contentType:i}=t,a=Date.now();if(a-Ih>Nj&&(Hn=0,Ih=a),Hn++,Hn>zk)return U("ctx_search",{content:[{type:"text",text:`BLOCKED: ${Hn} search calls in ${Math.round((a-Ih)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let c=Hn>Nk?1:Math.min(o,2),u=40*1024,l=0,d=[];for(let h of n){if(l>u){d.push(`## ${h} (output cap reached) `);continue}let p=e.searchWithFallback(h,c,s,i);if(p.length===0){d.push(`## ${h} -No results found.`);continue}let f=p.map((g,_)=>{let y=`--- [${g.source}] ---`,v=`### ${g.title}`,k=Hh(g.content,h,1500,g.highlighted);return`${y} +No results found.`);continue}let f=p.map((g,_)=>{let y=`--- [${g.source}] ---`,v=`### ${g.title}`,k=Uh(g.content,h,1500,g.highlighted);return`${y} ${v} ${k}`}).join(` @@ -514,7 +514,7 @@ ${f}`),l+=f.length}let m=d.join(` `);if(Hn>=Nk&&(m+=` \u26A0 search call #${Hn}/${zk} in this window. Results limited to ${c}/query. Batch queries: search(queries: ["q1","q2","q3"]) or use batch_execute.`),m.trim().length===0){let h=e.listSources(),p=h.length>0?` -Indexed sources: ${h.map(f=>`"${f.label}" (${f.chunkCount} sections)`).join(", ")}`:"";return U("ctx_search",{content:[{type:"text",text:`No results found.${p}`}]})}return U("ctx_search",{content:[{type:"text",text:m}]})}catch(e){let r=e instanceof Error?e.message:String(e);return U("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});Nh=null,zh=null;We.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. +Indexed sources: ${h.map(f=>`"${f.label}" (${f.chunkCount} sections)`).join(", ")}`:"";return U("ctx_search",{content:[{type:"text",text:`No results found.${p}`}]})}return U("ctx_search",{content:[{type:"text",text:m}]})}catch(e){let r=e instanceof Error?e.message:String(e);return U("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});Ah=null,Nh=null;We.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. Better than WebFetch: preview is immediate, full content is searchable, raw HTML never enters context. @@ -522,17 +522,17 @@ Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, To refresh: call ctx_fetch_and_index again with \`force: true\`. You MUST call search() to answer questions about this content \u2014 this cached response contains no content. -Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=be(Fh(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=Mj(t,n),s=await xi.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return U("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=Bn(),a=(s.stdout||"").trim(),c;try{c=Dk(n,"utf-8").trim()}catch{return U("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return U("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});qt(Buffer.byteLength(c));let u;a==="__CM_CT__:json"?u=i.indexJSON(c,e??t):a==="__CM_CT__:text"?u=i.indexPlainText(c,e??t):u=i.index({content:c,source:e??t});let l=3072,d=c.length>l?c.slice(0,l)+` +Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=be(Lh(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=Dj(t,n),s=await xi.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return U("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=Bn(),a=(s.stdout||"").trim(),c;try{c=Dk(n,"utf-8").trim()}catch{return U("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return U("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});qt(Buffer.byteLength(c));let u;a==="__CM_CT__:json"?u=i.indexJSON(c,e??t):a==="__CM_CT__:text"?u=i.indexPlainText(c,e??t):u=i.index({content:c,source:e??t});let l=3072,d=c.length>l?c.slice(0,l)+` \u2026[truncated \u2014 use search() for full content]`:c,m=(Buffer.byteLength(c)/1024).toFixed(1),h=[`Fetched and indexed **${u.totalChunks} sections** (${m}KB) from: ${u.label}`,`Full content indexed in sandbox \u2014 use search(queries: [...], source: "${u.label}") for specific lookups.`,"","---","",d].join(` -`);return U("ctx_fetch_and_index",{content:[{type:"text",text:h}]})}catch(o){let s=o instanceof Error?o.message:String(o);return U("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{jh(n)}catch{}}});We.registerTool("ctx_batch_execute",{title:"Batch Execute & Search",description:`Execute multiple commands in ONE call, auto-index all output, and search with multiple queries. Returns search results directly \u2014 no follow-up calls needed. +`);return U("ctx_fetch_and_index",{content:[{type:"text",text:h}]})}catch(o){let s=o instanceof Error?o.message:String(o);return U("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{zh(n)}catch{}}});We.registerTool("ctx_batch_execute",{title:"Batch Execute & Search",description:`Execute multiple commands in ONE call, auto-index all output, and search with multiple queries. Returns search results directly \u2014 no follow-up calls needed. THIS IS THE PRIMARY TOOL. Use this instead of multiple execute() calls. One batch_execute call replaces 30+ execute calls + 10+ search calls. Provide all commands to run and all queries to search \u2014 everything happens in one round trip. -THINK IN CODE: When commands produce data you need to analyze, add processing commands that filter and summarize. Don't pull raw output into context \u2014 let the sandbox do the work.`,inputSchema:H.object({commands:H.preprocess(Nj,H.array(H.object({label:H.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:H.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:H.preprocess(qh,H.array(H.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:H.coerce.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=Uh(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1,i=`NODE_OPTIONS="--require ${Zh}" `;for(let v of t){let k=Date.now()-o,T=r-k;if(T<=0){n.push(`# ${v.label} +THINK IN CODE: When commands produce data you need to analyze, add processing commands that filter and summarize. Don't pull raw output into context \u2014 let the sandbox do the work.`,inputSchema:H.object({commands:H.preprocess(zj,H.array(H.object({label:H.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:H.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:H.preprocess(Hh,H.array(H.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:H.coerce.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=Zh(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1,i=`NODE_OPTIONS="--require ${Fh}" `;for(let v of t){let k=Date.now()-o,T=r-k;if(T<=0){n.push(`# ${v.label} (skipped \u2014 batch timeout exceeded) `),s=!0;continue}let J=await xi.execute({language:"shell",code:`${i}${v.command} 2>&1`,timeout:T}),B=J.stdout||"(no output)",N=B.matchAll(/__CM_FS__:(\d+)/g),Re=0;for(let de of N)Re+=parseInt(de[1]);if(Re>0&&(ze.bytesSandboxed+=Re,B=B.replace(/__CM_FS__:\d+\n?/g,"")),n.push(`# ${v.label} @@ -545,10 +545,10 @@ ${B} `),c=Buffer.byteLength(a),u=a.split(` `).length;if(s&&n.length===0)return U("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});qt(c);let l=Bn(),d=`batch:${t.map(v=>v.label).join(",").slice(0,80)}`,m=l.index({content:a,source:d}),h=l.getChunksBySource(m.sourceId),p=["## Indexed Sections",""],f=[];for(let v of h){let k=Buffer.byteLength(v.content);p.push(`- ${v.title} (${(k/1024).toFixed(1)}KB)`),f.push(v.title)}let g=Uk(l,e,d),_=l.getDistinctiveTerms?l.getDistinctiveTerms(m.sourceId):[],y=[`Executed ${t.length} commands (${u} lines, ${(c/1024).toFixed(1)}KB). Indexed ${m.totalChunks} sections. Searched ${e.length} queries.`,"",...p,"",...g,_.length>0?` Searchable terms for follow-up: ${_.join(", ")}`:""].join(` -`);return U("ctx_batch_execute",{content:[{type:"text",text:y}]})}catch(n){let o=n instanceof Error?n.message:String(n);return U("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});We.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:H.object({})},async()=>{let t;try{let e=Jc(),r=Ih(),n=be(qn(),`${e}${r}.db`);if(ot(n)){let o=Un(),s=new o(n,{readonly:!0});try{let a=new Go(s).queryAll(ze);t=Vc(a,Xr,Qr)}finally{s.close()}}else{let s=new Go(jk()).queryAll(ze);t=Vc(s,Xr,Qr)}}catch{let r=new Go(jk()).queryAll(ze);t=Vc(r,Xr,Qr)}return U("ctx_stats",{content:[{type:"text",text:t}]})});We.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Runs all checks server-side and returns results as a markdown checklist. No CLI execution needed.",inputSchema:H.object({})},async()=>{let t=["## context-mode doctor",""],e=ot(br(ar,"package.json"))?ar:Yr(ar),r=11,n=(Gc.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${Gc.length}/${r} (${n}%) \u2014 ${Gc.join(", ")}`),Kn()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new Zo({runtimes:Qc});try{let i=await s.execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(i.exitCode===0&&i.stdout.trim()==="ok")t.push("- [x] Server test: PASS");else{let a=i.stderr?.trim()?` (${i.stderr.trim().slice(0,200)})`:"";t.push(`- [ ] Server test: FAIL \u2014 exit ${i.exitCode}${a}`)}}catch(i){t.push(`- [ ] Server test: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{s.cleanupBackgrounded()}}{let s;try{let i=Un();s=new i(":memory:"),s.exec("CREATE VIRTUAL TABLE fts_test USING fts5(content)"),s.exec("INSERT INTO fts_test(content) VALUES ('hello world')");let a=s.prepare("SELECT * FROM fts_test WHERE fts_test MATCH 'hello'").get();a&&a.content==="hello world"?t.push("- [x] FTS5 / SQLite: PASS \u2014 native module works"):t.push("- [ ] FTS5 / SQLite: FAIL \u2014 unexpected result")}catch(i){t.push(`- [ ] FTS5 / SQLite: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{try{s?.close()}catch{}}}let o=br(e,"hooks","pretooluse.mjs");return ot(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${Xr}`),U("ctx_doctor",{content:[{type:"text",text:t.join(` +`);return U("ctx_batch_execute",{content:[{type:"text",text:y}]})}catch(n){let o=n instanceof Error?n.message:String(n);return U("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});We.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:H.object({})},async()=>{let t;try{let e=Jc(),r=Ch(),n=be(qn(),`${e}${r}.db`);if(ot(n)){let o=Un(),s=new o(n,{readonly:!0});try{let a=new Go(s).queryAll(ze);t=Vc(a,Xr,Qr)}finally{s.close()}}else{let s=new Go(jk()).queryAll(ze);t=Vc(s,Xr,Qr)}}catch{let r=new Go(jk()).queryAll(ze);t=Vc(r,Xr,Qr)}return U("ctx_stats",{content:[{type:"text",text:t}]})});We.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Runs all checks server-side and returns results as a markdown checklist. No CLI execution needed.",inputSchema:H.object({})},async()=>{let t=["## context-mode doctor",""],e=ot(br(ar,"package.json"))?ar:Yr(ar),r=11,n=(Gc.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${Gc.length}/${r} (${n}%) \u2014 ${Gc.join(", ")}`),Kn()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new Zo({runtimes:Qc});try{let i=await s.execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(i.exitCode===0&&i.stdout.trim()==="ok")t.push("- [x] Server test: PASS");else{let a=i.stderr?.trim()?` (${i.stderr.trim().slice(0,200)})`:"";t.push(`- [ ] Server test: FAIL \u2014 exit ${i.exitCode}${a}`)}}catch(i){t.push(`- [ ] Server test: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{s.cleanupBackgrounded()}}{let s;try{let i=Un();s=new i(":memory:"),s.exec("CREATE VIRTUAL TABLE fts_test USING fts5(content)"),s.exec("INSERT INTO fts_test(content) VALUES ('hello world')");let a=s.prepare("SELECT * FROM fts_test WHERE fts_test MATCH 'hello'").get();a&&a.content==="hello world"?t.push("- [x] FTS5 / SQLite: PASS \u2014 native module works"):t.push("- [ ] FTS5 / SQLite: FAIL \u2014 unexpected result")}catch(i){t.push(`- [ ] FTS5 / SQLite: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{try{s?.close()}catch{}}}let o=br(e,"hooks","pretooluse.mjs");return ot(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${Xr}`),U("ctx_doctor",{content:[{type:"text",text:t.join(` `)}]})});We.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:H.object({})},async()=>{let t=ot(br(ar,"package.json"))?ar:Yr(ar),e=br(t,"cli.bundle.mjs"),r=br(t,"build","cli.js"),n;if(ot(e))n=`node "${e}" upgrade`;else if(ot(r))n=`node "${r}" upgrade`;else{let s="https://github.com/mksglu/context-mode.git",i=["build","hooks","skills","scripts",".claude-plugin"],a=["start.mjs","server.bundle.mjs","cli.bundle.mjs","package.json"],c=['import{execFileSync}from"node:child_process";','import{cpSync,rmSync,existsSync,mkdtempSync}from"node:fs";','import{join}from"node:path";','import{tmpdir}from"node:os";',`const P=${JSON.stringify(t)};`,'const T=mkdtempSync(join(tmpdir(),"ctx-upgrade-"));',"try{",'console.log("- [x] Starting inline upgrade (no CLI found)");',`execFileSync("git",["clone","--depth","1","${s}",T],{stdio:"inherit"});`,'console.log("- [x] Cloned latest source");','execFileSync("npm",["install"],{cwd:T,stdio:"inherit"});','execFileSync("npm",["run","build"],{cwd:T,stdio:"inherit"});','console.log("- [x] Built from source");',...i.map(d=>`if(existsSync(join(T,${JSON.stringify(d)})))cpSync(join(T,${JSON.stringify(d)}),join(P,${JSON.stringify(d)}),{recursive:true,force:true});`),...a.map(d=>`if(existsSync(join(T,${JSON.stringify(d)})))cpSync(join(T,${JSON.stringify(d)}),join(P,${JSON.stringify(d)}),{force:true});`),'console.log("- [x] Copied build artifacts");','execFileSync("npm",["install","--production"],{cwd:P,stdio:"inherit"});','console.log("- [x] Installed production dependencies");','console.log("## context-mode upgrade complete");',"}catch(e){",'console.error("- [ ] Upgrade failed:",e.message);',"process.exit(1);","}finally{","try{rmSync(T,{recursive:true,force:true})}catch{}","}"].join(` `),u=br(t,".ctx-upgrade-inline.mjs"),{writeFileSync:l}=await import("node:fs");l(u,c),n=`node "${u}"`}let o=["## ctx-upgrade","","Run this command using your shell execution tool:","","```",n,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for success, `[ ]` for failure","- Example format:"," ```"," ## context-mode upgrade"," - [x] Pulled latest from GitHub"," - [x] Built and installed v0.9.24"," - [x] npm global updated"," - [x] Hooks configured"," - [x] Doctor: all checks PASS"," ```","- Tell the user to restart their session to pick up the new version."].join(` -`);return U("ctx_upgrade",{content:[{type:"text",text:o}]})});We.registerTool("ctx_purge",{title:"Purge Knowledge Base",description:"Permanently deletes ALL session data for this project: FTS5 knowledge base (indexed content), session events DB (analytics, metadata, resume snapshots), and session events markdown. Resets in-memory stats. This is irreversible.",inputSchema:H.object({confirm:H.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return U("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(ir){let r=!1;try{ir.cleanup(),r=!0}catch{}ir=null,r&&e.push("knowledge base (FTS5)")}else{let r=Mh(),n=!1;for(let o of["","-wal","-shm"])try{Jr(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=be(Lh(),".context-mode","content",`${Jc()}.db`);for(let n of["","-wal","-shm"])try{Jr(r+n)}catch{}}catch{}try{let r=Jc(),n=Ih(),o=qn(),s=be(o,`${r}${n}.db`),i=be(o,`${r}${n}-events.md`),a=be(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{Jr(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{Jr(i),u=!0}catch{}u&&e.push("session events markdown");try{Jr(a)}catch{}}catch{}return ze.calls={},ze.bytesReturned={},ze.bytesIndexed=0,ze.bytesSandboxed=0,ze.cacheHits=0,ze.cacheBytesSaved=0,ze.sessionStart=Date.now(),e.push("session stats"),U("ctx_purge",{content:[{type:"text",text:`Purged: ${e.join(", ")}. All session data for this project has been permanently deleted.`}]})});We.registerTool("ctx_insight",{title:"Open Insight Dashboard",description:"Opens the context-mode Insight dashboard in the browser. Shows personal analytics: session activity, tool usage, error rate, parallel work patterns, project focus, and actionable insights. First run installs dependencies (~30s). Subsequent runs open instantly.",inputSchema:H.object({port:H.coerce.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=ot(br(ar,"package.json"))?ar:Yr(ar),n=br(r,"insight"),o=qn(),s=be(Yr(o),"insight-cache");if(!ot(be(n,"server.mjs")))return U("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[];Dh(s,{recursive:!0});let a=Ik(be(n,"server.mjs")).mtimeMs,c=ot(be(s,"server.mjs"))?Ik(be(s,"server.mjs")).mtimeMs:0;if(a>c&&(i.push("Copying source files..."),_j(n,s,{recursive:!0,force:!0}),i.push("Source files copied.")),!ot(be(s,"node_modules"))){i.push("Installing dependencies (first run, ~30s)...");try{Kr("npm install --production=false",{cwd:s,stdio:"pipe",timeout:3e5})}catch{try{jh(be(s,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!ot(be(s,"node_modules","vite"))||!ot(be(s,"node_modules","better-sqlite3")))throw jh(be(s,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry");i.push("Dependencies installed.")}i.push("Building dashboard..."),Kr("npx vite build",{cwd:s,stdio:"pipe",timeout:6e4}),i.push("Build complete.");try{let{request:p}=await import("node:http");await new Promise((_,y)=>{let v=p(`http://127.0.0.1:${e}/api/overview`,{timeout:2e3},k=>{k.resume(),_()});v.on("error",()=>y()),v.on("timeout",()=>{v.destroy(),y()}),v.end()}),i.push("Dashboard already running.");let f=`http://localhost:${e}`,g=process.platform;try{g==="darwin"?Kr(`open "${f}"`,{stdio:"pipe"}):g==="win32"?Kr(`start "" "${f}"`,{stdio:"pipe"}):Kr(`xdg-open "${f}" 2>/dev/null || sensible-browser "${f}" 2>/dev/null`,{stdio:"pipe"})}catch{}return U("ctx_insight",{content:[{type:"text",text:`Dashboard already running at http://localhost:${e}`}]})}catch{}let{spawn:l}=await import("node:child_process"),d=l("node",[be(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e),INSIGHT_SESSION_DIR:qn(),INSIGHT_CONTENT_DIR:be(Yr(qn()),"content")},detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref(),await new Promise(p=>setTimeout(p,1500));try{let{request:p}=await import("node:http");await new Promise((f,g)=>{let _=p(`http://127.0.0.1:${e}/api/overview`,{timeout:3e3},y=>{f(),y.resume()});_.on("error",g),_.on("timeout",()=>{_.destroy(),g(new Error("timeout"))}),_.end()})}catch{return U("ctx_insight",{content:[{type:"text",text:`Port ${e} appears to be in use. Either a previous dashboard is still running, or another service is using this port. +`);return U("ctx_upgrade",{content:[{type:"text",text:o}]})});We.registerTool("ctx_purge",{title:"Purge Knowledge Base",description:"Permanently deletes ALL session data for this project: FTS5 knowledge base (indexed content), session events DB (analytics, metadata, resume snapshots), and session events markdown. Resets in-memory stats. This is irreversible.",inputSchema:H.object({confirm:H.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return U("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(ir){let r=!1;try{ir.cleanup(),r=!0}catch{}ir=null,r&&e.push("knowledge base (FTS5)")}else{let r=jh(),n=!1;for(let o of["","-wal","-shm"])try{Jr(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=be(Dh(),".context-mode","content",`${Jc()}.db`);for(let n of["","-wal","-shm"])try{Jr(r+n)}catch{}}catch{}try{let r=Jc(),n=Ch(),o=qn(),s=be(o,`${r}${n}.db`),i=be(o,`${r}${n}-events.md`),a=be(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{Jr(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{Jr(i),u=!0}catch{}u&&e.push("session events markdown");try{Jr(a)}catch{}}catch{}return ze.calls={},ze.bytesReturned={},ze.bytesIndexed=0,ze.bytesSandboxed=0,ze.cacheHits=0,ze.cacheBytesSaved=0,ze.sessionStart=Date.now(),e.push("session stats"),U("ctx_purge",{content:[{type:"text",text:`Purged: ${e.join(", ")}. All session data for this project has been permanently deleted.`}]})});We.registerTool("ctx_insight",{title:"Open Insight Dashboard",description:"Opens the context-mode Insight dashboard in the browser. Shows personal analytics: session activity, tool usage, error rate, parallel work patterns, project focus, and actionable insights. First run installs dependencies (~30s). Subsequent runs open instantly.",inputSchema:H.object({port:H.coerce.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=ot(br(ar,"package.json"))?ar:Yr(ar),n=br(r,"insight"),o=qn(),s=be(Yr(o),"insight-cache");if(!ot(be(n,"server.mjs")))return U("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[];Mh(s,{recursive:!0});let a=Ik(be(n,"server.mjs")).mtimeMs,c=ot(be(s,"server.mjs"))?Ik(be(s,"server.mjs")).mtimeMs:0;if(a>c&&(i.push("Copying source files..."),yj(n,s,{recursive:!0,force:!0}),i.push("Source files copied.")),!ot(be(s,"node_modules"))){i.push("Installing dependencies (first run, ~30s)...");try{Kr("npm install --production=false",{cwd:s,stdio:"pipe",timeout:3e5})}catch{try{zh(be(s,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!ot(be(s,"node_modules","vite"))||!ot(be(s,"node_modules","better-sqlite3")))throw zh(be(s,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry");i.push("Dependencies installed.")}i.push("Building dashboard..."),Kr("npx vite build",{cwd:s,stdio:"pipe",timeout:6e4}),i.push("Build complete.");try{let{request:p}=await import("node:http");await new Promise((_,y)=>{let v=p(`http://127.0.0.1:${e}/api/overview`,{timeout:2e3},k=>{k.resume(),_()});v.on("error",()=>y()),v.on("timeout",()=>{v.destroy(),y()}),v.end()}),i.push("Dashboard already running.");let f=`http://localhost:${e}`,g=process.platform;try{g==="darwin"?Kr(`open "${f}"`,{stdio:"pipe"}):g==="win32"?Kr(`start "" "${f}"`,{stdio:"pipe"}):Kr(`xdg-open "${f}" 2>/dev/null || sensible-browser "${f}" 2>/dev/null`,{stdio:"pipe"})}catch{}return U("ctx_insight",{content:[{type:"text",text:`Dashboard already running at http://localhost:${e}`}]})}catch{}let{spawn:l}=await import("node:child_process"),d=l("node",[be(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e),INSIGHT_SESSION_DIR:qn(),INSIGHT_CONTENT_DIR:be(Yr(qn()),"content")},detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref(),await new Promise(p=>setTimeout(p,1500));try{let{request:p}=await import("node:http");await new Promise((f,g)=>{let _=p(`http://127.0.0.1:${e}/api/overview`,{timeout:3e3},y=>{f(),y.resume()});_.on("error",g),_.on("timeout",()=>{_.destroy(),g(new Error("timeout"))}),_.end()})}catch{return U("ctx_insight",{content:[{type:"text",text:`Port ${e} appears to be in use. Either a previous dashboard is still running, or another service is using this port. To fix: - Kill the existing process: ${process.platform==="win32"?`netstat -ano | findstr :${e}`:`lsof -ti:${e} | xargs kill`} @@ -556,11 +556,11 @@ To fix: `)+` Open: ${m} -PID: ${d.pid} \xB7 Stop: ${process.platform==="win32"?`taskkill /PID ${d.pid} /F`:`kill ${d.pid}`}`}]})}catch(i){let a=i instanceof Error?i.message:String(i);return U("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${a}`}]})}});Dj().catch(t=>{console.error("Fatal:",t),process.exit(1)})});import{stdout as hw,stdin as gw}from"node:process";import*as wr from"node:readline";var Wh=t=>t===161||t===164||t===167||t===168||t===170||t===173||t===174||t>=176&&t<=180||t>=182&&t<=186||t>=188&&t<=191||t===198||t===208||t===215||t===216||t>=222&&t<=225||t===230||t>=232&&t<=234||t===236||t===237||t===240||t===242||t===243||t>=247&&t<=250||t===252||t===254||t===257||t===273||t===275||t===283||t===294||t===295||t===299||t>=305&&t<=307||t===312||t>=319&&t<=322||t===324||t>=328&&t<=331||t===333||t===338||t===339||t===358||t===359||t===363||t===462||t===464||t===466||t===468||t===470||t===472||t===474||t===476||t===593||t===609||t===708||t===711||t>=713&&t<=715||t===717||t===720||t>=728&&t<=731||t===733||t===735||t>=768&&t<=879||t>=913&&t<=929||t>=931&&t<=937||t>=945&&t<=961||t>=963&&t<=969||t===1025||t>=1040&&t<=1103||t===1105||t===8208||t>=8211&&t<=8214||t===8216||t===8217||t===8220||t===8221||t>=8224&&t<=8226||t>=8228&&t<=8231||t===8240||t===8242||t===8243||t===8245||t===8251||t===8254||t===8308||t===8319||t>=8321&&t<=8324||t===8364||t===8451||t===8453||t===8457||t===8467||t===8470||t===8481||t===8482||t===8486||t===8491||t===8531||t===8532||t>=8539&&t<=8542||t>=8544&&t<=8555||t>=8560&&t<=8569||t===8585||t>=8592&&t<=8601||t===8632||t===8633||t===8658||t===8660||t===8679||t===8704||t===8706||t===8707||t===8711||t===8712||t===8715||t===8719||t===8721||t===8725||t===8730||t>=8733&&t<=8736||t===8739||t===8741||t>=8743&&t<=8748||t===8750||t>=8756&&t<=8759||t===8764||t===8765||t===8776||t===8780||t===8786||t===8800||t===8801||t>=8804&&t<=8807||t===8810||t===8811||t===8814||t===8815||t===8834||t===8835||t===8838||t===8839||t===8853||t===8857||t===8869||t===8895||t===8978||t>=9312&&t<=9449||t>=9451&&t<=9547||t>=9552&&t<=9587||t>=9600&&t<=9615||t>=9618&&t<=9621||t===9632||t===9633||t>=9635&&t<=9641||t===9650||t===9651||t===9654||t===9655||t===9660||t===9661||t===9664||t===9665||t>=9670&&t<=9672||t===9675||t>=9678&&t<=9681||t>=9698&&t<=9701||t===9711||t===9733||t===9734||t===9737||t===9742||t===9743||t===9756||t===9758||t===9792||t===9794||t===9824||t===9825||t>=9827&&t<=9829||t>=9831&&t<=9834||t===9836||t===9837||t===9839||t===9886||t===9887||t===9919||t>=9926&&t<=9933||t>=9935&&t<=9939||t>=9941&&t<=9953||t===9955||t===9960||t===9961||t>=9963&&t<=9969||t===9972||t>=9974&&t<=9977||t===9979||t===9980||t===9982||t===9983||t===10045||t>=10102&&t<=10111||t>=11094&&t<=11097||t>=12872&&t<=12879||t>=57344&&t<=63743||t>=65024&&t<=65039||t===65533||t>=127232&&t<=127242||t>=127248&&t<=127277||t>=127280&&t<=127337||t>=127344&&t<=127373||t===127375||t===127376||t>=127387&&t<=127404||t>=917760&&t<=917999||t>=983040&&t<=1048573||t>=1048576&&t<=1114109,Gh=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,Kh=t=>t>=4352&&t<=4447||t===8986||t===8987||t===9001||t===9002||t>=9193&&t<=9196||t===9200||t===9203||t===9725||t===9726||t===9748||t===9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t===9898||t===9899||t===9917||t===9918||t===9924||t===9925||t===9934||t===9940||t===9962||t===9970||t===9971||t===9973||t===9978||t===9981||t===9989||t===9994||t===9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t===11035||t===11036||t===11088||t===11093||t>=11904&&t<=11929||t>=11931&&t<=12019||t>=12032&&t<=12245||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12353&&t<=12438||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=19968&&t<=42124||t>=42128&&t<=42182||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=94176&&t<=94180||t===94192||t===94193||t>=94208&&t<=100343||t>=100352&&t<=101589||t>=101632&&t<=101640||t>=110576&&t<=110579||t>=110581&&t<=110587||t===110589||t===110590||t>=110592&&t<=110882||t===110898||t>=110928&&t<=110930||t===110933||t>=110948&&t<=110951||t>=110960&&t<=111355||t===126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t===127568||t===127569||t>=127584&&t<=127589||t>=127744&&t<=127776||t>=127789&&t<=127797||t>=127799&&t<=127868||t>=127870&&t<=127891||t>=127904&&t<=127946||t>=127951&&t<=127955||t>=127968&&t<=127984||t===127988||t>=127992&&t<=128062||t===128064||t>=128066&&t<=128252||t>=128255&&t<=128317||t>=128331&&t<=128334||t>=128336&&t<=128359||t===128378||t===128405||t===128406||t===128420||t>=128507&&t<=128591||t>=128640&&t<=128709||t===128716||t>=128720&&t<=128722||t>=128725&&t<=128727||t>=128732&&t<=128735||t===128747||t===128748||t>=128756&&t<=128764||t>=128992&&t<=129003||t===129008||t>=129292&&t<=129338||t>=129340&&t<=129349||t>=129351&&t<=129535||t>=129648&&t<=129660||t>=129664&&t<=129672||t>=129680&&t<=129725||t>=129727&&t<=129733||t>=129742&&t<=129755||t>=129760&&t<=129768||t>=129776&&t<=129784||t>=131072&&t<=196605||t>=196608&&t<=262141;var ru=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,wi=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,$i=/\t{1,1000}/y,nu=new RegExp("[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*","yu"),Ei=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,ow=new RegExp("\\p{M}+","gu"),sw={limit:1/0,ellipsis:""},Jh=(t,e={},r={})=>{let n=e.limit??1/0,o=e.ellipsis??"",s=e?.ellipsisWidth??(o?Jh(o,sw,r).width:0),i=r.ansiWidth??0,a=r.controlWidth??0,c=r.tabWidth??8,u=r.ambiguousWidth??1,l=r.emojiWidth??2,d=r.fullWidthWidth??2,m=r.regularWidth??1,h=r.wideWidth??2,p=0,f=0,g=t.length,_=0,y=!1,v=g,k=Math.max(0,n-s),T=0,J=0,B=0,N=0;e:for(;;){if(J>T||f>=g&&f>p){let Re=t.slice(T,J)||t.slice(p,f);_=0;for(let de of Re.replaceAll(ow,"")){let ft=de.codePointAt(0)||0;if(Gh(ft)?N=d:Kh(ft)?N=h:u!==m&&Wh(ft)?N=u:N=m,B+N>k&&(v=Math.min(v,Math.max(T,p)+_)),B+N>n){y=!0;break e}_+=de.length,B+=N}T=J=0}if(f>=g)break;if(Ei.lastIndex=f,Ei.test(t)){if(_=Ei.lastIndex-f,N=_*m,B+N>k&&(v=Math.min(v,f+Math.floor((k-B)/m))),B+N>n){y=!0;break}B+=N,T=p,J=f,f=p=Ei.lastIndex;continue}if(ru.lastIndex=f,ru.test(t)){if(B+i>k&&(v=Math.min(v,f)),B+i>n){y=!0;break}B+=i,T=p,J=f,f=p=ru.lastIndex;continue}if(wi.lastIndex=f,wi.test(t)){if(_=wi.lastIndex-f,N=_*a,B+N>k&&(v=Math.min(v,f+Math.floor((k-B)/a))),B+N>n){y=!0;break}B+=N,T=p,J=f,f=p=wi.lastIndex;continue}if($i.lastIndex=f,$i.test(t)){if(_=$i.lastIndex-f,N=_*c,B+N>k&&(v=Math.min(v,f+Math.floor((k-B)/c))),B+N>n){y=!0;break}B+=N,T=p,J=f,f=p=$i.lastIndex;continue}if(nu.lastIndex=f,nu.test(t)){if(B+l>k&&(v=Math.min(v,f)),B+l>n){y=!0;break}B+=l,T=p,J=f,f=p=nu.lastIndex;continue}f+=1}return{width:y?k:B,index:y?v:g,truncated:y,ellipsed:y&&n>=s}},Yh=Jh;var iw={limit:1/0,ellipsis:"",ellipsisWidth:0},aw=(t,e={})=>Yh(t,iw,e).width,Xe=aw;var Ti="\x1B",rg="\x9B",cw=39,su="\x07",ng="[",uw="]",og="m",iu=`${uw}8;;`,Xh=new RegExp(`(?:\\${ng}(?\\d+)m|\\${iu}(?.*)${su})`,"y"),Qh=t=>{if(t>=30&&t<=37||t>=90&&t<=97)return 39;if(t>=40&&t<=47||t>=100&&t<=107)return 49;if(t===1||t===2)return 22;if(t===3)return 23;if(t===4)return 24;if(t===7)return 27;if(t===8)return 28;if(t===9)return 29;if(t===0)return 0},eg=t=>`${Ti}${ng}${t}${og}`,tg=t=>`${Ti}${iu}${t}${su}`,ou=(t,e,r)=>{let n=e[Symbol.iterator](),o=!1,s=!1,i=t.at(-1),a=i===void 0?0:Xe(i),c=n.next(),u=n.next(),l=0;for(;!c.done;){let d=c.value,m=Xe(d);a+m<=r?t[t.length-1]+=d:(t.push(d),a=0),(d===Ti||d===rg)&&(o=!0,s=e.startsWith(iu,l+1)),o?s?d===su&&(o=!1,s=!1):d===og&&(o=!1):(a+=m,a===r&&!u.done&&(t.push(""),a=0)),c=u,u=n.next(),l+=d.length}i=t.at(-1),!a&&i!==void 0&&i.length&&t.length>1&&(t[t.length-2]+=t.pop())},lw=t=>{let e=t.split(" "),r=e.length;for(;r&&!Xe(e[r-1]);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},dw=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let n="",o,s,i=t.split(" "),a=[""],c=0;for(let d=0;d=e&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),c=0),(c||r.trim===!1)&&(a[a.length-1]+=" ",c++));let h=Xe(m);if(r.hard&&h>e){let p=e-c,f=1+Math.floor((h-p-1)/e);Math.floor((h-1)/e)e&&c&&h){if(r.wordWrap===!1&&ce&&r.wordWrap===!1){ou(a,m,e),c=Xe(a.at(-1)??"");continue}a[a.length-1]+=m,c+=h}r.trim!==!1&&(a=a.map(d=>lw(d)));let u=a.join(` -`),l=!1;for(let d=0;d="\uD800"&&m<="\uDBFF";else continue;if(m===Ti||m===rg){Xh.lastIndex=d+1;let p=Xh.exec(u)?.groups;if(p?.code!==void 0){let f=Number.parseFloat(p.code);o=f===cw?void 0:f}else p?.uri!==void 0&&(s=p.uri.length===0?void 0:p.uri)}if(u[d+1]===` -`){s&&(n+=tg(""));let h=o?Qh(o):void 0;o&&h&&(n+=eg(h))}else m===` -`&&(o&&Qh(o)&&(n+=eg(o)),s&&(n+=tg(s)))}return n},pw=/\r?\n/;function Wn(t,e,r){return String(t).normalize().split(pw).map(n=>dw(n,e,r)).join(` -`)}var Xo=Yo(cu(),1);import{ReadStream as ig}from"node:tty";var _w=["up","down","left","right","space","enter","cancel"],yw=["January","February","March","April","May","June","July","August","September","October","November","December"],Bt={actions:new Set(_w),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,date:{monthNames:[...yw],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(t,e)=>`There are only ${t} days in ${e}`,afterMin:t=>`Date must be on or after ${t.toISOString().slice(0,10)}`,beforeMax:t=>`Date must be on or before ${t.toISOString().slice(0,10)}`}}};function ag(t,e){if(typeof t=="string")return Bt.aliases.get(t)===e;for(let r of t)if(r!==void 0&&ag(r,e))return!0;return!1}var vw=globalThis.process.platform.startsWith("win");function cg({input:t=gw,output:e=hw,overwrite:r=!0,hideCursor:n=!0}={}){let o=wr.createInterface({input:t,output:e,prompt:"",tabSize:1});wr.emitKeypressEvents(t,o),t instanceof ig&&t.isTTY&&t.setRawMode(!0);let s=(i,{name:a,sequence:c})=>{let u=String(i);if(ag([u,a,c],"cancel")){n&&e.write(Xo.cursor.show),process.exit(0);return}if(!r)return;wr.moveCursor(e,a==="return"?0:-1,a==="return"?-1:0,()=>{wr.clearLine(e,1,()=>{t.once("keypress",s)})})};return n&&e.write(Xo.cursor.hide),t.once("keypress",s),()=>{t.off("keypress",s),n&&e.write(Xo.cursor.show),t instanceof ig&&t.isTTY&&!vw&&t.setRawMode(!1),o.terminal=!1,o.close()}}var uu=t=>"columns"in t&&typeof t.columns=="number"?t.columns:80;import{styleText as ke,stripVTControlCharacters as RM}from"node:util";import vt from"node:process";var Qo=Yo(cu(),1);function bw(){return vt.platform!=="win32"?vt.env.TERM!=="linux":!!vt.env.CI||!!vt.env.WT_SESSION||!!vt.env.TERMINUS_SUBLIME||vt.env.ConEmuTask==="{cmd::Cmder}"||vt.env.TERM_PROGRAM==="Terminus-Sublime"||vt.env.TERM_PROGRAM==="vscode"||vt.env.TERM==="xterm-256color"||vt.env.TERM==="alacritty"||vt.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var lu=bw(),Sw=()=>process.env.CI==="true";var ce=(t,e)=>lu?t:e,AM=ce("\u25C6","*"),kw=ce("\u25A0","x"),ww=ce("\u25B2","x"),du=ce("\u25C7","o"),$w=ce("\u250C","T"),$r=ce("\u2502","|"),Ew=ce("\u2514","\u2014"),NM=ce("\u2510","T"),zM=ce("\u2518","\u2014"),jM=ce("\u25CF",">"),MM=ce("\u25CB"," "),DM=ce("\u25FB","[\u2022]"),LM=ce("\u25FC","[+]"),FM=ce("\u25FB","[ ]"),ZM=ce("\u25AA","\u2022"),ug=ce("\u2500","-"),Tw=ce("\u256E","+"),Pw=ce("\u251C","+"),Rw=ce("\u256F","+"),Ow=ce("\u2570","+"),UM=ce("\u256D","+"),Cw=ce("\u25CF","\u2022"),Iw=ce("\u25C6","*"),Aw=ce("\u25B2","!"),Nw=ce("\u25A0","x");var I={message:(t=[],{symbol:e=ke("gray",$r),secondarySymbol:r=ke("gray",$r),output:n=process.stdout,spacing:o=1,withGuide:s}={})=>{let i=[],a=s??Bt.withGuide,c=a?r:"",u=a?`${e} `:"",l=a?`${r} `:"";for(let m=0;m{console.error("Fatal:",t),process.exit(1)})});import{stdout as hw,stdin as gw}from"node:process";import*as wr from"node:readline";var Vh=t=>t===161||t===164||t===167||t===168||t===170||t===173||t===174||t>=176&&t<=180||t>=182&&t<=186||t>=188&&t<=191||t===198||t===208||t===215||t===216||t>=222&&t<=225||t===230||t>=232&&t<=234||t===236||t===237||t===240||t===242||t===243||t>=247&&t<=250||t===252||t===254||t===257||t===273||t===275||t===283||t===294||t===295||t===299||t>=305&&t<=307||t===312||t>=319&&t<=322||t===324||t>=328&&t<=331||t===333||t===338||t===339||t===358||t===359||t===363||t===462||t===464||t===466||t===468||t===470||t===472||t===474||t===476||t===593||t===609||t===708||t===711||t>=713&&t<=715||t===717||t===720||t>=728&&t<=731||t===733||t===735||t>=768&&t<=879||t>=913&&t<=929||t>=931&&t<=937||t>=945&&t<=961||t>=963&&t<=969||t===1025||t>=1040&&t<=1103||t===1105||t===8208||t>=8211&&t<=8214||t===8216||t===8217||t===8220||t===8221||t>=8224&&t<=8226||t>=8228&&t<=8231||t===8240||t===8242||t===8243||t===8245||t===8251||t===8254||t===8308||t===8319||t>=8321&&t<=8324||t===8364||t===8451||t===8453||t===8457||t===8467||t===8470||t===8481||t===8482||t===8486||t===8491||t===8531||t===8532||t>=8539&&t<=8542||t>=8544&&t<=8555||t>=8560&&t<=8569||t===8585||t>=8592&&t<=8601||t===8632||t===8633||t===8658||t===8660||t===8679||t===8704||t===8706||t===8707||t===8711||t===8712||t===8715||t===8719||t===8721||t===8725||t===8730||t>=8733&&t<=8736||t===8739||t===8741||t>=8743&&t<=8748||t===8750||t>=8756&&t<=8759||t===8764||t===8765||t===8776||t===8780||t===8786||t===8800||t===8801||t>=8804&&t<=8807||t===8810||t===8811||t===8814||t===8815||t===8834||t===8835||t===8838||t===8839||t===8853||t===8857||t===8869||t===8895||t===8978||t>=9312&&t<=9449||t>=9451&&t<=9547||t>=9552&&t<=9587||t>=9600&&t<=9615||t>=9618&&t<=9621||t===9632||t===9633||t>=9635&&t<=9641||t===9650||t===9651||t===9654||t===9655||t===9660||t===9661||t===9664||t===9665||t>=9670&&t<=9672||t===9675||t>=9678&&t<=9681||t>=9698&&t<=9701||t===9711||t===9733||t===9734||t===9737||t===9742||t===9743||t===9756||t===9758||t===9792||t===9794||t===9824||t===9825||t>=9827&&t<=9829||t>=9831&&t<=9834||t===9836||t===9837||t===9839||t===9886||t===9887||t===9919||t>=9926&&t<=9933||t>=9935&&t<=9939||t>=9941&&t<=9953||t===9955||t===9960||t===9961||t>=9963&&t<=9969||t===9972||t>=9974&&t<=9977||t===9979||t===9980||t===9982||t===9983||t===10045||t>=10102&&t<=10111||t>=11094&&t<=11097||t>=12872&&t<=12879||t>=57344&&t<=63743||t>=65024&&t<=65039||t===65533||t>=127232&&t<=127242||t>=127248&&t<=127277||t>=127280&&t<=127337||t>=127344&&t<=127373||t===127375||t===127376||t>=127387&&t<=127404||t>=917760&&t<=917999||t>=983040&&t<=1048573||t>=1048576&&t<=1114109,Wh=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,Gh=t=>t>=4352&&t<=4447||t===8986||t===8987||t===9001||t===9002||t>=9193&&t<=9196||t===9200||t===9203||t===9725||t===9726||t===9748||t===9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t===9898||t===9899||t===9917||t===9918||t===9924||t===9925||t===9934||t===9940||t===9962||t===9970||t===9971||t===9973||t===9978||t===9981||t===9989||t===9994||t===9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t===11035||t===11036||t===11088||t===11093||t>=11904&&t<=11929||t>=11931&&t<=12019||t>=12032&&t<=12245||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12353&&t<=12438||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=19968&&t<=42124||t>=42128&&t<=42182||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=94176&&t<=94180||t===94192||t===94193||t>=94208&&t<=100343||t>=100352&&t<=101589||t>=101632&&t<=101640||t>=110576&&t<=110579||t>=110581&&t<=110587||t===110589||t===110590||t>=110592&&t<=110882||t===110898||t>=110928&&t<=110930||t===110933||t>=110948&&t<=110951||t>=110960&&t<=111355||t===126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t===127568||t===127569||t>=127584&&t<=127589||t>=127744&&t<=127776||t>=127789&&t<=127797||t>=127799&&t<=127868||t>=127870&&t<=127891||t>=127904&&t<=127946||t>=127951&&t<=127955||t>=127968&&t<=127984||t===127988||t>=127992&&t<=128062||t===128064||t>=128066&&t<=128252||t>=128255&&t<=128317||t>=128331&&t<=128334||t>=128336&&t<=128359||t===128378||t===128405||t===128406||t===128420||t>=128507&&t<=128591||t>=128640&&t<=128709||t===128716||t>=128720&&t<=128722||t>=128725&&t<=128727||t>=128732&&t<=128735||t===128747||t===128748||t>=128756&&t<=128764||t>=128992&&t<=129003||t===129008||t>=129292&&t<=129338||t>=129340&&t<=129349||t>=129351&&t<=129535||t>=129648&&t<=129660||t>=129664&&t<=129672||t>=129680&&t<=129725||t>=129727&&t<=129733||t>=129742&&t<=129755||t>=129760&&t<=129768||t>=129776&&t<=129784||t>=131072&&t<=196605||t>=196608&&t<=262141;var ru=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,wi=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,$i=/\t{1,1000}/y,nu=new RegExp("[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*","yu"),Ei=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,ow=new RegExp("\\p{M}+","gu"),sw={limit:1/0,ellipsis:""},Kh=(t,e={},r={})=>{let n=e.limit??1/0,o=e.ellipsis??"",s=e?.ellipsisWidth??(o?Kh(o,sw,r).width:0),i=r.ansiWidth??0,a=r.controlWidth??0,c=r.tabWidth??8,u=r.ambiguousWidth??1,l=r.emojiWidth??2,d=r.fullWidthWidth??2,m=r.regularWidth??1,h=r.wideWidth??2,p=0,f=0,g=t.length,_=0,y=!1,v=g,k=Math.max(0,n-s),T=0,J=0,B=0,N=0;e:for(;;){if(J>T||f>=g&&f>p){let Re=t.slice(T,J)||t.slice(p,f);_=0;for(let de of Re.replaceAll(ow,"")){let ft=de.codePointAt(0)||0;if(Wh(ft)?N=d:Gh(ft)?N=h:u!==m&&Vh(ft)?N=u:N=m,B+N>k&&(v=Math.min(v,Math.max(T,p)+_)),B+N>n){y=!0;break e}_+=de.length,B+=N}T=J=0}if(f>=g)break;if(Ei.lastIndex=f,Ei.test(t)){if(_=Ei.lastIndex-f,N=_*m,B+N>k&&(v=Math.min(v,f+Math.floor((k-B)/m))),B+N>n){y=!0;break}B+=N,T=p,J=f,f=p=Ei.lastIndex;continue}if(ru.lastIndex=f,ru.test(t)){if(B+i>k&&(v=Math.min(v,f)),B+i>n){y=!0;break}B+=i,T=p,J=f,f=p=ru.lastIndex;continue}if(wi.lastIndex=f,wi.test(t)){if(_=wi.lastIndex-f,N=_*a,B+N>k&&(v=Math.min(v,f+Math.floor((k-B)/a))),B+N>n){y=!0;break}B+=N,T=p,J=f,f=p=wi.lastIndex;continue}if($i.lastIndex=f,$i.test(t)){if(_=$i.lastIndex-f,N=_*c,B+N>k&&(v=Math.min(v,f+Math.floor((k-B)/c))),B+N>n){y=!0;break}B+=N,T=p,J=f,f=p=$i.lastIndex;continue}if(nu.lastIndex=f,nu.test(t)){if(B+l>k&&(v=Math.min(v,f)),B+l>n){y=!0;break}B+=l,T=p,J=f,f=p=nu.lastIndex;continue}f+=1}return{width:y?k:B,index:y?v:g,truncated:y,ellipsed:y&&n>=s}},Jh=Kh;var iw={limit:1/0,ellipsis:"",ellipsisWidth:0},aw=(t,e={})=>Jh(t,iw,e).width,Xe=aw;var Ti="\x1B",tg="\x9B",cw=39,su="\x07",rg="[",uw="]",ng="m",iu=`${uw}8;;`,Yh=new RegExp(`(?:\\${rg}(?\\d+)m|\\${iu}(?.*)${su})`,"y"),Xh=t=>{if(t>=30&&t<=37||t>=90&&t<=97)return 39;if(t>=40&&t<=47||t>=100&&t<=107)return 49;if(t===1||t===2)return 22;if(t===3)return 23;if(t===4)return 24;if(t===7)return 27;if(t===8)return 28;if(t===9)return 29;if(t===0)return 0},Qh=t=>`${Ti}${rg}${t}${ng}`,eg=t=>`${Ti}${iu}${t}${su}`,ou=(t,e,r)=>{let n=e[Symbol.iterator](),o=!1,s=!1,i=t.at(-1),a=i===void 0?0:Xe(i),c=n.next(),u=n.next(),l=0;for(;!c.done;){let d=c.value,m=Xe(d);a+m<=r?t[t.length-1]+=d:(t.push(d),a=0),(d===Ti||d===tg)&&(o=!0,s=e.startsWith(iu,l+1)),o?s?d===su&&(o=!1,s=!1):d===ng&&(o=!1):(a+=m,a===r&&!u.done&&(t.push(""),a=0)),c=u,u=n.next(),l+=d.length}i=t.at(-1),!a&&i!==void 0&&i.length&&t.length>1&&(t[t.length-2]+=t.pop())},lw=t=>{let e=t.split(" "),r=e.length;for(;r&&!Xe(e[r-1]);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},dw=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let n="",o,s,i=t.split(" "),a=[""],c=0;for(let d=0;d=e&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),c=0),(c||r.trim===!1)&&(a[a.length-1]+=" ",c++));let h=Xe(m);if(r.hard&&h>e){let p=e-c,f=1+Math.floor((h-p-1)/e);Math.floor((h-1)/e)e&&c&&h){if(r.wordWrap===!1&&ce&&r.wordWrap===!1){ou(a,m,e),c=Xe(a.at(-1)??"");continue}a[a.length-1]+=m,c+=h}r.trim!==!1&&(a=a.map(d=>lw(d)));let u=a.join(` +`),l=!1;for(let d=0;d="\uD800"&&m<="\uDBFF";else continue;if(m===Ti||m===tg){Yh.lastIndex=d+1;let p=Yh.exec(u)?.groups;if(p?.code!==void 0){let f=Number.parseFloat(p.code);o=f===cw?void 0:f}else p?.uri!==void 0&&(s=p.uri.length===0?void 0:p.uri)}if(u[d+1]===` +`){s&&(n+=eg(""));let h=o?Xh(o):void 0;o&&h&&(n+=Qh(h))}else m===` +`&&(o&&Xh(o)&&(n+=Qh(o)),s&&(n+=eg(s)))}return n},pw=/\r?\n/;function Wn(t,e,r){return String(t).normalize().split(pw).map(n=>dw(n,e,r)).join(` +`)}var Xo=Yo(cu(),1);import{ReadStream as sg}from"node:tty";var _w=["up","down","left","right","space","enter","cancel"],yw=["January","February","March","April","May","June","July","August","September","October","November","December"],Bt={actions:new Set(_w),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,date:{monthNames:[...yw],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(t,e)=>`There are only ${t} days in ${e}`,afterMin:t=>`Date must be on or after ${t.toISOString().slice(0,10)}`,beforeMax:t=>`Date must be on or before ${t.toISOString().slice(0,10)}`}}};function ig(t,e){if(typeof t=="string")return Bt.aliases.get(t)===e;for(let r of t)if(r!==void 0&&ig(r,e))return!0;return!1}var vw=globalThis.process.platform.startsWith("win");function ag({input:t=gw,output:e=hw,overwrite:r=!0,hideCursor:n=!0}={}){let o=wr.createInterface({input:t,output:e,prompt:"",tabSize:1});wr.emitKeypressEvents(t,o),t instanceof sg&&t.isTTY&&t.setRawMode(!0);let s=(i,{name:a,sequence:c})=>{let u=String(i);if(ig([u,a,c],"cancel")){n&&e.write(Xo.cursor.show),process.exit(0);return}if(!r)return;wr.moveCursor(e,a==="return"?0:-1,a==="return"?-1:0,()=>{wr.clearLine(e,1,()=>{t.once("keypress",s)})})};return n&&e.write(Xo.cursor.hide),t.once("keypress",s),()=>{t.off("keypress",s),n&&e.write(Xo.cursor.show),t instanceof sg&&t.isTTY&&!vw&&t.setRawMode(!1),o.terminal=!1,o.close()}}var uu=t=>"columns"in t&&typeof t.columns=="number"?t.columns:80;import{styleText as ke,stripVTControlCharacters as OM}from"node:util";import vt from"node:process";var Qo=Yo(cu(),1);function bw(){return vt.platform!=="win32"?vt.env.TERM!=="linux":!!vt.env.CI||!!vt.env.WT_SESSION||!!vt.env.TERMINUS_SUBLIME||vt.env.ConEmuTask==="{cmd::Cmder}"||vt.env.TERM_PROGRAM==="Terminus-Sublime"||vt.env.TERM_PROGRAM==="vscode"||vt.env.TERM==="xterm-256color"||vt.env.TERM==="alacritty"||vt.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var lu=bw(),Sw=()=>process.env.CI==="true";var ce=(t,e)=>lu?t:e,NM=ce("\u25C6","*"),kw=ce("\u25A0","x"),ww=ce("\u25B2","x"),du=ce("\u25C7","o"),$w=ce("\u250C","T"),$r=ce("\u2502","|"),Ew=ce("\u2514","\u2014"),zM=ce("\u2510","T"),jM=ce("\u2518","\u2014"),MM=ce("\u25CF",">"),DM=ce("\u25CB"," "),LM=ce("\u25FB","[\u2022]"),FM=ce("\u25FC","[+]"),ZM=ce("\u25FB","[ ]"),UM=ce("\u25AA","\u2022"),cg=ce("\u2500","-"),Tw=ce("\u256E","+"),Pw=ce("\u251C","+"),Rw=ce("\u256F","+"),Ow=ce("\u2570","+"),HM=ce("\u256D","+"),Cw=ce("\u25CF","\u2022"),Iw=ce("\u25C6","*"),Aw=ce("\u25B2","!"),Nw=ce("\u25A0","x");var I={message:(t=[],{symbol:e=ke("gray",$r),secondarySymbol:r=ke("gray",$r),output:n=process.stdout,spacing:o=1,withGuide:s}={})=>{let i=[],a=s??Bt.withGuide,c=a?r:"",u=a?`${e} `:"",l=a?`${r} `:"";for(let m=0;m0){let[m,...h]=d;m.length>0?i.push(`${u}${m}`):i.push(a?e:"");for(let p of h)p.length>0?i.push(`${l}${p}`):i.push(a?r:"")}n.write(`${i.join(` `)} `)},info:(t,e)=>{I.message(t,{...e,symbol:ke("blue",Cw)})},success:(t,e)=>{I.message(t,{...e,symbol:ke("green",Iw)})},step:(t,e)=>{I.message(t,{...e,symbol:ke("green",du)})},warn:(t,e)=>{I.message(t,{...e,symbol:ke("yellow",Aw)})},warning:(t,e)=>{I.warn(t,e)},error:(t,e)=>{I.message(t,{...e,symbol:ke("red",Nw)})}};var pu=(t="",e)=>{let r=e?.output??process.stdout,n=e?.withGuide??Bt.withGuide?`${ke("gray",$w)} `:"";r.write(`${n}${t} @@ -571,25 +571,25 @@ ${ke("gray",Ew)} `:"";r.write(`${n}${t} `),s=o.reduce((c,u)=>Math.max(Xe(u),c),0),i=o.map(r).reduce((c,u)=>Math.max(Xe(u),c),0),a=e-(i-s);return Wn(t,a,n)},mu=(t="",e="",r)=>{let n=r?.output??vt.stdout,o=r?.withGuide??Bt.withGuide,s=r?.format??zw,i=["",...jw(t,uu(n)-6,s).split(` `).map(s),""],a=Xe(e),c=Math.max(i.reduce((m,h)=>{let p=Xe(h);return p>m?p:m},0),a)+2,u=i.map(m=>`${ke("gray",$r)} ${m}${" ".repeat(c-Xe(m))}${ke("gray",$r)}`).join(` `),l=o?`${ke("gray",$r)} -`:"",d=o?Pw:Ow;n.write(`${l}${ke("green",du)} ${ke("reset",e)} ${ke("gray",ug.repeat(Math.max(c-a-1,1))+Tw)} +`:"",d=o?Pw:Ow;n.write(`${l}${ke("green",du)} ${ke("reset",e)} ${ke("gray",cg.repeat(Math.max(c-a-1,1))+Tw)} ${u} -${ke("gray",d+ug.repeat(c+2)+Rw)} +${ke("gray",d+cg.repeat(c+2)+Rw)} `)};var Mw=t=>ke("magenta",t),fu=({indicator:t="dots",onCancel:e,output:r=process.stdout,cancelMessage:n,errorMessage:o,frames:s=lu?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:i=lu?80:120,signal:a,...c}={})=>{let u=Sw(),l,d,m=!1,h=!1,p="",f,g=performance.now(),_=uu(r),y=c?.styleFrame??Mw,v=Se=>{let yt=Se>1?o??Bt.messages.error:n??Bt.messages.cancel;h=Se===1,m&&(kr(yt,Se),h&&typeof e=="function"&&e())},k=()=>v(2),T=()=>v(1),J=()=>{process.on("uncaughtExceptionMonitor",k),process.on("unhandledRejection",k),process.on("SIGINT",T),process.on("SIGTERM",T),process.on("exit",v),a&&a.addEventListener("abort",T)},B=()=>{process.removeListener("uncaughtExceptionMonitor",k),process.removeListener("unhandledRejection",k),process.removeListener("SIGINT",T),process.removeListener("SIGTERM",T),process.removeListener("exit",v),a&&a.removeEventListener("abort",T)},N=()=>{if(f===void 0)return;u&&r.write(` `);let Se=Wn(f,_,{hard:!0,trim:!1}).split(` -`);Se.length>1&&r.write(Qo.cursor.up(Se.length-1)),r.write(Qo.cursor.to(0)),r.write(Qo.erase.down())},Re=Se=>Se.replace(/\.+$/,""),de=Se=>{let yt=(performance.now()-Se)/1e3,cr=Math.floor(yt/60),ur=Math.floor(yt%60);return cr>0?`[${cr}m ${ur}s]`:`[${ur}s]`},ft=c.withGuide??Bt.withGuide,Si=(Se="")=>{m=!0,l=cg({output:r}),p=Re(Se),g=performance.now(),ft&&r.write(`${ke("gray",$r)} +`);Se.length>1&&r.write(Qo.cursor.up(Se.length-1)),r.write(Qo.cursor.to(0)),r.write(Qo.erase.down())},Re=Se=>Se.replace(/\.+$/,""),de=Se=>{let yt=(performance.now()-Se)/1e3,cr=Math.floor(yt/60),ur=Math.floor(yt%60);return cr>0?`[${cr}m ${ur}s]`:`[${ur}s]`},ft=c.withGuide??Bt.withGuide,Si=(Se="")=>{m=!0,l=ag({output:r}),p=Re(Se),g=performance.now(),ft&&r.write(`${ke("gray",$r)} `);let yt=0,cr=0;J(),d=setInterval(()=>{if(u&&p===f)return;N(),f=p;let ur=y(s[yt]),ki;if(u)ki=`${ur} ${p}...`;else if(t==="timer")ki=`${ur} ${p} ${de(g)}`;else{let Yk=".".repeat(Math.floor(cr)).slice(0,3);ki=`${ur} ${p}${Yk}`}let Jk=Wn(ki,_,{hard:!0,trim:!1});r.write(Jk),yt=yt+1{if(!m)return;m=!1,clearInterval(d),N();let ur=yt===0?ke("green",du):yt===1?ke("red",kw):ke("red",ww);p=Se??p,cr||(t==="timer"?r.write(`${ur} ${p} ${de(g)} `):r.write(`${ur} ${p} -`)),B(),l()};return{start:Si,stop:(Se="")=>kr(Se,0),message:(Se="")=>{p=Re(Se??p)},cancel:(Se="")=>kr(Se,1),error:(Se="")=>kr(Se,2),clear:()=>kr("",0,!0),get isCancelled(){return h}}},HM={light:ce("\u2500","-"),heavy:ce("\u2501","="),block:ce("\u2588","#")};var qM=`${ke("gray",$r)} `;var E=Yo(pg(),1);Ai();Xu();import{execFileSync as Vn}from"node:child_process";import{readFileSync as eu,writeFileSync as Lj,cpSync as Vk,accessSync as Wk,existsSync as Sr,rmSync as Jo,closeSync as Fj,openSync as Zj,chmodSync as Uj,constants as Gk}from"node:fs";import{request as Hj}from"node:https";import{resolve as Ae,dirname as Bh,join as mt}from"node:path";import{tmpdir as qj,devNull as Bj,homedir as Vh}from"node:os";import{fileURLToPath as Vj,pathToFileURL as Wj}from"node:url";var Gj={"claude-code":{pretooluse:"hooks/pretooluse.mjs",posttooluse:"hooks/posttooluse.mjs",precompact:"hooks/precompact.mjs",sessionstart:"hooks/sessionstart.mjs",userpromptsubmit:"hooks/userpromptsubmit.mjs"},"gemini-cli":{beforetool:"hooks/gemini-cli/beforetool.mjs",aftertool:"hooks/gemini-cli/aftertool.mjs",precompress:"hooks/gemini-cli/precompress.mjs",sessionstart:"hooks/gemini-cli/sessionstart.mjs"},"vscode-copilot":{pretooluse:"hooks/vscode-copilot/pretooluse.mjs",posttooluse:"hooks/vscode-copilot/posttooluse.mjs",precompact:"hooks/vscode-copilot/precompact.mjs",sessionstart:"hooks/vscode-copilot/sessionstart.mjs"},cursor:{pretooluse:"hooks/cursor/pretooluse.mjs",posttooluse:"hooks/cursor/posttooluse.mjs",sessionstart:"hooks/cursor/sessionstart.mjs",stop:"hooks/cursor/stop.mjs"},codex:{pretooluse:"hooks/codex/pretooluse.mjs",posttooluse:"hooks/codex/posttooluse.mjs",sessionstart:"hooks/codex/sessionstart.mjs"},kiro:{pretooluse:"hooks/kiro/pretooluse.mjs",posttooluse:"hooks/kiro/posttooluse.mjs"}};async function Kj(t,e){try{Fj(2),Zj(Bj,"w")}catch{process.stderr.write=(()=>!0)}let r=Gj[t]?.[e];r||process.exit(1);let n=bi();await import(Wj(mt(n,r)).href)}var en=process.argv.slice(2);en[0]==="doctor"?Qj().then(t=>process.exit(t)):en[0]==="upgrade"?tM():en[0]==="hook"?Kj(en[1],en[2]):en[0]==="insight"?eM(en[1]?Number(en[1]):4747):Promise.resolve().then(()=>(Bk(),qk));function S9(t){return t.replace(/\\/g,"/")}function Jj(){let t=Vj(import.meta.url),e=Bh(t);return e.endsWith("/build")||e.endsWith("\\build")||e.endsWith("/src")||e.endsWith("\\src")?Ae(e,".."):e}function Yj(t){if(process.platform==="win32"){let e=process.env.LOCALAPPDATA;return e?Ae(e,t,"node_modules","context-mode"):Ae(Vh(),"AppData","Local",t,"node_modules","context-mode")}return Ae(Vh(),".cache",t,"node_modules","context-mode")}function bi(){let t=an().platform;return t==="opencode"||t==="kilo"?Yj(t):Jj()}function Kk(){try{return JSON.parse(eu(Ae(bi(),"package.json"),"utf-8")).version??"unknown"}catch{return"unknown"}}async function Xj(){return new Promise(t=>{let e=Hj("https://registry.npmjs.org/context-mode/latest",{headers:{Connection:"close"}},r=>{let n="";r.on("data",o=>{n+=o}),r.on("end",()=>{try{let o=JSON.parse(n);t(o.version??"unknown")}catch{t("unknown")}})});e.on("error",()=>t("unknown")),e.setTimeout(5e3,()=>{e.destroy(),t("unknown")}),e.end()})}async function Qj(){process.stdout.isTTY&&console.clear();let t=an(),e=await us(t.platform);pu(E.default.bgMagenta(E.default.white(" context-mode doctor "))),I.info(`Platform: ${E.default.cyan(e.name)}`+E.default.dim(` (${t.confidence} confidence \u2014 ${t.reason})`));let r=0,n=fu();n.start("Running diagnostics");let o,s;try{o=Gn(),s=Ii(o)}catch{return n.stop("Diagnostics partial"),I.warn(E.default.yellow("Could not detect runtimes")+E.default.dim(" \u2014 module may be missing, restart session after upgrade")),Pi(E.default.yellow("Doctor could not fully run \u2014 try again after restarting")),1}n.stop("Diagnostics complete"),mu(Ci(o),"Runtimes"),Kn()?I.success(E.default.green("Performance: FAST")+" \u2014 Bun detected for JS/TS execution"):I.warn(E.default.yellow("Performance: NORMAL")+" \u2014 Using Node.js (install Bun for 3-5x speed boost)");let i=11,a=(s.length/i*100).toFixed(0);s.length<2?(r++,I.error(E.default.red(`Language coverage: ${s.length}/${i} (${a}%)`)+" \u2014 too few runtimes detected"+E.default.dim(` \u2014 ${s.join(", ")||"none"}`))):I.info(`Language coverage: ${s.length}/${i} (${a}%)`+E.default.dim(` \u2014 ${s.join(", ")}`)),I.step("Testing server initialization...");try{let{PolyglotExecutor:f}=await Promise.resolve().then(()=>(bh(),ck)),_=await new f({runtimes:o}).execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(_.exitCode===0&&_.stdout.trim()==="ok")I.success(E.default.green("Server test: PASS"));else{r++;let y=_.stderr?.trim()?` (${_.stderr.trim().slice(0,200)})`:"";I.error(E.default.red("Server test: FAIL")+` \u2014 exit ${_.exitCode}${y}`)}}catch(f){let g=f instanceof Error?f.message:String(f);g.includes("Cannot find module")||g.includes("MODULE_NOT_FOUND")?I.warn(E.default.yellow("Server test: SKIP")+E.default.dim(" \u2014 module not available (restart session after upgrade)")):(r++,I.error(E.default.red("Server test: FAIL")+` \u2014 ${g}`))}I.step(`Checking ${e.name} hooks configuration...`);let c=bi(),u=e.validateHooks(c);for(let f of u)f.status==="pass"?I.success(E.default.green(`${f.check}: PASS`)+` \u2014 ${f.message}`):I.error(E.default.red(`${f.check}: FAIL`)+` \u2014 ${f.message}`+(f.fix?E.default.dim(` +`)),B(),l()};return{start:Si,stop:(Se="")=>kr(Se,0),message:(Se="")=>{p=Re(Se??p)},cancel:(Se="")=>kr(Se,1),error:(Se="")=>kr(Se,2),clear:()=>kr("",0,!0),get isCancelled(){return h}}},qM={light:ce("\u2500","-"),heavy:ce("\u2501","="),block:ce("\u2588","#")};var BM=`${ke("gray",$r)} `;var E=Yo(dg(),1);Ai();Yu();import{execFileSync as Vn}from"node:child_process";import{readFileSync as eu,writeFileSync as Fj,cpSync as Vk,accessSync as Wk,existsSync as Sr,rmSync as Jo,closeSync as Zj,openSync as Uj,chmodSync as Hj,constants as Gk}from"node:fs";import{request as qj}from"node:https";import{resolve as Ae,dirname as qh,join as mt}from"node:path";import{tmpdir as Bj,devNull as Vj,homedir as Bh}from"node:os";import{fileURLToPath as Wj,pathToFileURL as Gj}from"node:url";var Kj={"claude-code":{pretooluse:"hooks/pretooluse.mjs",posttooluse:"hooks/posttooluse.mjs",precompact:"hooks/precompact.mjs",sessionstart:"hooks/sessionstart.mjs",userpromptsubmit:"hooks/userpromptsubmit.mjs"},"gemini-cli":{beforetool:"hooks/gemini-cli/beforetool.mjs",aftertool:"hooks/gemini-cli/aftertool.mjs",precompress:"hooks/gemini-cli/precompress.mjs",sessionstart:"hooks/gemini-cli/sessionstart.mjs"},"vscode-copilot":{pretooluse:"hooks/vscode-copilot/pretooluse.mjs",posttooluse:"hooks/vscode-copilot/posttooluse.mjs",precompact:"hooks/vscode-copilot/precompact.mjs",sessionstart:"hooks/vscode-copilot/sessionstart.mjs"},cursor:{pretooluse:"hooks/cursor/pretooluse.mjs",posttooluse:"hooks/cursor/posttooluse.mjs",sessionstart:"hooks/cursor/sessionstart.mjs",stop:"hooks/cursor/stop.mjs"},codex:{pretooluse:"hooks/codex/pretooluse.mjs",posttooluse:"hooks/codex/posttooluse.mjs",sessionstart:"hooks/codex/sessionstart.mjs"},kiro:{pretooluse:"hooks/kiro/pretooluse.mjs",posttooluse:"hooks/kiro/posttooluse.mjs"}};async function Jj(t,e){try{Zj(2),Uj(Vj,"w")}catch{process.stderr.write=(()=>!0)}let r=Kj[t]?.[e];r||process.exit(1);let n=bi();await import(Gj(mt(n,r)).href)}var en=process.argv.slice(2);en[0]==="doctor"?eM().then(t=>process.exit(t)):en[0]==="upgrade"?rM():en[0]==="hook"?Jj(en[1],en[2]):en[0]==="insight"?tM(en[1]?Number(en[1]):4747):Promise.resolve().then(()=>(Bk(),qk));function k9(t){return t.replace(/\\/g,"/")}function Yj(){let t=Wj(import.meta.url),e=qh(t);return e.endsWith("/build")||e.endsWith("\\build")||e.endsWith("/src")||e.endsWith("\\src")?Ae(e,".."):e}function Xj(t){if(process.platform==="win32"){let e=process.env.LOCALAPPDATA;return e?Ae(e,t,"node_modules","context-mode"):Ae(Bh(),"AppData","Local",t,"node_modules","context-mode")}return Ae(Bh(),".cache",t,"node_modules","context-mode")}function bi(){let t=an().platform;return t==="opencode"||t==="kilo"?Xj(t):Yj()}function Kk(){try{return JSON.parse(eu(Ae(bi(),"package.json"),"utf-8")).version??"unknown"}catch{return"unknown"}}async function Qj(){return new Promise(t=>{let e=qj("https://registry.npmjs.org/context-mode/latest",{headers:{Connection:"close"}},r=>{let n="";r.on("data",o=>{n+=o}),r.on("end",()=>{try{let o=JSON.parse(n);t(o.version??"unknown")}catch{t("unknown")}})});e.on("error",()=>t("unknown")),e.setTimeout(5e3,()=>{e.destroy(),t("unknown")}),e.end()})}async function eM(){process.stdout.isTTY&&console.clear();let t=an(),e=await us(t.platform);pu(E.default.bgMagenta(E.default.white(" context-mode doctor "))),I.info(`Platform: ${E.default.cyan(e.name)}`+E.default.dim(` (${t.confidence} confidence \u2014 ${t.reason})`));let r=0,n=fu();n.start("Running diagnostics");let o,s;try{o=Gn(),s=Ii(o)}catch{return n.stop("Diagnostics partial"),I.warn(E.default.yellow("Could not detect runtimes")+E.default.dim(" \u2014 module may be missing, restart session after upgrade")),Pi(E.default.yellow("Doctor could not fully run \u2014 try again after restarting")),1}n.stop("Diagnostics complete"),mu(Ci(o),"Runtimes"),Kn()?I.success(E.default.green("Performance: FAST")+" \u2014 Bun detected for JS/TS execution"):I.warn(E.default.yellow("Performance: NORMAL")+" \u2014 Using Node.js (install Bun for 3-5x speed boost)");let i=11,a=(s.length/i*100).toFixed(0);s.length<2?(r++,I.error(E.default.red(`Language coverage: ${s.length}/${i} (${a}%)`)+" \u2014 too few runtimes detected"+E.default.dim(` \u2014 ${s.join(", ")||"none"}`))):I.info(`Language coverage: ${s.length}/${i} (${a}%)`+E.default.dim(` \u2014 ${s.join(", ")}`)),I.step("Testing server initialization...");try{let{PolyglotExecutor:f}=await Promise.resolve().then(()=>(xh(),ck)),_=await new f({runtimes:o}).execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(_.exitCode===0&&_.stdout.trim()==="ok")I.success(E.default.green("Server test: PASS"));else{r++;let y=_.stderr?.trim()?` (${_.stderr.trim().slice(0,200)})`:"";I.error(E.default.red("Server test: FAIL")+` \u2014 exit ${_.exitCode}${y}`)}}catch(f){let g=f instanceof Error?f.message:String(f);g.includes("Cannot find module")||g.includes("MODULE_NOT_FOUND")?I.warn(E.default.yellow("Server test: SKIP")+E.default.dim(" \u2014 module not available (restart session after upgrade)")):(r++,I.error(E.default.red("Server test: FAIL")+` \u2014 ${g}`))}I.step(`Checking ${e.name} hooks configuration...`);let c=bi(),u=e.validateHooks(c);for(let f of u)f.status==="pass"?I.success(E.default.green(`${f.check}: PASS`)+` \u2014 ${f.message}`):I.error(E.default.red(`${f.check}: FAIL`)+` \u2014 ${f.message}`+(f.fix?E.default.dim(` Run: ${f.fix}`):""));I.step("Checking hook script...");let l=Ae(c,"hooks","pretooluse.mjs");try{Wk(l,Gk.R_OK),I.success(E.default.green("Hook script exists: PASS")+E.default.dim(` \u2014 ${l}`))}catch{I.error(E.default.red("Hook script exists: FAIL")+E.default.dim(` \u2014 not found at ${l}`))}I.step(`Checking ${e.name} plugin registration...`);let d=e.checkPluginRegistration();d.status==="pass"?I.success(E.default.green("Plugin enabled: PASS")+E.default.dim(` \u2014 ${d.message}`)):I.warn(E.default.yellow("Plugin enabled: WARN")+` \u2014 ${d.message}`),I.step("Checking FTS5 / SQLite...");try{let f=(await Promise.resolve().then(()=>(yi(),pk))).loadDatabase(),g=new f(":memory:");g.exec("CREATE VIRTUAL TABLE fts_test USING fts5(content)"),g.exec("INSERT INTO fts_test(content) VALUES ('hello world')");let _=g.prepare("SELECT * FROM fts_test WHERE fts_test MATCH 'hello'").get();g.close(),_&&_.content==="hello world"?I.success(E.default.green("FTS5 / SQLite: PASS")+" \u2014 native module works"):(r++,I.error(E.default.red("FTS5 / SQLite: FAIL")+" \u2014 query returned unexpected result"))}catch(f){let g=f instanceof Error?f.message:String(f);g.includes("Cannot find module")||g.includes("MODULE_NOT_FOUND")?I.warn(E.default.yellow("FTS5 / better-sqlite3: SKIP")+E.default.dim(" \u2014 module not available (restart session after upgrade)")):(r++,I.error(E.default.red("FTS5 / better-sqlite3: FAIL")+` \u2014 ${g}`+E.default.dim(` - Try: npm rebuild better-sqlite3`)))}I.step("Checking versions...");let m=Kk(),h=await Xj(),p=e.getInstalledVersion();return h==="unknown"?I.warn(E.default.yellow("npm (MCP): WARN")+` \u2014 local v${m}, could not reach npm registry`):m===h?I.success(E.default.green("npm (MCP): PASS")+` \u2014 v${m}`):I.warn(E.default.yellow("npm (MCP): WARN")+` \u2014 local v${m}, latest v${h}`+E.default.dim(` + Try: npm rebuild better-sqlite3`)))}I.step("Checking versions...");let m=Kk(),h=await Qj(),p=e.getInstalledVersion();return h==="unknown"?I.warn(E.default.yellow("npm (MCP): WARN")+` \u2014 local v${m}, could not reach npm registry`):m===h?I.success(E.default.green("npm (MCP): PASS")+` \u2014 v${m}`):I.warn(E.default.yellow("npm (MCP): WARN")+` \u2014 local v${m}, latest v${h}`+E.default.dim(` Run: /context-mode:ctx-upgrade`)),p==="not installed"?I.info(E.default.dim(`${e.name}: not installed`)+" \u2014 using standalone MCP mode"):h!=="unknown"&&p===h?I.success(E.default.green(`${e.name}: PASS`)+` \u2014 v${p}`):h!=="unknown"?I.warn(E.default.yellow(`${e.name}: WARN`)+` \u2014 v${p}, latest v${h}`+E.default.dim(` - Run: /context-mode:ctx-upgrade`)):I.info(`${e.name}: v${p}`+E.default.dim(" \u2014 could not verify against npm registry")),r>0?(Pi(E.default.red(`Diagnostics failed \u2014 ${r} critical issue(s) found`)),1):(Pi(s.length>=4?E.default.green("Diagnostics complete!"):E.default.yellow("Some checks need attention \u2014 see above for details")),0)}async function eM(t){try{let{execSync:e,spawn:r}=await import("node:child_process"),{statSync:n,mkdirSync:o,cpSync:s}=await import("node:fs"),i=Ae(bi(),"insight"),a=an(),u=(await us(a.platform)).getSessionDir(),l=mt(Bh(u),"content"),d=mt(Bh(u),"insight-cache");Sr(mt(i,"server.mjs"))||(console.error("Error: Insight source not found. Try upgrading context-mode."),process.exit(1)),o(d,{recursive:!0});let m=n(mt(i,"server.mjs")).mtimeMs,h=Sr(mt(d,"server.mjs"))?n(mt(d,"server.mjs")).mtimeMs:0;if(m>h&&(console.log("Copying Insight source..."),s(i,d,{recursive:!0,force:!0})),!Sr(mt(d,"node_modules"))){console.log("Installing dependencies (first run)...");try{e("npm install --production=false",{cwd:d,stdio:"inherit",timeout:3e5})}catch{try{Jo(mt(d,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Sr(mt(d,"node_modules","vite"))||!Sr(mt(d,"node_modules","better-sqlite3")))throw Jo(mt(d,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry")}console.log("Building dashboard..."),e("npx vite build",{cwd:d,stdio:"pipe",timeout:6e4});let p=`http://localhost:${t}`;console.log(` + Run: /context-mode:ctx-upgrade`)):I.info(`${e.name}: v${p}`+E.default.dim(" \u2014 could not verify against npm registry")),r>0?(Pi(E.default.red(`Diagnostics failed \u2014 ${r} critical issue(s) found`)),1):(Pi(s.length>=4?E.default.green("Diagnostics complete!"):E.default.yellow("Some checks need attention \u2014 see above for details")),0)}async function tM(t){try{let{execSync:e,spawn:r}=await import("node:child_process"),{statSync:n,mkdirSync:o,cpSync:s}=await import("node:fs"),i=Ae(bi(),"insight"),a=an(),u=(await us(a.platform)).getSessionDir(),l=mt(qh(u),"content"),d=mt(qh(u),"insight-cache");Sr(mt(i,"server.mjs"))||(console.error("Error: Insight source not found. Try upgrading context-mode."),process.exit(1)),o(d,{recursive:!0});let m=n(mt(i,"server.mjs")).mtimeMs,h=Sr(mt(d,"server.mjs"))?n(mt(d,"server.mjs")).mtimeMs:0;if(m>h&&(console.log("Copying Insight source..."),s(i,d,{recursive:!0,force:!0})),!Sr(mt(d,"node_modules"))){console.log("Installing dependencies (first run)...");try{e("npm install --production=false",{cwd:d,stdio:"inherit",timeout:3e5})}catch{try{Jo(mt(d,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Sr(mt(d,"node_modules","vite"))||!Sr(mt(d,"node_modules","better-sqlite3")))throw Jo(mt(d,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry")}console.log("Building dashboard..."),e("npx vite build",{cwd:d,stdio:"pipe",timeout:6e4});let p=`http://localhost:${t}`;console.log(` context-mode Insight ${p} `);let f=r("node",[mt(d,"server.mjs")],{cwd:d,env:{...process.env,PORT:String(t),INSIGHT_SESSION_DIR:u,INSIGHT_CONTENT_DIR:l},stdio:"inherit"});f.on("error",()=>{}),await new Promise(_=>setTimeout(_,1500));try{let{request:_}=await import("node:http");await new Promise((y,v)=>{let k=_(`http://127.0.0.1:${t}/api/overview`,{timeout:3e3},T=>{y(),T.resume()});k.on("error",v),k.on("timeout",()=>{k.destroy(),v(new Error("timeout"))}),k.end()})}catch{console.error(` Error: Port ${t} appears to be in use. Either a previous dashboard is still running, or another service is using this port.`),console.error(` To fix:`),console.error(` Kill the existing process: ${process.platform==="win32"?`netstat -ano | findstr :${t}`:`lsof -ti:${t} | xargs kill`}`),console.error(` Or use a different port: context-mode insight ${t+1}`),f.kill(),process.exit(1)}let g=process.platform;try{g==="darwin"?e(`open "${p}"`,{stdio:"pipe"}):g==="win32"?e(`start "" "${p}"`,{stdio:"pipe"}):e(`xdg-open "${p}" 2>/dev/null || sensible-browser "${p}" 2>/dev/null`,{stdio:"pipe"})}catch{}process.on("SIGINT",()=>{f.kill(),process.exit(0)}),process.on("SIGTERM",()=>{f.kill(),process.exit(0)})}catch(e){let r=e instanceof Error?e.message:String(e);console.error(` -Insight error: ${r}`),process.exit(1)}}async function tM(){process.stdout.isTTY&&console.clear();let t=an(),e=await us(t.platform);pu(E.default.bgCyan(E.default.black(" context-mode upgrade "))),I.info(`Platform: ${E.default.cyan(e.name)}`+E.default.dim(` (${t.confidence} confidence)`));let r=bi(),n=[],o=fu();I.step("Pulling latest from GitHub...");let s=Kk(),i=mt(qj(),`context-mode-upgrade-${Date.now()}`);o.start("Cloning mksglu/context-mode");try{Vn("git",["clone","--depth","1","https://github.com/mksglu/context-mode.git",i],{stdio:"pipe",timeout:3e4}),o.stop("Downloaded");let d=i,h=JSON.parse(eu(Ae(d,"package.json"),"utf-8")).version??"unknown";if(h===s){I.success(E.default.green("Already on latest")+` \u2014 v${s}`),Jo(i,{recursive:!0,force:!0});return}else I.info(`Update available: ${E.default.yellow("v"+s)} \u2192 ${E.default.green("v"+h)}`);o.start("Installing dependencies & building"),Vn("npm",["install","--no-audit","--no-fund"],{cwd:d,stdio:"pipe",timeout:12e4}),Vn("npm",["run","build"],{cwd:d,stdio:"pipe",timeout:6e4}),o.stop("Built successfully"),o.start("Updating files in-place");let f=[...JSON.parse(eu(Ae(d,"package.json"),"utf-8")).files||[],"src","package.json"];for(let _ of f)try{Jo(Ae(r,_),{recursive:!0,force:!0}),Vk(Ae(d,_),Ae(r,_),{recursive:!0})}catch{}let g={mcpServers:{"context-mode":{command:"node",args:[Ae(r,"start.mjs")]}}};if(Lj(Ae(r,".mcp.json"),JSON.stringify(g,null,2)+` +Insight error: ${r}`),process.exit(1)}}async function rM(){process.stdout.isTTY&&console.clear();let t=an(),e=await us(t.platform);pu(E.default.bgCyan(E.default.black(" context-mode upgrade "))),I.info(`Platform: ${E.default.cyan(e.name)}`+E.default.dim(` (${t.confidence} confidence)`));let r=bi(),n=[],o=fu();I.step("Pulling latest from GitHub...");let s=Kk(),i=mt(Bj(),`context-mode-upgrade-${Date.now()}`);o.start("Cloning mksglu/context-mode");try{Vn("git",["clone","--depth","1","https://github.com/mksglu/context-mode.git",i],{stdio:"pipe",timeout:3e4}),o.stop("Downloaded");let d=i,h=JSON.parse(eu(Ae(d,"package.json"),"utf-8")).version??"unknown";if(h===s){I.success(E.default.green("Already on latest")+` \u2014 v${s}`),Jo(i,{recursive:!0,force:!0});return}else I.info(`Update available: ${E.default.yellow("v"+s)} \u2192 ${E.default.green("v"+h)}`);o.start("Installing dependencies & building"),Vn("npm",["install","--no-audit","--no-fund"],{cwd:d,stdio:"pipe",timeout:12e4}),Vn("npm",["run","build"],{cwd:d,stdio:"pipe",timeout:6e4}),o.stop("Built successfully"),o.start("Updating files in-place");let f=[...JSON.parse(eu(Ae(d,"package.json"),"utf-8")).files||[],"src","package.json"];for(let _ of f)try{Jo(Ae(r,_),{recursive:!0,force:!0}),Vk(Ae(d,_),Ae(r,_),{recursive:!0})}catch{}let g={mcpServers:{"context-mode":{command:"node",args:[Ae(r,"start.mjs")]}}};if(Fj(Ae(r,".mcp.json"),JSON.stringify(g,null,2)+` `),o.stop(E.default.green(`Updated in-place to v${h}`)),e.updatePluginRegistry(r,h),I.info(E.default.dim(" Registry synced to "+r)),o.start("Installing production dependencies"),Vn("npm",["install","--production","--no-audit","--no-fund"],{cwd:r,stdio:"pipe",timeout:6e4}),o.stop("Dependencies ready"),t.platform!=="opencode"&&t.platform!=="kilo"){o.start("Rebuilding native addons");try{Vn("npm",["rebuild","better-sqlite3"],{cwd:r,stdio:"pipe",timeout:6e4}),o.stop(E.default.green("Native addons rebuilt")),n.push("Rebuilt better-sqlite3 for current Node.js")}catch(_){let y=_ instanceof Error?_.message:String(_);o.stop(E.default.yellow("Native addon rebuild warning")),I.warn(E.default.yellow("better-sqlite3 rebuild issue")+` \u2014 ${y}`+E.default.dim(` - Try manually: cd "${r}" && npm rebuild better-sqlite3`))}}o.start("Updating npm global package");try{Vn("npm",["install","-g",r,"--no-audit","--no-fund"],{stdio:"pipe",timeout:3e4}),o.stop(E.default.green("npm global updated")),n.push("Updated npm global package")}catch{o.stop(E.default.yellow("npm global update skipped")),I.info(E.default.dim(" Could not update global npm \u2014 may need sudo or standalone install"))}Jo(i,{recursive:!0,force:!0});try{let _=Ae(Vh(),".claude","plugins","installed_plugins.json");if(Sr(_)){let v=JSON.parse(eu(_,"utf-8"))?.plugins?.["context-mode@context-mode"];if(Array.isArray(v))for(let k of v){let T=k.installPath;if(T&&T!==r&&Sr(T)){let J=Ae(d,"skills");Sr(J)&&(Vk(J,Ae(T,"skills"),{recursive:!0}),n.push("Synced skills to active install path"))}}}}catch{}n.push(h!==s?`Updated v${s} \u2192 v${h}`:`Reinstalled v${s} from GitHub`),I.success(E.default.green("Plugin reinstalled from GitHub!")+E.default.dim(` \u2014 v${h}`))}catch(d){let m=d instanceof Error?d.message:String(d);o.stop(E.default.red("Update failed")),I.error(E.default.red("GitHub pull failed")+` \u2014 ${m}`),I.info(E.default.dim("Continuing with hooks/settings fix..."));try{Jo(i,{recursive:!0,force:!0})}catch{}}I.step(`Backing up ${e.name} settings...`);let a=e.backupSettings();a?.endsWith(".bak")?(I.success(E.default.green("Backup created")+E.default.dim(" -> "+a)),n.push("Backed up settings")):a?I.success(E.default.green("Backup skipped")+E.default.dim(" \u2014 no changes needed")):I.warn(E.default.yellow("No existing settings to backup")+" \u2014 a new one will be created"),I.step(`Configuring ${e.name} hooks...`);let c=e.configureAllHooks(r);for(let d of c)I.info(E.default.dim(` ${d}`)),n.push(d);I.success(E.default.green("Hooks configured")+E.default.dim(` \u2014 ${e.name}`)),I.step("Setting hook script permissions...");let u=e.setHookPermissions(r);if(process.platform!=="win32")for(let d of["build/cli.js","cli.bundle.mjs"]){let m=Ae(r,d);try{Wk(m,Gk.F_OK),Uj(m,493),u.push(m)}catch{}}u.length>0?(I.success(E.default.green("Permissions set")+E.default.dim(` \u2014 ${u.length} hook script(s)`)),n.push(`Set ${u.length} hook scripts as executable`)):I.error(E.default.red("No hook scripts found")+E.default.dim(" \u2014 expected in "+Ae(r,"hooks"))),n.length>0?mu(n.map(d=>E.default.green(" + ")+d).join(` -`),"Changes Applied"):I.info(E.default.dim("No changes were needed."));let l=e.name==="Claude Code"?"/reload-plugins, new terminal, or restart session":"new terminal or restart session";I.warn(E.default.yellow("Restart for new MCP tools to take effect.")+E.default.dim(` (${l})`)),I.step("Running doctor to verify..."),console.log();try{let d=Ae(r,"cli.bundle.mjs"),m=Ae(r,"build","cli.js"),h=Sr(d)?d:m;Vn("node",[h,"doctor"],{stdio:"inherit",timeout:3e4,cwd:r})}catch{I.warn(E.default.yellow("Doctor had warnings")+E.default.dim(` \u2014 restart your ${e.name} session to pick up the new version`))}}export{S9 as toUnixPath}; + Try manually: cd "${r}" && npm rebuild better-sqlite3`))}}o.start("Updating npm global package");try{Vn("npm",["install","-g",r,"--no-audit","--no-fund"],{stdio:"pipe",timeout:3e4}),o.stop(E.default.green("npm global updated")),n.push("Updated npm global package")}catch{o.stop(E.default.yellow("npm global update skipped")),I.info(E.default.dim(" Could not update global npm \u2014 may need sudo or standalone install"))}Jo(i,{recursive:!0,force:!0});try{let _=Ae(Bh(),".claude","plugins","installed_plugins.json");if(Sr(_)){let v=JSON.parse(eu(_,"utf-8"))?.plugins?.["context-mode@context-mode"];if(Array.isArray(v))for(let k of v){let T=k.installPath;if(T&&T!==r&&Sr(T)){let J=Ae(d,"skills");Sr(J)&&(Vk(J,Ae(T,"skills"),{recursive:!0}),n.push("Synced skills to active install path"))}}}}catch{}n.push(h!==s?`Updated v${s} \u2192 v${h}`:`Reinstalled v${s} from GitHub`),I.success(E.default.green("Plugin reinstalled from GitHub!")+E.default.dim(` \u2014 v${h}`))}catch(d){let m=d instanceof Error?d.message:String(d);o.stop(E.default.red("Update failed")),I.error(E.default.red("GitHub pull failed")+` \u2014 ${m}`),I.info(E.default.dim("Continuing with hooks/settings fix..."));try{Jo(i,{recursive:!0,force:!0})}catch{}}I.step(`Backing up ${e.name} settings...`);let a=e.backupSettings();a?.endsWith(".bak")?(I.success(E.default.green("Backup created")+E.default.dim(" -> "+a)),n.push("Backed up settings")):a?I.success(E.default.green("Backup skipped")+E.default.dim(" \u2014 no changes needed")):I.warn(E.default.yellow("No existing settings to backup")+" \u2014 a new one will be created"),I.step(`Configuring ${e.name} hooks...`);let c=e.configureAllHooks(r);for(let d of c)I.info(E.default.dim(` ${d}`)),n.push(d);I.success(E.default.green("Hooks configured")+E.default.dim(` \u2014 ${e.name}`)),I.step("Setting hook script permissions...");let u=e.setHookPermissions(r);if(process.platform!=="win32")for(let d of["build/cli.js","cli.bundle.mjs"]){let m=Ae(r,d);try{Wk(m,Gk.F_OK),Hj(m,493),u.push(m)}catch{}}u.length>0?(I.success(E.default.green("Permissions set")+E.default.dim(` \u2014 ${u.length} hook script(s)`)),n.push(`Set ${u.length} hook scripts as executable`)):I.error(E.default.red("No hook scripts found")+E.default.dim(" \u2014 expected in "+Ae(r,"hooks"))),n.length>0?mu(n.map(d=>E.default.green(" + ")+d).join(` +`),"Changes Applied"):I.info(E.default.dim("No changes were needed."));let l=e.name==="Claude Code"?"/reload-plugins, new terminal, or restart session":"new terminal or restart session";I.warn(E.default.yellow("Restart for new MCP tools to take effect.")+E.default.dim(` (${l})`)),I.step("Running doctor to verify..."),console.log();try{let d=Ae(r,"cli.bundle.mjs"),m=Ae(r,"build","cli.js"),h=Sr(d)?d:m;Vn("node",[h,"doctor"],{stdio:"inherit",timeout:3e4,cwd:r})}catch{I.warn(E.default.yellow("Doctor had warnings")+E.default.dim(` \u2014 restart your ${e.name} session to pick up the new version`))}}export{k9 as toUnixPath}; diff --git a/server.bundle.mjs b/server.bundle.mjs index 5496f32a..6fc75710 100755 --- a/server.bundle.mjs +++ b/server.bundle.mjs @@ -1,31 +1,31 @@ #!/usr/bin/env node -var xS=Object.create;var Da=Object.defineProperty;var vS=Object.getOwnPropertyDescriptor;var SS=Object.getOwnPropertyNames;var kS=Object.getPrototypeOf,bS=Object.prototype.hasOwnProperty;var $e=(t,e)=>()=>(t&&(e=t(t=0)),e);var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),We=(t,e)=>{for(var r in e)Da(t,r,{get:e[r],enumerable:!0})},wS=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of SS(e))!bS.call(t,o)&&o!==r&&Da(t,o,{get:()=>e[o],enumerable:!(n=vS(e,o))||n.enumerable});return t};var Tf=(t,e,r)=>(r=t!=null?xS(kS(t)):{},wS(e||!t||!t.__esModule?Da(r,"default",{value:t,enumerable:!0}):r,t));var Bo=T(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.regexpCode=te.getEsmExportName=te.getProperty=te.safeStringify=te.stringify=te.strConcat=te.addCodeArg=te.str=te._=te.nil=te._Code=te.Name=te.IDENTIFIER=te._CodeOrName=void 0;var qo=class{};te._CodeOrName=qo;te.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var en=class extends qo{constructor(e){if(super(),!te.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};te.Name=en;var pt=class extends qo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof en&&(r[n.str]=(r[n.str]||0)+1),r),{})}};te._Code=pt;te.nil=new pt("");function kg(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.ValueScope=tt.ValueScopeName=tt.Scope=tt.varKinds=tt.UsedValueState=void 0;var et=Bo(),Sl=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Oi;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Oi||(tt.UsedValueState=Oi={}));tt.varKinds={const:new et.Name("const"),let:new et.Name("let"),var:new et.Name("var")};var Ci=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof et.Name?e:this.name(e)}name(e){return new et.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};tt.Scope=Ci;var Ii=class extends et.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,et._)`.${new et.Name(r)}[${n}]`}};tt.ValueScopeName=Ii;var RT=(0,et._)`\n`,kl=class extends Ci{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?RT:et.nil}}get(){return this._scope}name(e){return new Ii(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,et._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=et.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Oi.Started);let l=r(u);if(l){let d=this.opts.es5?tt.varKinds.var:tt.varKinds.const;s=(0,et._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,et._)`${s}${l}${this.opts._n}`;else throw new Sl(u);c.set(u,Oi.Completed)})}return s}};tt.ValueScope=kl});var F=T(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.or=B.and=B.not=B.CodeGen=B.operators=B.varKinds=B.ValueScopeName=B.ValueScope=B.Scope=B.Name=B.regexpCode=B.stringify=B.getProperty=B.nil=B.strConcat=B.str=B._=void 0;var X=Bo(),kt=bl(),mr=Bo();Object.defineProperty(B,"_",{enumerable:!0,get:function(){return mr._}});Object.defineProperty(B,"str",{enumerable:!0,get:function(){return mr.str}});Object.defineProperty(B,"strConcat",{enumerable:!0,get:function(){return mr.strConcat}});Object.defineProperty(B,"nil",{enumerable:!0,get:function(){return mr.nil}});Object.defineProperty(B,"getProperty",{enumerable:!0,get:function(){return mr.getProperty}});Object.defineProperty(B,"stringify",{enumerable:!0,get:function(){return mr.stringify}});Object.defineProperty(B,"regexpCode",{enumerable:!0,get:function(){return mr.regexpCode}});Object.defineProperty(B,"Name",{enumerable:!0,get:function(){return mr.Name}});var ji=bl();Object.defineProperty(B,"Scope",{enumerable:!0,get:function(){return ji.Scope}});Object.defineProperty(B,"ValueScope",{enumerable:!0,get:function(){return ji.ValueScope}});Object.defineProperty(B,"ValueScopeName",{enumerable:!0,get:function(){return ji.ValueScopeName}});Object.defineProperty(B,"varKinds",{enumerable:!0,get:function(){return ji.varKinds}});B.operators={GT:new X._Code(">"),GTE:new X._Code(">="),LT:new X._Code("<"),LTE:new X._Code("<="),EQ:new X._Code("==="),NEQ:new X._Code("!=="),NOT:new X._Code("!"),OR:new X._Code("||"),AND:new X._Code("&&"),ADD:new X._Code("+")};var Yt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},wl=class extends Yt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?kt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Zn(this.rhs,e,r)),this}get names(){return this.rhs instanceof X._CodeOrName?this.rhs.names:{}}},zi=class extends Yt{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof X.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Zn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof X.Name?{}:{...this.lhs.names};return Ai(e,this.rhs)}},El=class extends zi{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Tl=class extends Yt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},$l=class extends Yt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Pl=class extends Yt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Rl=class extends Yt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Zn(this.code,e,r),this}get names(){return this.code instanceof X._CodeOrName?this.code.names:{}}},Vo=class extends Yt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(OT(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>nn(e,r.names),{})}},Xt=class extends Vo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Ol=class extends Vo{},Ln=class extends Xt{};Ln.kind="else";var tn=class t extends Xt{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Ln(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(wg(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Zn(this.condition,e,r),this}get names(){let e=super.names;return Ai(e,this.condition),this.else&&nn(e,this.else.names),e}};tn.kind="if";var rn=class extends Xt{};rn.kind="for";var Cl=class extends rn{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Zn(this.iteration,e,r),this}get names(){return nn(super.names,this.iteration.names)}},Il=class extends rn{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?kt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=Ai(super.names,this.from);return Ai(e,this.to)}},Ni=class extends rn{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Zn(this.iterable,e,r),this}get names(){return nn(super.names,this.iterable.names)}},Ko=class extends Xt{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Ko.kind="func";var Jo=class extends Vo{render(e){return"return "+super.render(e)}};Jo.kind="return";var zl=class extends Xt{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&nn(e,this.catch.names),this.finally&&nn(e,this.finally.names),e}},Wo=class extends Xt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Wo.kind="catch";var Go=class extends Xt{render(e){return"finally"+super.render(e)}};Go.kind="finally";var Nl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` -`:""},this._extScope=e,this._scope=new kt.Scope({parent:e}),this._nodes=[new Ol]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new wl(e,s,n)),s}const(e,r,n){return this._def(kt.varKinds.const,e,r,n)}let(e,r,n){return this._def(kt.varKinds.let,e,r,n)}var(e,r,n){return this._def(kt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new zi(e,r,n))}add(e,r){return this._leafNode(new El(e,B.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==X.nil&&this._leafNode(new Rl(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,X.addCodeArg)(r,o));return r.push("}"),new X._Code(r)}if(e,r,n){if(this._blockNode(new tn(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new tn(e))}else(){return this._elseNode(new Ln)}endIf(){return this._endBlockNode(tn,Ln)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Cl(e),r)}forRange(e,r,n,o,s=this.opts.es5?kt.varKinds.var:kt.varKinds.let){let i=this._scope.toName(e);return this._for(new Il(s,i,r,n),()=>o(i))}forOf(e,r,n,o=kt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof X.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,X._)`${i}.length`,a=>{this.var(s,(0,X._)`${i}[${a}]`),n(s)})}return this._for(new Ni("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?kt.varKinds.var:kt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,X._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new Ni("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(rn)}label(e){return this._leafNode(new Tl(e))}break(e){return this._leafNode(new $l(e))}return(e){let r=new Jo;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Jo)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new zl;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Wo(s),r(s)}return n&&(this._currNode=o.finally=new Go,this.code(n)),this._endBlockNode(Wo,Go)}throw(e){return this._leafNode(new Pl(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=X.nil,n,o){return this._blockNode(new Ko(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Ko)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof tn))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};B.CodeGen=Nl;function nn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ai(t,e){return e instanceof X._CodeOrName?nn(t,e.names):t}function Zn(t,e,r){if(t instanceof X.Name)return n(t);if(!o(t))return t;return new X._Code(t._items.reduce((s,i)=>(i instanceof X.Name&&(i=n(i)),i instanceof X._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof X._Code&&s._items.some(i=>i instanceof X.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function OT(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function wg(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,X._)`!${Al(t)}`}B.not=wg;var CT=Eg(B.operators.AND);function IT(...t){return t.reduce(CT)}B.and=IT;var zT=Eg(B.operators.OR);function NT(...t){return t.reduce(zT)}B.or=NT;function Eg(t){return(e,r)=>e===X.nil?r:r===X.nil?e:(0,X._)`${Al(e)} ${t} ${Al(r)}`}function Al(t){return t instanceof X.Name?t:(0,X._)`(${t})`}});var Q=T(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var se=F(),AT=Bo();function jT(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=jT;function MT(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Pg(t,e),!Rg(e,t.self.RULES.all))}V.alwaysValidSchema=MT;function Pg(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Ig(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=Pg;function Rg(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=Rg;function DT(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}V.schemaHasRulesButRef=DT;function LT({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,se._)`${r}`}return(0,se._)`${t}${e}${(0,se.getProperty)(n)}`}V.schemaRefOrVal=LT;function ZT(t){return Og(decodeURIComponent(t))}V.unescapeFragment=ZT;function UT(t){return encodeURIComponent(Ml(t))}V.escapeFragment=UT;function Ml(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Ml;function Og(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Og;function HT(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=HT;function Tg({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?t(o,s,i):e(o,s,i),i):s instanceof se.Name?(e(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}V.mergeEvaluated={props:Tg({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,se._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,se._)`${r} || {}`),Dl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Cg}),items:Tg({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,se._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,se._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Cg(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,se._)`{}`);return e!==void 0&&Dl(t,r,e),r}V.evaluatedPropsToName=Cg;function Dl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,se._)`${e}${(0,se.getProperty)(n)}`,!0))}V.setEvaluated=Dl;var $g={};function qT(t,e){return t.scopeValue("func",{ref:e,code:$g[e.code]||($g[e.code]=new AT._Code(e.code))})}V.useFunc=qT;var jl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(jl||(V.Type=jl={}));function FT(t,e,r){if(t instanceof se.Name){let n=e===jl.Num;return r?n?(0,se._)`"[" + ${t} + "]"`:(0,se._)`"['" + ${t} + "']"`:n?(0,se._)`"/" + ${t}`:(0,se._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(t).toString():"/"+Ml(t)}V.getErrorPath=FT;function Ig(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}V.checkStrictMode=Ig});var Qt=T(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Ue=F(),BT={data:new Ue.Name("data"),valCxt:new Ue.Name("valCxt"),instancePath:new Ue.Name("instancePath"),parentData:new Ue.Name("parentData"),parentDataProperty:new Ue.Name("parentDataProperty"),rootData:new Ue.Name("rootData"),dynamicAnchors:new Ue.Name("dynamicAnchors"),vErrors:new Ue.Name("vErrors"),errors:new Ue.Name("errors"),this:new Ue.Name("this"),self:new Ue.Name("self"),scope:new Ue.Name("scope"),json:new Ue.Name("json"),jsonPos:new Ue.Name("jsonPos"),jsonLen:new Ue.Name("jsonLen"),jsonPart:new Ue.Name("jsonPart")};Ll.default=BT});var Yo=T(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.extendErrors=He.resetErrorsCount=He.reportExtraError=He.reportError=He.keyword$DataError=He.keywordError=void 0;var ee=F(),Mi=Q(),Ve=Qt();He.keywordError={message:({keyword:t})=>(0,ee.str)`must pass "${t}" keyword validation`};He.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,ee.str)`"${t}" keyword must be ${e} ($data)`:(0,ee.str)`"${t}" keyword is invalid ($data)`};function VT(t,e=He.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Ag(t,e,r);n??(i||a)?zg(s,c):Ng(o,(0,ee._)`[${c}]`)}He.reportError=VT;function KT(t,e=He.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Ag(t,e,r);zg(o,a),s||i||Ng(n,Ve.default.vErrors)}He.reportExtraError=KT;function JT(t,e){t.assign(Ve.default.errors,e),t.if((0,ee._)`${Ve.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,ee._)`${Ve.default.vErrors}.length`,e),()=>t.assign(Ve.default.vErrors,null)))}He.resetErrorsCount=JT;function WT({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,Ve.default.errors,a=>{t.const(i,(0,ee._)`${Ve.default.vErrors}[${a}]`),t.if((0,ee._)`${i}.instancePath === undefined`,()=>t.assign((0,ee._)`${i}.instancePath`,(0,ee.strConcat)(Ve.default.instancePath,s.errorPath))),t.assign((0,ee._)`${i}.schemaPath`,(0,ee.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,ee._)`${i}.schema`,r),t.assign((0,ee._)`${i}.data`,n))})}He.extendErrors=WT;function zg(t,e){let r=t.const("err",e);t.if((0,ee._)`${Ve.default.vErrors} === null`,()=>t.assign(Ve.default.vErrors,(0,ee._)`[${r}]`),(0,ee._)`${Ve.default.vErrors}.push(${r})`),t.code((0,ee._)`${Ve.default.errors}++`)}function Ng(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,ee._)`new ${t.ValidationError}(${e})`):(r.assign((0,ee._)`${n}.errors`,e),r.return(!1))}var on={keyword:new ee.Name("keyword"),schemaPath:new ee.Name("schemaPath"),params:new ee.Name("params"),propertyName:new ee.Name("propertyName"),message:new ee.Name("message"),schema:new ee.Name("schema"),parentSchema:new ee.Name("parentSchema")};function Ag(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ee._)`{}`:GT(t,e,r)}function GT(t,e,r={}){let{gen:n,it:o}=t,s=[YT(o,r),XT(t,r)];return QT(t,e,s),n.object(...s)}function YT({errorPath:t},{instancePath:e}){let r=e?(0,ee.str)`${t}${(0,Mi.getErrorPath)(e,Mi.Type.Str)}`:t;return[Ve.default.instancePath,(0,ee.strConcat)(Ve.default.instancePath,r)]}function XT({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,ee.str)`${e}/${t}`;return r&&(o=(0,ee.str)`${o}${(0,Mi.getErrorPath)(r,Mi.Type.Str)}`),[on.schemaPath,o]}function QT(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([on.keyword,o],[on.params,typeof e=="function"?e(t):e||(0,ee._)`{}`]),c.messages&&n.push([on.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([on.schema,i],[on.parentSchema,(0,ee._)`${l}${d}`],[Ve.default.data,s]),u&&n.push([on.propertyName,u])}});var Mg=T(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.boolOrEmptySchema=Un.topBoolOrEmptySchema=void 0;var e$=Yo(),t$=F(),r$=Qt(),n$={message:"boolean schema is false"};function o$(t){let{gen:e,schema:r,validateName:n}=t;r===!1?jg(t,!1):typeof r=="object"&&r.$async===!0?e.return(r$.default.data):(e.assign((0,t$._)`${n}.errors`,null),e.return(!0))}Un.topBoolOrEmptySchema=o$;function s$(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),jg(t)):r.var(e,!0)}Un.boolOrEmptySchema=s$;function jg(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,e$.reportError)(o,n$,void 0,e)}});var Zl=T(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.getRules=Hn.isJSONType=void 0;var i$=["string","number","integer","boolean","null","object","array"],a$=new Set(i$);function c$(t){return typeof t=="string"&&a$.has(t)}Hn.isJSONType=c$;function u$(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Hn.getRules=u$});var Ul=T(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.shouldUseRule=hr.shouldUseGroup=hr.schemaHasRulesForType=void 0;function l$({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Dg(t,n)}hr.schemaHasRulesForType=l$;function Dg(t,e){return e.rules.some(r=>Lg(t,r))}hr.shouldUseGroup=Dg;function Lg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hr.shouldUseRule=Lg});var Xo=T(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.reportTypeError=qe.checkDataTypes=qe.checkDataType=qe.coerceAndCheckDataType=qe.getJSONTypes=qe.getSchemaTypes=qe.DataType=void 0;var d$=Zl(),p$=Ul(),f$=Yo(),H=F(),Zg=Q(),qn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(qn||(qe.DataType=qn={}));function m$(t){let e=Ug(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}qe.getSchemaTypes=m$;function Ug(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(d$.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}qe.getJSONTypes=Ug;function h$(t,e){let{gen:r,data:n,opts:o}=t,s=g$(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,p$.schemaHasRulesForType)(t,e[0]));if(i){let a=ql(e,n,o.strictNumbers,qn.Wrong);r.if(a,()=>{s.length?_$(t,e,s):Fl(t)})}return i}qe.coerceAndCheckDataType=h$;var Hg=new Set(["string","number","integer","boolean","null"]);function g$(t,e){return e?t.filter(r=>Hg.has(r)||e==="array"&&r==="array"):[]}function _$(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,H._)`typeof ${o}`),a=n.let("coerced",(0,H._)`undefined`);s.coerceTypes==="array"&&n.if((0,H._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,H._)`${o}[0]`).assign(i,(0,H._)`typeof ${o}`).if(ql(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,H._)`${a} !== undefined`);for(let u of r)(Hg.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Fl(t),n.endIf(),n.if((0,H._)`${a} !== undefined`,()=>{n.assign(o,a),y$(t,a)});function c(u){switch(u){case"string":n.elseIf((0,H._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,H._)`"" + ${o}`).elseIf((0,H._)`${o} === null`).assign(a,(0,H._)`""`);return;case"number":n.elseIf((0,H._)`${i} == "boolean" || ${o} === null +var xS=Object.create;var Da=Object.defineProperty;var vS=Object.getOwnPropertyDescriptor;var SS=Object.getOwnPropertyNames;var kS=Object.getPrototypeOf,bS=Object.prototype.hasOwnProperty;var $e=(t,e)=>()=>(t&&(e=t(t=0)),e);var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),We=(t,e)=>{for(var r in e)Da(t,r,{get:e[r],enumerable:!0})},wS=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of SS(e))!bS.call(t,o)&&o!==r&&Da(t,o,{get:()=>e[o],enumerable:!(n=vS(e,o))||n.enumerable});return t};var Ef=(t,e,r)=>(r=t!=null?xS(kS(t)):{},wS(e||!t||!t.__esModule?Da(r,"default",{value:t,enumerable:!0}):r,t));var Bo=T(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.regexpCode=te.getEsmExportName=te.getProperty=te.safeStringify=te.stringify=te.strConcat=te.addCodeArg=te.str=te._=te.nil=te._Code=te.Name=te.IDENTIFIER=te._CodeOrName=void 0;var Fo=class{};te._CodeOrName=Fo;te.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var en=class extends Fo{constructor(e){if(super(),!te.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};te.Name=en;var pt=class extends Fo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof en&&(r[n.str]=(r[n.str]||0)+1),r),{})}};te._Code=pt;te.nil=new pt("");function Sg(t,...e){let r=[t[0]],n=0;for(;n{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.ValueScope=tt.ValueScopeName=tt.Scope=tt.varKinds=tt.UsedValueState=void 0;var et=Bo(),Sl=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Oi;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Oi||(tt.UsedValueState=Oi={}));tt.varKinds={const:new et.Name("const"),let:new et.Name("let"),var:new et.Name("var")};var Ci=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof et.Name?e:this.name(e)}name(e){return new et.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};tt.Scope=Ci;var Ii=class extends et.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,et._)`.${new et.Name(r)}[${n}]`}};tt.ValueScopeName=Ii;var RT=(0,et._)`\n`,kl=class extends Ci{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?RT:et.nil}}get(){return this._scope}name(e){return new Ii(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,et._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=et.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Oi.Started);let l=r(u);if(l){let d=this.opts.es5?tt.varKinds.var:tt.varKinds.const;s=(0,et._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,et._)`${s}${l}${this.opts._n}`;else throw new Sl(u);c.set(u,Oi.Completed)})}return s}};tt.ValueScope=kl});var q=T(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.or=B.and=B.not=B.CodeGen=B.operators=B.varKinds=B.ValueScopeName=B.ValueScope=B.Scope=B.Name=B.regexpCode=B.stringify=B.getProperty=B.nil=B.strConcat=B.str=B._=void 0;var X=Bo(),kt=bl(),mr=Bo();Object.defineProperty(B,"_",{enumerable:!0,get:function(){return mr._}});Object.defineProperty(B,"str",{enumerable:!0,get:function(){return mr.str}});Object.defineProperty(B,"strConcat",{enumerable:!0,get:function(){return mr.strConcat}});Object.defineProperty(B,"nil",{enumerable:!0,get:function(){return mr.nil}});Object.defineProperty(B,"getProperty",{enumerable:!0,get:function(){return mr.getProperty}});Object.defineProperty(B,"stringify",{enumerable:!0,get:function(){return mr.stringify}});Object.defineProperty(B,"regexpCode",{enumerable:!0,get:function(){return mr.regexpCode}});Object.defineProperty(B,"Name",{enumerable:!0,get:function(){return mr.Name}});var ji=bl();Object.defineProperty(B,"Scope",{enumerable:!0,get:function(){return ji.Scope}});Object.defineProperty(B,"ValueScope",{enumerable:!0,get:function(){return ji.ValueScope}});Object.defineProperty(B,"ValueScopeName",{enumerable:!0,get:function(){return ji.ValueScopeName}});Object.defineProperty(B,"varKinds",{enumerable:!0,get:function(){return ji.varKinds}});B.operators={GT:new X._Code(">"),GTE:new X._Code(">="),LT:new X._Code("<"),LTE:new X._Code("<="),EQ:new X._Code("==="),NEQ:new X._Code("!=="),NOT:new X._Code("!"),OR:new X._Code("||"),AND:new X._Code("&&"),ADD:new X._Code("+")};var Yt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},wl=class extends Yt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?kt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Zn(this.rhs,e,r)),this}get names(){return this.rhs instanceof X._CodeOrName?this.rhs.names:{}}},zi=class extends Yt{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof X.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Zn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof X.Name?{}:{...this.lhs.names};return Ai(e,this.rhs)}},El=class extends zi{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Tl=class extends Yt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},$l=class extends Yt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Pl=class extends Yt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Rl=class extends Yt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Zn(this.code,e,r),this}get names(){return this.code instanceof X._CodeOrName?this.code.names:{}}},Vo=class extends Yt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(OT(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>nn(e,r.names),{})}},Xt=class extends Vo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Ol=class extends Vo{},Ln=class extends Xt{};Ln.kind="else";var tn=class t extends Xt{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Ln(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(bg(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Zn(this.condition,e,r),this}get names(){let e=super.names;return Ai(e,this.condition),this.else&&nn(e,this.else.names),e}};tn.kind="if";var rn=class extends Xt{};rn.kind="for";var Cl=class extends rn{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Zn(this.iteration,e,r),this}get names(){return nn(super.names,this.iteration.names)}},Il=class extends rn{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?kt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=Ai(super.names,this.from);return Ai(e,this.to)}},Ni=class extends rn{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Zn(this.iterable,e,r),this}get names(){return nn(super.names,this.iterable.names)}},Ko=class extends Xt{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Ko.kind="func";var Jo=class extends Vo{render(e){return"return "+super.render(e)}};Jo.kind="return";var zl=class extends Xt{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&nn(e,this.catch.names),this.finally&&nn(e,this.finally.names),e}},Wo=class extends Xt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Wo.kind="catch";var Go=class extends Xt{render(e){return"finally"+super.render(e)}};Go.kind="finally";var Nl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?` +`:""},this._extScope=e,this._scope=new kt.Scope({parent:e}),this._nodes=[new Ol]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new wl(e,s,n)),s}const(e,r,n){return this._def(kt.varKinds.const,e,r,n)}let(e,r,n){return this._def(kt.varKinds.let,e,r,n)}var(e,r,n){return this._def(kt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new zi(e,r,n))}add(e,r){return this._leafNode(new El(e,B.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==X.nil&&this._leafNode(new Rl(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,X.addCodeArg)(r,o));return r.push("}"),new X._Code(r)}if(e,r,n){if(this._blockNode(new tn(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new tn(e))}else(){return this._elseNode(new Ln)}endIf(){return this._endBlockNode(tn,Ln)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Cl(e),r)}forRange(e,r,n,o,s=this.opts.es5?kt.varKinds.var:kt.varKinds.let){let i=this._scope.toName(e);return this._for(new Il(s,i,r,n),()=>o(i))}forOf(e,r,n,o=kt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof X.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,X._)`${i}.length`,a=>{this.var(s,(0,X._)`${i}[${a}]`),n(s)})}return this._for(new Ni("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?kt.varKinds.var:kt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,X._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new Ni("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(rn)}label(e){return this._leafNode(new Tl(e))}break(e){return this._leafNode(new $l(e))}return(e){let r=new Jo;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Jo)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new zl;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Wo(s),r(s)}return n&&(this._currNode=o.finally=new Go,this.code(n)),this._endBlockNode(Wo,Go)}throw(e){return this._leafNode(new Pl(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=X.nil,n,o){return this._blockNode(new Ko(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Ko)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof tn))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};B.CodeGen=Nl;function nn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ai(t,e){return e instanceof X._CodeOrName?nn(t,e.names):t}function Zn(t,e,r){if(t instanceof X.Name)return n(t);if(!o(t))return t;return new X._Code(t._items.reduce((s,i)=>(i instanceof X.Name&&(i=n(i)),i instanceof X._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof X._Code&&s._items.some(i=>i instanceof X.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function OT(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function bg(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,X._)`!${Al(t)}`}B.not=bg;var CT=wg(B.operators.AND);function IT(...t){return t.reduce(CT)}B.and=IT;var zT=wg(B.operators.OR);function NT(...t){return t.reduce(zT)}B.or=NT;function wg(t){return(e,r)=>e===X.nil?r:r===X.nil?e:(0,X._)`${Al(e)} ${t} ${Al(r)}`}function Al(t){return t instanceof X.Name?t:(0,X._)`(${t})`}});var Q=T(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var se=q(),AT=Bo();function jT(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=jT;function MT(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:($g(t,e),!Pg(e,t.self.RULES.all))}V.alwaysValidSchema=MT;function $g(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]||Cg(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=$g;function Pg(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=Pg;function DT(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}V.schemaHasRulesButRef=DT;function LT({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,se._)`${r}`}return(0,se._)`${t}${e}${(0,se.getProperty)(n)}`}V.schemaRefOrVal=LT;function ZT(t){return Rg(decodeURIComponent(t))}V.unescapeFragment=ZT;function UT(t){return encodeURIComponent(Ml(t))}V.escapeFragment=UT;function Ml(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Ml;function Rg(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Rg;function HT(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=HT;function Eg({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:Eg({mergeNames:(t,e,r)=>t.if((0,se._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,se._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,se._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,se._)`${r} || {}`),Dl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Og}),items:Eg({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 Og(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,se._)`{}`);return e!==void 0&&Dl(t,r,e),r}V.evaluatedPropsToName=Og;function Dl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,se._)`${e}${(0,se.getProperty)(n)}`,!0))}V.setEvaluated=Dl;var Tg={};function FT(t,e){return t.scopeValue("func",{ref:e,code:Tg[e.code]||(Tg[e.code]=new AT._Code(e.code))})}V.useFunc=FT;var jl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(jl||(V.Type=jl={}));function qT(t,e,r){if(t instanceof se.Name){let n=e===jl.Num;return r?n?(0,se._)`"[" + ${t} + "]"`:(0,se._)`"['" + ${t} + "']"`:n?(0,se._)`"/" + ${t}`:(0,se._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(t).toString():"/"+Ml(t)}V.getErrorPath=qT;function Cg(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=Cg});var Qt=T(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Ue=q(),BT={data:new Ue.Name("data"),valCxt:new Ue.Name("valCxt"),instancePath:new Ue.Name("instancePath"),parentData:new Ue.Name("parentData"),parentDataProperty:new Ue.Name("parentDataProperty"),rootData:new Ue.Name("rootData"),dynamicAnchors:new Ue.Name("dynamicAnchors"),vErrors:new Ue.Name("vErrors"),errors:new Ue.Name("errors"),this:new Ue.Name("this"),self:new Ue.Name("self"),scope:new Ue.Name("scope"),json:new Ue.Name("json"),jsonPos:new Ue.Name("jsonPos"),jsonLen:new Ue.Name("jsonLen"),jsonPart:new Ue.Name("jsonPart")};Ll.default=BT});var Yo=T(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.extendErrors=He.resetErrorsCount=He.reportExtraError=He.reportError=He.keyword$DataError=He.keywordError=void 0;var ee=q(),Mi=Q(),Ve=Qt();He.keywordError={message:({keyword:t})=>(0,ee.str)`must pass "${t}" keyword validation`};He.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,ee.str)`"${t}" keyword must be ${e} ($data)`:(0,ee.str)`"${t}" keyword is invalid ($data)`};function VT(t,e=He.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Ng(t,e,r);n??(i||a)?Ig(s,c):zg(o,(0,ee._)`[${c}]`)}He.reportError=VT;function KT(t,e=He.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Ng(t,e,r);Ig(o,a),s||i||zg(n,Ve.default.vErrors)}He.reportExtraError=KT;function JT(t,e){t.assign(Ve.default.errors,e),t.if((0,ee._)`${Ve.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,ee._)`${Ve.default.vErrors}.length`,e),()=>t.assign(Ve.default.vErrors,null)))}He.resetErrorsCount=JT;function WT({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,Ve.default.errors,a=>{t.const(i,(0,ee._)`${Ve.default.vErrors}[${a}]`),t.if((0,ee._)`${i}.instancePath === undefined`,()=>t.assign((0,ee._)`${i}.instancePath`,(0,ee.strConcat)(Ve.default.instancePath,s.errorPath))),t.assign((0,ee._)`${i}.schemaPath`,(0,ee.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,ee._)`${i}.schema`,r),t.assign((0,ee._)`${i}.data`,n))})}He.extendErrors=WT;function Ig(t,e){let r=t.const("err",e);t.if((0,ee._)`${Ve.default.vErrors} === null`,()=>t.assign(Ve.default.vErrors,(0,ee._)`[${r}]`),(0,ee._)`${Ve.default.vErrors}.push(${r})`),t.code((0,ee._)`${Ve.default.errors}++`)}function zg(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,ee._)`new ${t.ValidationError}(${e})`):(r.assign((0,ee._)`${n}.errors`,e),r.return(!1))}var on={keyword:new ee.Name("keyword"),schemaPath:new ee.Name("schemaPath"),params:new ee.Name("params"),propertyName:new ee.Name("propertyName"),message:new ee.Name("message"),schema:new ee.Name("schema"),parentSchema:new ee.Name("parentSchema")};function Ng(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ee._)`{}`:GT(t,e,r)}function GT(t,e,r={}){let{gen:n,it:o}=t,s=[YT(o,r),XT(t,r)];return QT(t,e,s),n.object(...s)}function YT({errorPath:t},{instancePath:e}){let r=e?(0,ee.str)`${t}${(0,Mi.getErrorPath)(e,Mi.Type.Str)}`:t;return[Ve.default.instancePath,(0,ee.strConcat)(Ve.default.instancePath,r)]}function XT({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,ee.str)`${e}/${t}`;return r&&(o=(0,ee.str)`${o}${(0,Mi.getErrorPath)(r,Mi.Type.Str)}`),[on.schemaPath,o]}function QT(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([on.keyword,o],[on.params,typeof e=="function"?e(t):e||(0,ee._)`{}`]),c.messages&&n.push([on.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([on.schema,i],[on.parentSchema,(0,ee._)`${l}${d}`],[Ve.default.data,s]),u&&n.push([on.propertyName,u])}});var jg=T(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.boolOrEmptySchema=Un.topBoolOrEmptySchema=void 0;var e$=Yo(),t$=q(),r$=Qt(),n$={message:"boolean schema is false"};function o$(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Ag(t,!1):typeof r=="object"&&r.$async===!0?e.return(r$.default.data):(e.assign((0,t$._)`${n}.errors`,null),e.return(!0))}Un.topBoolOrEmptySchema=o$;function s$(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Ag(t)):r.var(e,!0)}Un.boolOrEmptySchema=s$;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,e$.reportError)(o,n$,void 0,e)}});var Zl=T(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.getRules=Hn.isJSONType=void 0;var i$=["string","number","integer","boolean","null","object","array"],a$=new Set(i$);function c$(t){return typeof t=="string"&&a$.has(t)}Hn.isJSONType=c$;function u$(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Hn.getRules=u$});var Ul=T(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.shouldUseRule=hr.shouldUseGroup=hr.schemaHasRulesForType=void 0;function l$({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Mg(t,n)}hr.schemaHasRulesForType=l$;function Mg(t,e){return e.rules.some(r=>Dg(t,r))}hr.shouldUseGroup=Mg;function Dg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hr.shouldUseRule=Dg});var Xo=T(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.reportTypeError=Fe.checkDataTypes=Fe.checkDataType=Fe.coerceAndCheckDataType=Fe.getJSONTypes=Fe.getSchemaTypes=Fe.DataType=void 0;var d$=Zl(),p$=Ul(),f$=Yo(),H=q(),Lg=Q(),Fn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Fn||(Fe.DataType=Fn={}));function m$(t){let e=Zg(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Fe.getSchemaTypes=m$;function Zg(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(d$.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Fe.getJSONTypes=Zg;function h$(t,e){let{gen:r,data:n,opts:o}=t,s=g$(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,p$.schemaHasRulesForType)(t,e[0]));if(i){let a=Fl(e,n,o.strictNumbers,Fn.Wrong);r.if(a,()=>{s.length?_$(t,e,s):ql(t)})}return i}Fe.coerceAndCheckDataType=h$;var Ug=new Set(["string","number","integer","boolean","null"]);function g$(t,e){return e?t.filter(r=>Ug.has(r)||e==="array"&&r==="array"):[]}function _$(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,H._)`typeof ${o}`),a=n.let("coerced",(0,H._)`undefined`);s.coerceTypes==="array"&&n.if((0,H._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,H._)`${o}[0]`).assign(i,(0,H._)`typeof ${o}`).if(Fl(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,H._)`${a} !== undefined`);for(let u of r)(Ug.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),ql(t),n.endIf(),n.if((0,H._)`${a} !== undefined`,()=>{n.assign(o,a),y$(t,a)});function c(u){switch(u){case"string":n.elseIf((0,H._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,H._)`"" + ${o}`).elseIf((0,H._)`${o} === null`).assign(a,(0,H._)`""`);return;case"number":n.elseIf((0,H._)`${i} == "boolean" || ${o} === null || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,H._)`+${o}`);return;case"integer":n.elseIf((0,H._)`${i} === "boolean" || ${o} === null || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,H._)`+${o}`);return;case"boolean":n.elseIf((0,H._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,H._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,H._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,H._)`${i} === "string" || ${i} === "number" - || ${i} === "boolean" || ${o} === null`).assign(a,(0,H._)`[${o}]`)}}}function y$({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,H._)`${e} !== undefined`,()=>t.assign((0,H._)`${e}[${r}]`,n))}function Hl(t,e,r,n=qn.Correct){let o=n===qn.Correct?H.operators.EQ:H.operators.NEQ,s;switch(t){case"null":return(0,H._)`${e} ${o} null`;case"array":s=(0,H._)`Array.isArray(${e})`;break;case"object":s=(0,H._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,H._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,H._)`typeof ${e} ${o} ${t}`}return n===qn.Correct?s:(0,H.not)(s);function i(a=H.nil){return(0,H.and)((0,H._)`typeof ${e} == "number"`,a,r?(0,H._)`isFinite(${e})`:H.nil)}}qe.checkDataType=Hl;function ql(t,e,r,n){if(t.length===1)return Hl(t[0],e,r,n);let o,s=(0,Zg.toHash)(t);if(s.array&&s.object){let i=(0,H._)`typeof ${e} != "object"`;o=s.null?i:(0,H._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=H.nil;s.number&&delete s.integer;for(let i in s)o=(0,H.and)(o,Hl(i,e,r,n));return o}qe.checkDataTypes=ql;var x$={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,H._)`{type: ${t}}`:(0,H._)`{type: ${e}}`};function Fl(t){let e=v$(t);(0,f$.reportError)(e,x$)}qe.reportTypeError=Fl;function v$(t){let{gen:e,data:r,schema:n}=t,o=(0,Zg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Fg=T(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.assignDefaults=void 0;var Fn=F(),S$=Q();function k$(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)qg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>qg(t,s,o.default))}Di.assignDefaults=k$;function qg(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Fn._)`${s}${(0,Fn.getProperty)(e)}`;if(o){(0,S$.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Fn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Fn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Fn._)`${a} = ${(0,Fn.stringify)(r)}`)}});var ft=T(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.validateUnion=oe.validateArray=oe.usePattern=oe.callValidateCode=oe.schemaProperties=oe.allSchemaProperties=oe.noPropertyInData=oe.propertyInData=oe.isOwnProperty=oe.hasPropFunc=oe.reportMissingProp=oe.checkMissingProp=oe.checkReportMissingProp=void 0;var fe=F(),Bl=Q(),gr=Qt(),b$=Q();function w$(t,e){let{gen:r,data:n,it:o}=t;r.if(Kl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,fe._)`${e}`},!0),t.error()})}oe.checkReportMissingProp=w$;function E$({gen:t,data:e,it:{opts:r}},n,o){return(0,fe.or)(...n.map(s=>(0,fe.and)(Kl(t,e,s,r.ownProperties),(0,fe._)`${o} = ${s}`)))}oe.checkMissingProp=E$;function T$(t,e){t.setParams({missingProperty:e},!0),t.error()}oe.reportMissingProp=T$;function Bg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,fe._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=Bg;function Vl(t,e,r){return(0,fe._)`${Bg(t)}.call(${e}, ${r})`}oe.isOwnProperty=Vl;function $$(t,e,r,n){let o=(0,fe._)`${e}${(0,fe.getProperty)(r)} !== undefined`;return n?(0,fe._)`${o} && ${Vl(t,e,r)}`:o}oe.propertyInData=$$;function Kl(t,e,r,n){let o=(0,fe._)`${e}${(0,fe.getProperty)(r)} === undefined`;return n?(0,fe.or)(o,(0,fe.not)(Vl(t,e,r))):o}oe.noPropertyInData=Kl;function Vg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}oe.allSchemaProperties=Vg;function P$(t,e){return Vg(e).filter(r=>!(0,Bl.alwaysValidSchema)(t,e[r]))}oe.schemaProperties=P$;function R$({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,fe._)`${t}, ${e}, ${n}${o}`:e,d=[[gr.default.instancePath,(0,fe.strConcat)(gr.default.instancePath,s)],[gr.default.parentData,i.parentData],[gr.default.parentDataProperty,i.parentDataProperty],[gr.default.rootData,gr.default.rootData]];i.opts.dynamicRef&&d.push([gr.default.dynamicAnchors,gr.default.dynamicAnchors]);let f=(0,fe._)`${l}, ${r.object(...d)}`;return c!==fe.nil?(0,fe._)`${a}.call(${c}, ${f})`:(0,fe._)`${a}(${f})`}oe.callValidateCode=R$;var O$=(0,fe._)`new RegExp`;function C$({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,fe._)`${o.code==="new RegExp"?O$:(0,b$.useFunc)(t,o)}(${r}, ${n})`})}oe.usePattern=C$;function I$(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,fe._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Bl.Type.Num},s),e.if((0,fe.not)(s),a)})}}oe.validateArray=I$;function z$(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Bl.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,fe._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,fe.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}oe.validateUnion=z$});var Wg=T(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.validateKeywordUsage=At.validSchemaType=At.funcKeywordCode=At.macroKeywordCode=void 0;var Ke=F(),sn=Qt(),N$=ft(),A$=Yo();function j$(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Jg(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ke.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}At.macroKeywordCode=j$;function M$(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;L$(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Jg(n,o,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&Kg(t),g(()=>t.error());else{let _=e.async?m():p();e.modifying&&Kg(t),g(()=>D$(t,_))}}function m(){let _=n.let("ruleErrs",null);return n.try(()=>h((0,Ke._)`await `),x=>n.assign(d,!1).if((0,Ke._)`${x} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Ke._)`${x}.errors`),()=>n.throw(x))),_}function p(){let _=(0,Ke._)`${l}.errors`;return n.assign(_,null),h(Ke.nil),_}function h(_=e.async?(0,Ke._)`await `:Ke.nil){let x=c.opts.passContext?sn.default.this:sn.default.self,S=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ke._)`${_}${(0,N$.callValidateCode)(t,l,x,S)}`,e.modifying)}function g(_){var x;n.if((0,Ke.not)((x=e.valid)!==null&&x!==void 0?x:d),_)}}At.funcKeywordCode=M$;function Kg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ke._)`${n.parentData}[${n.parentDataProperty}]`))}function D$(t,e){let{gen:r}=t;r.if((0,Ke._)`Array.isArray(${e})`,()=>{r.assign(sn.default.vErrors,(0,Ke._)`${sn.default.vErrors} === null ? ${e} : ${sn.default.vErrors}.concat(${e})`).assign(sn.default.errors,(0,Ke._)`${sn.default.vErrors}.length`),(0,A$.extendErrors)(t)},()=>t.error())}function L$({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Jg(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ke.stringify)(r)})}function Z$(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}At.validSchemaType=Z$;function U$({schema:t,opts:e,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}At.validateKeywordUsage=U$});var Yg=T(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.extendSubschemaMode=_r.extendSubschemaData=_r.getSubschema=void 0;var jt=F(),Gg=Q();function H$(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}${(0,jt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Gg.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}_r.getSubschema=H$;function q$(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,jt._)`${e.data}${(0,jt.getProperty)(r)}`,!0);c(f),t.errorPath=(0,jt.str)`${u}${(0,Gg.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,jt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof jt.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}_r.extendSubschemaData=q$;function F$(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}_r.extendSubschemaMode=F$});var Jl=T((jM,Xg)=>{"use strict";Xg.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var e_=T((MM,Qg)=>{"use strict";var yr=Qg.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Li(e,n,o,t,"",t)};yr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Li(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in yr.arrayKeywords)for(var f=0;f{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.getSchemaRefs=rt.resolveUrl=rt.normalizeId=rt._getFullPath=rt.getFullPath=rt.inlineRef=void 0;var V$=Q(),K$=Jl(),J$=e_(),W$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function G$(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Wl(t):e?t_(t)<=e:!1}rt.inlineRef=G$;var Y$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Wl(t){for(let e in t){if(Y$.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Wl)||typeof r=="object"&&Wl(r))return!0}return!1}function t_(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!W$.has(r)&&(typeof t[r]=="object"&&(0,V$.eachItem)(t[r],n=>e+=t_(n)),e===1/0))return 1/0}return e}function r_(t,e="",r){r!==!1&&(e=Bn(e));let n=t.parse(e);return n_(t,n)}rt.getFullPath=r_;function n_(t,e){return t.serialize(e).split("#")[0]+"#"}rt._getFullPath=n_;var X$=/#\/?$/;function Bn(t){return t?t.replace(X$,""):""}rt.normalizeId=Bn;function Q$(t,e,r){return r=Bn(r),t.resolve(e,r)}rt.resolveUrl=Q$;var e0=/^[a-z_][-a-z0-9._]*$/i;function t0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Bn(t[r]||e),s={"":o},i=r_(n,o,!1),a={},c=new Set;return J$(t,{allKeys:!0},(d,f,m,p)=>{if(p===void 0)return;let h=i+f,g=s[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),x.call(this,d.$anchor),x.call(this,d.$dynamicAnchor),s[f]=g;function _(S){let w=this.opts.uriResolver.resolve;if(S=Bn(g?w(g,S):S),c.has(S))throw l(S);c.add(S);let z=this.refs[S];return typeof z=="string"&&(z=this.refs[z]),typeof z=="object"?u(d,z.schema,S):S!==Bn(h)&&(S[0]==="#"?(u(d,a[S],S),a[S]=d):this.refs[S]=h),S}function x(S){if(typeof S=="string"){if(!e0.test(S))throw new Error(`invalid anchor "${S}"`);_.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!K$(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}rt.getSchemaRefs=t0});var rs=T(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.getData=xr.KeywordCxt=xr.validateFunctionCode=void 0;var c_=Mg(),o_=Xo(),Yl=Ul(),Zi=Xo(),r0=Fg(),ts=Wg(),Gl=Yg(),I=F(),Z=Qt(),n0=Qo(),er=Q(),es=Yo();function o0(t){if(d_(t)&&(p_(t),l_(t))){a0(t);return}u_(t,()=>(0,c_.topBoolOrEmptySchema)(t))}xr.validateFunctionCode=o0;function u_({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,I._)`${Z.default.data}, ${Z.default.valCxt}`,n.$async,()=>{t.code((0,I._)`"use strict"; ${s_(r,o)}`),i0(t,o),t.code(s)}):t.func(e,(0,I._)`${Z.default.data}, ${s0(o)}`,n.$async,()=>t.code(s_(r,o)).code(s))}function s0(t){return(0,I._)`{${Z.default.instancePath}="", ${Z.default.parentData}, ${Z.default.parentDataProperty}, ${Z.default.rootData}=${Z.default.data}${t.dynamicRef?(0,I._)`, ${Z.default.dynamicAnchors}={}`:I.nil}}={}`}function i0(t,e){t.if(Z.default.valCxt,()=>{t.var(Z.default.instancePath,(0,I._)`${Z.default.valCxt}.${Z.default.instancePath}`),t.var(Z.default.parentData,(0,I._)`${Z.default.valCxt}.${Z.default.parentData}`),t.var(Z.default.parentDataProperty,(0,I._)`${Z.default.valCxt}.${Z.default.parentDataProperty}`),t.var(Z.default.rootData,(0,I._)`${Z.default.valCxt}.${Z.default.rootData}`),e.dynamicRef&&t.var(Z.default.dynamicAnchors,(0,I._)`${Z.default.valCxt}.${Z.default.dynamicAnchors}`)},()=>{t.var(Z.default.instancePath,(0,I._)`""`),t.var(Z.default.parentData,(0,I._)`undefined`),t.var(Z.default.parentDataProperty,(0,I._)`undefined`),t.var(Z.default.rootData,Z.default.data),e.dynamicRef&&t.var(Z.default.dynamicAnchors,(0,I._)`{}`)})}function a0(t){let{schema:e,opts:r,gen:n}=t;u_(t,()=>{r.$comment&&e.$comment&&m_(t),p0(t),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&c0(t),f_(t),h0(t)})}function c0(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,I._)`${r}.evaluated`),e.if((0,I._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,I._)`${t.evaluated}.props`,(0,I._)`undefined`)),e.if((0,I._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,I._)`${t.evaluated}.items`,(0,I._)`undefined`))}function s_(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,I._)`/*# sourceURL=${r} */`:I.nil}function u0(t,e){if(d_(t)&&(p_(t),l_(t))){l0(t,e);return}(0,c_.boolOrEmptySchema)(t,e)}function l_({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function d_(t){return typeof t.schema!="boolean"}function l0(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&m_(t),f0(t),m0(t);let s=n.const("_errs",Z.default.errors);f_(t,s),n.var(e,(0,I._)`${s} === ${Z.default.errors}`)}function p_(t){(0,er.checkUnknownRules)(t),d0(t)}function f_(t,e){if(t.opts.jtd)return i_(t,[],!1,e);let r=(0,o_.getSchemaTypes)(t.schema),n=(0,o_.coerceAndCheckDataType)(t,r);i_(t,r,!n,e)}function d0(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,er.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function p0(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,er.checkStrictMode)(t,"default is ignored in the schema root")}function f0(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,n0.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function m0(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function m_({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,I._)`${Z.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,I.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,I._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function h0(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,I._)`${Z.default.errors} === 0`,()=>e.return(Z.default.data),()=>e.throw((0,I._)`new ${o}(${Z.default.vErrors})`)):(e.assign((0,I._)`${n}.errors`,Z.default.vErrors),s.unevaluated&&g0(t),e.return((0,I._)`${Z.default.errors} === 0`))}function g0({gen:t,evaluated:e,props:r,items:n}){r instanceof I.Name&&t.assign((0,I._)`${e}.props`,r),n instanceof I.Name&&t.assign((0,I._)`${e}.items`,n)}function i_(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,er.schemaHasRulesButRef)(s,l))){o.block(()=>g_(t,"$ref",l.all.$ref.definition));return}c.jtd||_0(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Yl.shouldUseGroup)(s,f)&&(f.type?(o.if((0,Zi.checkDataType)(f.type,i,c.strictNumbers)),a_(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Zi.reportTypeError)(t)),o.endIf()):a_(t,f),a||o.if((0,I._)`${Z.default.errors} === ${n||0}`))}}function a_(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,r0.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Yl.shouldUseRule)(n,s)&&g_(t,s.keyword,s.definition,e.type)})}function _0(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(y0(t,e),t.opts.allowUnionTypes||x0(t,e),v0(t,t.dataTypes))}function y0(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{h_(t.dataTypes,r)||Xl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),k0(t,e)}}function x0(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Xl(t,"use allowUnionTypes to allow union type keyword")}function v0(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Yl.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>S0(e,i))&&Xl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function S0(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function h_(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function k0(t,e){let r=[];for(let n of t.dataTypes)h_(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Xl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,er.checkStrictMode)(t,e,t.opts.strictTypes)}var Ui=class{constructor(e,r,n){if((0,ts.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,er.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",__(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ts.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Z.default.errors))}result(e,r,n){this.failResult((0,I.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,I.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,I._)`${r} !== undefined && (${(0,I.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?es.reportExtraError:es.reportError)(this,this.def.error,r)}$dataError(){(0,es.reportError)(this,this.def.$dataError||es.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,es.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=I.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=I.nil,r=I.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,I.or)((0,I._)`${o} === undefined`,r)),e!==I.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==I.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,I.or)(i(),a());function i(){if(n.length){if(!(r instanceof I.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,I._)`${(0,Zi.checkDataTypes)(c,r,s.opts.strictNumbers,Zi.DataType.Wrong)}`}return I.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,I._)`!${c}(${r})`}return I.nil}}subschema(e,r){let n=(0,Gl.getSubschema)(this.it,e);(0,Gl.extendSubschemaData)(n,this.it,e),(0,Gl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return u0(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=er.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=er.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,I.Name)),!0}};xr.KeywordCxt=Ui;function g_(t,e,r,n){let o=new Ui(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,ts.funcKeywordCode)(o,r):"macro"in r?(0,ts.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,ts.funcKeywordCode)(o,r)}var b0=/^\/(?:[^~]|~0|~1)*$/,w0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function __(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return Z.default.rootData;if(t[0]==="/"){if(!b0.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=Z.default.rootData}else{let u=w0.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,I._)`${s}${(0,I.getProperty)((0,er.unescapeJsonPointer)(u))}`,i=(0,I._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}xr.getData=__});var Hi=T(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});var Ql=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};ed.default=Ql});var ns=T(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var td=Qo(),rd=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,td.resolveUrl)(e,r,n),this.missingSchema=(0,td.normalizeId)((0,td.getFullPath)(e,this.missingRef))}};nd.default=rd});var Fi=T(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.resolveSchema=mt.getCompilingSchema=mt.resolveRef=mt.compileSchema=mt.SchemaEnv=void 0;var bt=F(),E0=Hi(),an=Qt(),wt=Qo(),y_=Q(),T0=rs(),Vn=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,wt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};mt.SchemaEnv=Vn;function sd(t){let e=x_.call(this,t);if(e)return e;let r=(0,wt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new bt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:E0.default,code:(0,bt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:an.default.data,parentData:an.default.parentData,parentDataProperty:an.default.parentDataProperty,dataNames:[an.default.data],dataPathArr:[bt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,bt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:bt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,bt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,T0.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(an.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${an.default.self}`,`${an.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:h}=u;m.evaluated={props:p instanceof bt.Name?void 0:p,items:h instanceof bt.Name?void 0:h,dynamicProps:p instanceof bt.Name,dynamicItems:h instanceof bt.Name},m.source&&(m.source.evaluated=(0,bt.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}mt.compileSchema=sd;function $0(t,e,r){var n;r=(0,wt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=O0.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Vn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=P0.call(this,s)}mt.resolveRef=$0;function P0(t){return(0,wt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:sd.call(this,t)}function x_(t){for(let e of this._compilations)if(R0(e,t))return e}mt.getCompilingSchema=x_;function R0(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function O0(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||qi.call(this,t,e)}function qi(t,e){let r=this.opts.uriResolver.parse(e),n=(0,wt._getFullPath)(this.opts.uriResolver,r),o=(0,wt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return od.call(this,r,t);let s=(0,wt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=qi.call(this,t,i);return typeof a?.schema!="object"?void 0:od.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||sd.call(this,i),s===(0,wt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,wt.resolveUrl)(this.opts.uriResolver,o,u)),new Vn({schema:a,schemaId:c,root:t,baseId:o})}return od.call(this,r,i)}}mt.resolveSchema=qi;var C0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function od(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,y_.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!C0.has(a)&&u&&(e=(0,wt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,y_.schemaHasRulesButRef)(r,this.RULES)){let a=(0,wt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=qi.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Vn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var v_=T((qM,I0)=>{I0.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var ad=T((FM,w_)=>{"use strict";var z0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),k_=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function id(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var N0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function S_(t){return t.length=0,!0}function A0(t,e,r){if(t.length){let n=id(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function j0(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=A0;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=S_}else{o.push(u);continue}}return o.length&&(a===S_?r.zone=o.join(""):i?n.push(o.join("")):n.push(id(o))),r.address=n.join(""),r}function b_(t){if(M0(t,":")<2)return{host:t,isIPV6:!1};let e=j0(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function M0(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:U0}=ad(),H0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,q0=["http","https","ws","wss","urn","urn:uuid"];function F0(t){return q0.indexOf(t)!==-1}function cd(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function E_(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function T_(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function B0(t){return t.secure=cd(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function V0(t){if((t.port===(cd(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function K0(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(H0);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=ud(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function J0(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=ud(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function W0(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!U0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function G0(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var $_={scheme:"http",domainHost:!0,parse:E_,serialize:T_},Y0={scheme:"https",domainHost:$_.domainHost,parse:E_,serialize:T_},Bi={scheme:"ws",domainHost:!0,parse:B0,serialize:V0},X0={scheme:"wss",domainHost:Bi.domainHost,parse:Bi.parse,serialize:Bi.serialize},Q0={scheme:"urn",parse:K0,serialize:J0,skipNormalize:!0},eP={scheme:"urn:uuid",parse:W0,serialize:G0,skipNormalize:!0},Vi={http:$_,https:Y0,ws:Bi,wss:X0,urn:Q0,"urn:uuid":eP};Object.setPrototypeOf(Vi,null);function ud(t){return t&&(Vi[t]||Vi[t.toLowerCase()])||void 0}P_.exports={wsIsSecure:cd,SCHEMES:Vi,isValidSchemeName:F0,getSchemeHandler:ud}});var I_=T((VM,Ji)=>{"use strict";var{normalizeIPv6:tP,removeDotSegments:os,recomposeAuthority:rP,normalizeComponentEncoding:Ki,isIPv4:nP,nonSimpleDomain:oP}=ad(),{SCHEMES:sP,getSchemeHandler:O_}=R_();function iP(t,e){return typeof t=="string"?t=Mt(tr(t,e),e):typeof t=="object"&&(t=tr(Mt(t,e),e)),t}function aP(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=C_(tr(t,n),tr(e,n),n,!0);return n.skipEscape=!0,Mt(o,n)}function C_(t,e,r,n){let o={};return n||(t=tr(Mt(t,r),r),e=tr(Mt(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=os(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=os(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=os(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=os(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function cP(t,e,r){return typeof t=="string"?(t=unescape(t),t=Mt(Ki(tr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Mt(Ki(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Mt(Ki(tr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Mt(Ki(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Mt(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=O_(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=rP(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=os(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var uP=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function tr(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(uP);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(nP(n.host)===!1){let c=tP(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let i=O_(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&oP(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var ld={SCHEMES:sP,normalize:iP,resolve:aP,resolveComponent:C_,equal:cP,serialize:Mt,parse:tr};Ji.exports=ld;Ji.exports.default=ld;Ji.exports.fastUri=ld});var N_=T(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var z_=I_();z_.code='require("ajv/dist/runtime/uri").default';dd.default=z_});var H_=T(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.CodeGen=Ae.Name=Ae.nil=Ae.stringify=Ae.str=Ae._=Ae.KeywordCxt=void 0;var lP=rs();Object.defineProperty(Ae,"KeywordCxt",{enumerable:!0,get:function(){return lP.KeywordCxt}});var Kn=F();Object.defineProperty(Ae,"_",{enumerable:!0,get:function(){return Kn._}});Object.defineProperty(Ae,"str",{enumerable:!0,get:function(){return Kn.str}});Object.defineProperty(Ae,"stringify",{enumerable:!0,get:function(){return Kn.stringify}});Object.defineProperty(Ae,"nil",{enumerable:!0,get:function(){return Kn.nil}});Object.defineProperty(Ae,"Name",{enumerable:!0,get:function(){return Kn.Name}});Object.defineProperty(Ae,"CodeGen",{enumerable:!0,get:function(){return Kn.CodeGen}});var dP=Hi(),L_=ns(),pP=Zl(),ss=Fi(),fP=F(),is=Qo(),Wi=Xo(),fd=Q(),A_=v_(),mP=N_(),Z_=(t,e)=>new RegExp(t,e);Z_.code="new RegExp";var hP=["removeAdditional","useDefaults","coerceTypes"],gP=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),_P={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},yP={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},j_=200;function xP(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,_,x,S,w,z,de,Te,K,Le;let Se=t.strict,Or=(e=t.code)===null||e===void 0?void 0:e.optimize,wf=Or===!0||Or===void 0?1:Or||0,Ef=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Z_,yS=(o=t.uriResolver)!==null&&o!==void 0?o:mP.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Se)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Se)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Se)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:Se)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:Se)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:wf,regExp:Ef}:{optimize:wf,regExp:Ef},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:j_,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:j_,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(x=t.messages)!==null&&x!==void 0?x:!0,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(z=t.addUsedSchema)!==null&&z!==void 0?z:!0,validateSchema:(de=t.validateSchema)!==null&&de!==void 0?de:!0,validateFormats:(Te=t.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(K=t.unicodeRegExp)!==null&&K!==void 0?K:!0,int32range:(Le=t.int32range)!==null&&Le!==void 0?Le:!0,uriResolver:yS}}var as=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...xP(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new fP.ValueScope({scope:{},prefixes:gP,es5:r,lines:n}),this.logger=EP(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,pP.getRules)(),M_.call(this,_P,e,"NOT SUPPORTED"),M_.call(this,yP,e,"DEPRECATED","warn"),this._metaOpts=bP.call(this),e.formats&&SP.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&kP.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),vP.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=A_;n==="id"&&(o={...A_},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||i.call(this,f)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof L_.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,is.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=D_.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ss.SchemaEnv({schema:{},schemaId:n});if(r=ss.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=D_.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,is.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if($P.call(this,n,r),!r)return(0,fd.eachItem)(n,s=>pd.call(this,s)),this;RP.call(this,r);let o={...r,type:(0,Wi.getJSONTypes)(r.type),schemaType:(0,Wi.getJSONTypes)(r.schemaType)};return(0,fd.eachItem)(n,o.type.length===0?s=>pd.call(this,s,o):s=>o.type.forEach(i=>pd.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=U_(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,is.normalizeId)(i||n);let u=is.getSchemaRefs.call(this,e,n);return c=new ss.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):ss.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{ss.compileSchema.call(this,e)}finally{this.opts=r}}};as.ValidationError=dP.default;as.MissingRefError=L_.default;Ae.default=as;function M_(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function D_(t){return t=(0,is.normalizeId)(t),this.schemas[t]||this.refs[t]}function vP(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function SP(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function kP(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function bP(){let t={...this.opts};for(let e of hP)delete t[e];return t}var wP={log(){},warn(){},error(){}};function EP(t){if(t===!1)return wP;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var TP=/^[a-z_$][a-z0-9_$:-]*$/i;function $P(t,e){let{RULES:r}=this;if((0,fd.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!TP.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function pd(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Wi.getJSONTypes)(e.type),schemaType:(0,Wi.getJSONTypes)(e.schemaType)}};e.before?PP.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function PP(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function RP(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=U_(e)),t.validateSchema=this.compile(e,!0))}var OP={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function U_(t){return{anyOf:[t,OP]}}});var q_=T(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var CP={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};md.default=CP});var K_=T(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.callRef=cn.getValidate=void 0;var IP=ns(),F_=ft(),nt=F(),Jn=Qt(),B_=Fi(),Gi=Q(),zP={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=B_.resolveRef.call(c,u,o,r);if(l===void 0)throw new IP.default(n.opts.uriResolver,o,r);if(l instanceof B_.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return Yi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Yi(t,(0,nt._)`${p}.validate`,u,u.$async)}function f(p){let h=V_(t,p);Yi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,nt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:nt.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function V_(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,nt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}cn.getValidate=V_;function Yi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Jn.default.this:nt.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=o.let("valid");o.try(()=>{o.code((0,nt._)`await ${(0,F_.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,nt._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,F_.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,nt._)`${p}.errors`;o.assign(Jn.default.vErrors,(0,nt._)`${Jn.default.vErrors} === null ? ${h} : ${Jn.default.vErrors}.concat(${h})`),o.assign(Jn.default.errors,(0,nt._)`${Jn.default.vErrors}.length`)}function m(p){var h;if(!s.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=Gi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,nt._)`${p}.evaluated.props`);s.props=Gi.mergeEvaluated.props(o,_,s.props,nt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Gi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,nt._)`${p}.evaluated.items`);s.items=Gi.mergeEvaluated.items(o,_,s.items,nt.Name)}}}cn.callRef=Yi;cn.default=zP});var J_=T(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var NP=q_(),AP=K_(),jP=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",NP.default,AP.default];hd.default=jP});var W_=T(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Xi=F(),vr=Xi.operators,Qi={maximum:{okStr:"<=",ok:vr.LTE,fail:vr.GT},minimum:{okStr:">=",ok:vr.GTE,fail:vr.LT},exclusiveMaximum:{okStr:"<",ok:vr.LT,fail:vr.GTE},exclusiveMinimum:{okStr:">",ok:vr.GT,fail:vr.LTE}},MP={message:({keyword:t,schemaCode:e})=>(0,Xi.str)`must be ${Qi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Xi._)`{comparison: ${Qi[t].okStr}, limit: ${e}}`},DP={keyword:Object.keys(Qi),type:"number",schemaType:"number",$data:!0,error:MP,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Xi._)`${r} ${Qi[e].fail} ${n} || isNaN(${r})`)}};gd.default=DP});var G_=T(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var cs=F(),LP={message:({schemaCode:t})=>(0,cs.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,cs._)`{multipleOf: ${t}}`},ZP={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:LP,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,cs._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,cs._)`${i} !== parseInt(${i})`;t.fail$data((0,cs._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};_d.default=ZP});var X_=T(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});function Y_(t){let e=t.length,r=0,n=0,o;for(;n=55296&&o<=56319&&n{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var un=F(),UP=Q(),HP=X_(),qP={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,un.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,un._)`{limit: ${t}}`},FP={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:qP,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?un.operators.GT:un.operators.LT,i=o.opts.unicode===!1?(0,un._)`${r}.length`:(0,un._)`${(0,UP.useFunc)(t.gen,HP.default)}(${r})`;t.fail$data((0,un._)`${i} ${s} ${n}`)}};xd.default=FP});var ey=T(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var BP=ft(),VP=Q(),Wn=F(),KP={message:({schemaCode:t})=>(0,Wn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Wn._)`{pattern: ${t}}`},JP={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:KP,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Wn._)`new RegExp`:(0,VP.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Wn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Wn._)`!${l}`)}else{let c=(0,BP.usePattern)(t,o);t.fail$data((0,Wn._)`!${c}.test(${r})`)}}};vd.default=JP});var ty=T(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var us=F(),WP={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,us.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,us._)`{limit: ${t}}`},GP={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:WP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?us.operators.GT:us.operators.LT;t.fail$data((0,us._)`Object.keys(${r}).length ${o} ${n}`)}};Sd.default=GP});var ry=T(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var ls=ft(),ds=F(),YP=Q(),XP={message:({params:{missingProperty:t}})=>(0,ds.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,ds._)`{missingProperty: ${t}}`},QP={keyword:"required",type:"object",schemaType:"array",$data:!0,error:XP,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:p}=t.it;for(let h of r)if(m?.[h]===void 0&&!p.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,YP.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(ds.nil,d);else for(let m of r)(0,ls.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>f(m,p)),t.ok(p)}else e.if((0,ls.checkMissingProp)(t,r,m)),(0,ls.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",n,m=>{t.setParams({missingProperty:m}),e.if((0,ls.noPropertyInData)(e,o,m,a.ownProperties),()=>t.error())})}function f(m,p){t.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(p,(0,ls.propertyInData)(e,o,m,a.ownProperties)),e.if((0,ds.not)(p),()=>{t.error(),e.break()})},ds.nil)}}};kd.default=QP});var ny=T(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var ps=F(),eR={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ps.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ps._)`{limit: ${t}}`},tR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:eR,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?ps.operators.GT:ps.operators.LT;t.fail$data((0,ps._)`${r}.length ${o} ${n}`)}};bd.default=tR});var ea=T(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var oy=Jl();oy.code='require("ajv/dist/runtime/equal").default';wd.default=oy});var sy=T(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var Ed=Xo(),je=F(),rR=Q(),nR=ea(),oR={message:({params:{i:t,j:e}})=>(0,je.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,je._)`{i: ${t}, j: ${e}}`},sR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:oR,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,Ed.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,je._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,je._)`${r}.length`),h=e.let("j");t.setParams({i:p,j:h}),e.assign(c,!0),e.if((0,je._)`${p} > 1`,()=>(d()?f:m)(p,h))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,h){let g=e.name("item"),_=(0,Ed.checkDataTypes)(u,g,a.opts.strictNumbers,Ed.DataType.Wrong),x=e.const("indices",(0,je._)`{}`);e.for((0,je._)`;${p}--;`,()=>{e.let(g,(0,je._)`${r}[${p}]`),e.if(_,(0,je._)`continue`),u.length>1&&e.if((0,je._)`typeof ${g} == "string"`,(0,je._)`${g} += "_"`),e.if((0,je._)`typeof ${x}[${g}] == "number"`,()=>{e.assign(h,(0,je._)`${x}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,je._)`${x}[${g}] = ${p}`)})}function m(p,h){let g=(0,rR.useFunc)(e,nR.default),_=e.name("outer");e.label(_).for((0,je._)`;${p}--;`,()=>e.for((0,je._)`${h} = ${p}; ${h}--;`,()=>e.if((0,je._)`${g}(${r}[${p}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Td.default=sR});var iy=T(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var $d=F(),iR=Q(),aR=ea(),cR={message:"must be equal to constant",params:({schemaCode:t})=>(0,$d._)`{allowedValue: ${t}}`},uR={keyword:"const",$data:!0,error:cR,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,$d._)`!${(0,iR.useFunc)(e,aR.default)}(${r}, ${o})`):t.fail((0,$d._)`${s} !== ${r}`)}};Pd.default=uR});var ay=T(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var fs=F(),lR=Q(),dR=ea(),pR={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,fs._)`{allowedValues: ${t}}`},fR={keyword:"enum",schemaType:"array",$data:!0,error:pR,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,lR.useFunc)(e,dR.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=e.const("vSchema",s);l=(0,fs.or)(...o.map((p,h)=>f(m,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,m=>e.if((0,fs._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function f(m,p){let h=o[p];return typeof h=="object"&&h!==null?(0,fs._)`${u()}(${r}, ${m}[${p}])`:(0,fs._)`${r} === ${h}`}}};Rd.default=fR});var cy=T(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var mR=W_(),hR=G_(),gR=Q_(),_R=ey(),yR=ty(),xR=ry(),vR=ny(),SR=sy(),kR=iy(),bR=ay(),wR=[mR.default,hR.default,gR.default,_R.default,yR.default,xR.default,vR.default,SR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},kR.default,bR.default];Od.default=wR});var Id=T(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.validateAdditionalItems=void 0;var ln=F(),Cd=Q(),ER={message:({params:{len:t}})=>(0,ln.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ln._)`{limit: ${t}}`},TR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:ER,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Cd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}uy(t,n)}};function uy(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,ln._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ln._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Cd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,ln._)`${a} <= ${e.length}`);r.if((0,ln.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Cd.Type.Num},u),i.allErrors||r.if((0,ln.not)(u),()=>r.break())})}}ms.validateAdditionalItems=uy;ms.default=TR});var zd=T(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.validateTuple=void 0;var ly=F(),ta=Q(),$R=ft(),PR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return dy(t,"additionalItems",e);r.items=!0,!(0,ta.alwaysValidSchema)(r,e)&&t.ok((0,$R.validateArray)(t))}};function dy(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=ta.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,ly._)`${s}.length`);r.forEach((d,f)=>{(0,ta.alwaysValidSchema)(a,d)||(n.if((0,ly._)`${u} > ${f}`,()=>t.subschema({keyword:i,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:m}=a,p=r.length,h=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,ta.checkStrictMode)(a,g,f.strictTuples)}}}hs.validateTuple=dy;hs.default=PR});var py=T(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var RR=zd(),OR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,RR.validateTuple)(t,"items")};Nd.default=OR});var my=T(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var fy=F(),CR=Q(),IR=ft(),zR=Id(),NR={message:({params:{len:t}})=>(0,fy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,fy._)`{limit: ${t}}`},AR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:NR,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,CR.alwaysValidSchema)(n,e)&&(o?(0,zR.validateAdditionalItems)(t,o):t.ok((0,IR.validateArray)(t)))}};Ad.default=AR});var hy=T(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var ht=F(),ra=Q(),jR={message:({params:{min:t,max:e}})=>e===void 0?(0,ht.str)`must contain at least ${t} valid item(s)`:(0,ht.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ht._)`{minContains: ${t}}`:(0,ht._)`{minContains: ${t}, maxContains: ${e}}`},MR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:jR,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,ht._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,ra.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,ra.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,ra.alwaysValidSchema)(s,r)){let h=(0,ht._)`${l} >= ${i}`;a!==void 0&&(h=(0,ht._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,ht._)`${o}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>p(g)))}function m(h,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:ra.Type.Num,compositeRule:!0},h),g()})}function p(h){e.code((0,ht._)`${h}++`),a===void 0?e.if((0,ht._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,ht._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,ht._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};jd.default=MR});var yy=T(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.validateSchemaDeps=Dt.validatePropertyDeps=Dt.error=void 0;var Md=F(),DR=Q(),gs=ft();Dt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Md.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Md._)`{property: ${t}, + || ${i} === "boolean" || ${o} === null`).assign(a,(0,H._)`[${o}]`)}}}function y$({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,H._)`${e} !== undefined`,()=>t.assign((0,H._)`${e}[${r}]`,n))}function Hl(t,e,r,n=Fn.Correct){let o=n===Fn.Correct?H.operators.EQ:H.operators.NEQ,s;switch(t){case"null":return(0,H._)`${e} ${o} null`;case"array":s=(0,H._)`Array.isArray(${e})`;break;case"object":s=(0,H._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,H._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,H._)`typeof ${e} ${o} ${t}`}return n===Fn.Correct?s:(0,H.not)(s);function i(a=H.nil){return(0,H.and)((0,H._)`typeof ${e} == "number"`,a,r?(0,H._)`isFinite(${e})`:H.nil)}}Fe.checkDataType=Hl;function Fl(t,e,r,n){if(t.length===1)return Hl(t[0],e,r,n);let o,s=(0,Lg.toHash)(t);if(s.array&&s.object){let i=(0,H._)`typeof ${e} != "object"`;o=s.null?i:(0,H._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=H.nil;s.number&&delete s.integer;for(let i in s)o=(0,H.and)(o,Hl(i,e,r,n));return o}Fe.checkDataTypes=Fl;var x$={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,H._)`{type: ${t}}`:(0,H._)`{type: ${e}}`};function ql(t){let e=v$(t);(0,f$.reportError)(e,x$)}Fe.reportTypeError=ql;function v$(t){let{gen:e,data:r,schema:n}=t,o=(0,Lg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Fg=T(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.assignDefaults=void 0;var qn=q(),S$=Q();function k$(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Hg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Hg(t,s,o.default))}Di.assignDefaults=k$;function Hg(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,qn._)`${s}${(0,qn.getProperty)(e)}`;if(o){(0,S$.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,qn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,qn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,qn._)`${a} = ${(0,qn.stringify)(r)}`)}});var ft=T(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.validateUnion=oe.validateArray=oe.usePattern=oe.callValidateCode=oe.schemaProperties=oe.allSchemaProperties=oe.noPropertyInData=oe.propertyInData=oe.isOwnProperty=oe.hasPropFunc=oe.reportMissingProp=oe.checkMissingProp=oe.checkReportMissingProp=void 0;var fe=q(),Bl=Q(),gr=Qt(),b$=Q();function w$(t,e){let{gen:r,data:n,it:o}=t;r.if(Kl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,fe._)`${e}`},!0),t.error()})}oe.checkReportMissingProp=w$;function E$({gen:t,data:e,it:{opts:r}},n,o){return(0,fe.or)(...n.map(s=>(0,fe.and)(Kl(t,e,s,r.ownProperties),(0,fe._)`${o} = ${s}`)))}oe.checkMissingProp=E$;function T$(t,e){t.setParams({missingProperty:e},!0),t.error()}oe.reportMissingProp=T$;function qg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,fe._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=qg;function Vl(t,e,r){return(0,fe._)`${qg(t)}.call(${e}, ${r})`}oe.isOwnProperty=Vl;function $$(t,e,r,n){let o=(0,fe._)`${e}${(0,fe.getProperty)(r)} !== undefined`;return n?(0,fe._)`${o} && ${Vl(t,e,r)}`:o}oe.propertyInData=$$;function Kl(t,e,r,n){let o=(0,fe._)`${e}${(0,fe.getProperty)(r)} === undefined`;return n?(0,fe.or)(o,(0,fe.not)(Vl(t,e,r))):o}oe.noPropertyInData=Kl;function Bg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}oe.allSchemaProperties=Bg;function P$(t,e){return Bg(e).filter(r=>!(0,Bl.alwaysValidSchema)(t,e[r]))}oe.schemaProperties=P$;function R$({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,fe._)`${t}, ${e}, ${n}${o}`:e,d=[[gr.default.instancePath,(0,fe.strConcat)(gr.default.instancePath,s)],[gr.default.parentData,i.parentData],[gr.default.parentDataProperty,i.parentDataProperty],[gr.default.rootData,gr.default.rootData]];i.opts.dynamicRef&&d.push([gr.default.dynamicAnchors,gr.default.dynamicAnchors]);let f=(0,fe._)`${l}, ${r.object(...d)}`;return c!==fe.nil?(0,fe._)`${a}.call(${c}, ${f})`:(0,fe._)`${a}(${f})`}oe.callValidateCode=R$;var O$=(0,fe._)`new RegExp`;function C$({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,fe._)`${o.code==="new RegExp"?O$:(0,b$.useFunc)(t,o)}(${r}, ${n})`})}oe.usePattern=C$;function I$(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,fe._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Bl.Type.Num},s),e.if((0,fe.not)(s),a)})}}oe.validateArray=I$;function z$(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Bl.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,fe._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,fe.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}oe.validateUnion=z$});var Jg=T(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.validateKeywordUsage=At.validSchemaType=At.funcKeywordCode=At.macroKeywordCode=void 0;var Ke=q(),sn=Qt(),N$=ft(),A$=Yo();function j$(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Kg(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ke.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}At.macroKeywordCode=j$;function M$(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;L$(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Kg(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&&Vg(t),g(()=>t.error());else{let _=e.async?m():p();e.modifying&&Vg(t),g(()=>D$(t,_))}}function m(){let _=n.let("ruleErrs",null);return n.try(()=>h((0,Ke._)`await `),x=>n.assign(d,!1).if((0,Ke._)`${x} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Ke._)`${x}.errors`),()=>n.throw(x))),_}function p(){let _=(0,Ke._)`${l}.errors`;return n.assign(_,null),h(Ke.nil),_}function h(_=e.async?(0,Ke._)`await `:Ke.nil){let x=c.opts.passContext?sn.default.this:sn.default.self,S=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ke._)`${_}${(0,N$.callValidateCode)(t,l,x,S)}`,e.modifying)}function g(_){var x;n.if((0,Ke.not)((x=e.valid)!==null&&x!==void 0?x:d),_)}}At.funcKeywordCode=M$;function Vg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ke._)`${n.parentData}[${n.parentDataProperty}]`))}function D$(t,e){let{gen:r}=t;r.if((0,Ke._)`Array.isArray(${e})`,()=>{r.assign(sn.default.vErrors,(0,Ke._)`${sn.default.vErrors} === null ? ${e} : ${sn.default.vErrors}.concat(${e})`).assign(sn.default.errors,(0,Ke._)`${sn.default.vErrors}.length`),(0,A$.extendErrors)(t)},()=>t.error())}function L$({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Kg(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ke.stringify)(r)})}function Z$(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}At.validSchemaType=Z$;function U$({schema:t,opts:e,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}At.validateKeywordUsage=U$});var Gg=T(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.extendSubschemaMode=_r.extendSubschemaData=_r.getSubschema=void 0;var jt=q(),Wg=Q();function H$(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}${(0,jt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Wg.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}_r.getSubschema=H$;function F$(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,jt._)`${e.data}${(0,jt.getProperty)(r)}`,!0);c(f),t.errorPath=(0,jt.str)`${u}${(0,Wg.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,jt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof jt.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}_r.extendSubschemaData=F$;function q$(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}_r.extendSubschemaMode=q$});var Jl=T((MM,Yg)=>{"use strict";Yg.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 Qg=T((DM,Xg)=>{"use strict";var yr=Xg.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Li(e,n,o,t,"",t)};yr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Li(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in yr.arrayKeywords)for(var f=0;f{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.getSchemaRefs=rt.resolveUrl=rt.normalizeId=rt._getFullPath=rt.getFullPath=rt.inlineRef=void 0;var V$=Q(),K$=Jl(),J$=Qg(),W$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function G$(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Wl(t):e?e_(t)<=e:!1}rt.inlineRef=G$;var Y$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Wl(t){for(let e in t){if(Y$.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Wl)||typeof r=="object"&&Wl(r))return!0}return!1}function e_(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!W$.has(r)&&(typeof t[r]=="object"&&(0,V$.eachItem)(t[r],n=>e+=e_(n)),e===1/0))return 1/0}return e}function t_(t,e="",r){r!==!1&&(e=Bn(e));let n=t.parse(e);return r_(t,n)}rt.getFullPath=t_;function r_(t,e){return t.serialize(e).split("#")[0]+"#"}rt._getFullPath=r_;var X$=/#\/?$/;function Bn(t){return t?t.replace(X$,""):""}rt.normalizeId=Bn;function Q$(t,e,r){return r=Bn(r),t.resolve(e,r)}rt.resolveUrl=Q$;var e0=/^[a-z_][-a-z0-9._]*$/i;function t0(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Bn(t[r]||e),s={"":o},i=t_(n,o,!1),a={},c=new Set;return J$(t,{allKeys:!0},(d,f,m,p)=>{if(p===void 0)return;let h=i+f,g=s[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),x.call(this,d.$anchor),x.call(this,d.$dynamicAnchor),s[f]=g;function _(S){let w=this.opts.uriResolver.resolve;if(S=Bn(g?w(g,S):S),c.has(S))throw l(S);c.add(S);let z=this.refs[S];return typeof z=="string"&&(z=this.refs[z]),typeof z=="object"?u(d,z.schema,S):S!==Bn(h)&&(S[0]==="#"?(u(d,a[S],S),a[S]=d):this.refs[S]=h),S}function x(S){if(typeof S=="string"){if(!e0.test(S))throw new Error(`invalid anchor "${S}"`);_.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!K$(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}rt.getSchemaRefs=t0});var rs=T(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.getData=xr.KeywordCxt=xr.validateFunctionCode=void 0;var a_=jg(),n_=Xo(),Yl=Ul(),Zi=Xo(),r0=Fg(),ts=Jg(),Gl=Gg(),I=q(),Z=Qt(),n0=Qo(),er=Q(),es=Yo();function o0(t){if(l_(t)&&(d_(t),u_(t))){a0(t);return}c_(t,()=>(0,a_.topBoolOrEmptySchema)(t))}xr.validateFunctionCode=o0;function c_({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,I._)`${Z.default.data}, ${Z.default.valCxt}`,n.$async,()=>{t.code((0,I._)`"use strict"; ${o_(r,o)}`),i0(t,o),t.code(s)}):t.func(e,(0,I._)`${Z.default.data}, ${s0(o)}`,n.$async,()=>t.code(o_(r,o)).code(s))}function s0(t){return(0,I._)`{${Z.default.instancePath}="", ${Z.default.parentData}, ${Z.default.parentDataProperty}, ${Z.default.rootData}=${Z.default.data}${t.dynamicRef?(0,I._)`, ${Z.default.dynamicAnchors}={}`:I.nil}}={}`}function i0(t,e){t.if(Z.default.valCxt,()=>{t.var(Z.default.instancePath,(0,I._)`${Z.default.valCxt}.${Z.default.instancePath}`),t.var(Z.default.parentData,(0,I._)`${Z.default.valCxt}.${Z.default.parentData}`),t.var(Z.default.parentDataProperty,(0,I._)`${Z.default.valCxt}.${Z.default.parentDataProperty}`),t.var(Z.default.rootData,(0,I._)`${Z.default.valCxt}.${Z.default.rootData}`),e.dynamicRef&&t.var(Z.default.dynamicAnchors,(0,I._)`${Z.default.valCxt}.${Z.default.dynamicAnchors}`)},()=>{t.var(Z.default.instancePath,(0,I._)`""`),t.var(Z.default.parentData,(0,I._)`undefined`),t.var(Z.default.parentDataProperty,(0,I._)`undefined`),t.var(Z.default.rootData,Z.default.data),e.dynamicRef&&t.var(Z.default.dynamicAnchors,(0,I._)`{}`)})}function a0(t){let{schema:e,opts:r,gen:n}=t;c_(t,()=>{r.$comment&&e.$comment&&f_(t),p0(t),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&c0(t),p_(t),h0(t)})}function c0(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,I._)`${r}.evaluated`),e.if((0,I._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,I._)`${t.evaluated}.props`,(0,I._)`undefined`)),e.if((0,I._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,I._)`${t.evaluated}.items`,(0,I._)`undefined`))}function o_(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,I._)`/*# sourceURL=${r} */`:I.nil}function u0(t,e){if(l_(t)&&(d_(t),u_(t))){l0(t,e);return}(0,a_.boolOrEmptySchema)(t,e)}function u_({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 l_(t){return typeof t.schema!="boolean"}function l0(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&f_(t),f0(t),m0(t);let s=n.const("_errs",Z.default.errors);p_(t,s),n.var(e,(0,I._)`${s} === ${Z.default.errors}`)}function d_(t){(0,er.checkUnknownRules)(t),d0(t)}function p_(t,e){if(t.opts.jtd)return s_(t,[],!1,e);let r=(0,n_.getSchemaTypes)(t.schema),n=(0,n_.coerceAndCheckDataType)(t,r);s_(t,r,!n,e)}function d0(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,er.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function p0(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,er.checkStrictMode)(t,"default is ignored in the schema root")}function f0(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,n0.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function m0(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function f_({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,I._)`${Z.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,I.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,I._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function h0(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,I._)`${Z.default.errors} === 0`,()=>e.return(Z.default.data),()=>e.throw((0,I._)`new ${o}(${Z.default.vErrors})`)):(e.assign((0,I._)`${n}.errors`,Z.default.vErrors),s.unevaluated&&g0(t),e.return((0,I._)`${Z.default.errors} === 0`))}function g0({gen:t,evaluated:e,props:r,items:n}){r instanceof I.Name&&t.assign((0,I._)`${e}.props`,r),n instanceof I.Name&&t.assign((0,I._)`${e}.items`,n)}function s_(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,er.schemaHasRulesButRef)(s,l))){o.block(()=>h_(t,"$ref",l.all.$ref.definition));return}c.jtd||_0(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Yl.shouldUseGroup)(s,f)&&(f.type?(o.if((0,Zi.checkDataType)(f.type,i,c.strictNumbers)),i_(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Zi.reportTypeError)(t)),o.endIf()):i_(t,f),a||o.if((0,I._)`${Z.default.errors} === ${n||0}`))}}function i_(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,r0.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Yl.shouldUseRule)(n,s)&&h_(t,s.keyword,s.definition,e.type)})}function _0(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(y0(t,e),t.opts.allowUnionTypes||x0(t,e),v0(t,t.dataTypes))}function y0(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{m_(t.dataTypes,r)||Xl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),k0(t,e)}}function x0(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Xl(t,"use allowUnionTypes to allow union type keyword")}function v0(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Yl.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>S0(e,i))&&Xl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function S0(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function m_(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function k0(t,e){let r=[];for(let n of t.dataTypes)m_(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Xl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,er.checkStrictMode)(t,e,t.opts.strictTypes)}var Ui=class{constructor(e,r,n){if((0,ts.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,er.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",g_(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ts.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Z.default.errors))}result(e,r,n){this.failResult((0,I.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,I.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,I._)`${r} !== undefined && (${(0,I.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?es.reportExtraError:es.reportError)(this,this.def.error,r)}$dataError(){(0,es.reportError)(this,this.def.$dataError||es.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,es.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=I.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=I.nil,r=I.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,I.or)((0,I._)`${o} === undefined`,r)),e!==I.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==I.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,I.or)(i(),a());function i(){if(n.length){if(!(r instanceof I.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,I._)`${(0,Zi.checkDataTypes)(c,r,s.opts.strictNumbers,Zi.DataType.Wrong)}`}return I.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,I._)`!${c}(${r})`}return I.nil}}subschema(e,r){let n=(0,Gl.getSubschema)(this.it,e);(0,Gl.extendSubschemaData)(n,this.it,e),(0,Gl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return u0(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=er.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=er.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,I.Name)),!0}};xr.KeywordCxt=Ui;function h_(t,e,r,n){let o=new Ui(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,ts.funcKeywordCode)(o,r):"macro"in r?(0,ts.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,ts.funcKeywordCode)(o,r)}var b0=/^\/(?:[^~]|~0|~1)*$/,w0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function g_(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return Z.default.rootData;if(t[0]==="/"){if(!b0.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=Z.default.rootData}else{let u=w0.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,I._)`${s}${(0,I.getProperty)((0,er.unescapeJsonPointer)(u))}`,i=(0,I._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}xr.getData=g_});var Hi=T(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});var Ql=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};ed.default=Ql});var ns=T(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var td=Qo(),rd=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,td.resolveUrl)(e,r,n),this.missingSchema=(0,td.normalizeId)((0,td.getFullPath)(e,this.missingRef))}};nd.default=rd});var qi=T(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.resolveSchema=mt.getCompilingSchema=mt.resolveRef=mt.compileSchema=mt.SchemaEnv=void 0;var bt=q(),E0=Hi(),an=Qt(),wt=Qo(),__=Q(),T0=rs(),Vn=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,wt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};mt.SchemaEnv=Vn;function sd(t){let e=y_.call(this,t);if(e)return e;let r=(0,wt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new bt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:E0.default,code:(0,bt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:an.default.data,parentData:an.default.parentData,parentDataProperty:an.default.parentDataProperty,dataNames:[an.default.data],dataPathArr:[bt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,bt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:bt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,bt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,T0.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(an.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${an.default.self}`,`${an.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:h}=u;m.evaluated={props:p instanceof bt.Name?void 0:p,items:h instanceof bt.Name?void 0:h,dynamicProps:p instanceof bt.Name,dynamicItems:h instanceof bt.Name},m.source&&(m.source.evaluated=(0,bt.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}mt.compileSchema=sd;function $0(t,e,r){var n;r=(0,wt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=O0.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Vn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=P0.call(this,s)}mt.resolveRef=$0;function P0(t){return(0,wt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:sd.call(this,t)}function y_(t){for(let e of this._compilations)if(R0(e,t))return e}mt.getCompilingSchema=y_;function R0(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function O0(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Fi.call(this,t,e)}function Fi(t,e){let r=this.opts.uriResolver.parse(e),n=(0,wt._getFullPath)(this.opts.uriResolver,r),o=(0,wt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return od.call(this,r,t);let s=(0,wt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Fi.call(this,t,i);return typeof a?.schema!="object"?void 0:od.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||sd.call(this,i),s===(0,wt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,wt.resolveUrl)(this.opts.uriResolver,o,u)),new Vn({schema:a,schemaId:c,root:t,baseId:o})}return od.call(this,r,i)}}mt.resolveSchema=Fi;var C0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function od(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,__.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!C0.has(a)&&u&&(e=(0,wt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,__.schemaHasRulesButRef)(r,this.RULES)){let a=(0,wt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Fi.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Vn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var x_=T((qM,I0)=>{I0.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var ad=T((BM,b_)=>{"use strict";var z0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),S_=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function id(t){let e="",r=0,n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var N0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function v_(t){return t.length=0,!0}function A0(t,e,r){if(t.length){let n=id(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function j0(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=A0;for(let c=0;c7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=v_}else{o.push(u);continue}}return o.length&&(a===v_?r.zone=o.join(""):i?n.push(o.join("")):n.push(id(o))),r.address=n.join(""),r}function k_(t){if(M0(t,":")<2)return{host:t,isIPV6:!1};let e=j0(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function M0(t,e){let r=0;for(let n=0;n{"use strict";var{isUUID:U0}=ad(),H0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,F0=["http","https","ws","wss","urn","urn:uuid"];function q0(t){return F0.indexOf(t)!==-1}function cd(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function w_(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function E_(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function B0(t){return t.secure=cd(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function V0(t){if((t.port===(cd(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function K0(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(H0);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=ud(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function J0(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=ud(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function W0(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!U0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function G0(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var T_={scheme:"http",domainHost:!0,parse:w_,serialize:E_},Y0={scheme:"https",domainHost:T_.domainHost,parse:w_,serialize:E_},Bi={scheme:"ws",domainHost:!0,parse:B0,serialize:V0},X0={scheme:"wss",domainHost:Bi.domainHost,parse:Bi.parse,serialize:Bi.serialize},Q0={scheme:"urn",parse:K0,serialize:J0,skipNormalize:!0},eP={scheme:"urn:uuid",parse:W0,serialize:G0,skipNormalize:!0},Vi={http:T_,https:Y0,ws:Bi,wss:X0,urn:Q0,"urn:uuid":eP};Object.setPrototypeOf(Vi,null);function ud(t){return t&&(Vi[t]||Vi[t.toLowerCase()])||void 0}$_.exports={wsIsSecure:cd,SCHEMES:Vi,isValidSchemeName:q0,getSchemeHandler:ud}});var C_=T((KM,Ji)=>{"use strict";var{normalizeIPv6:tP,removeDotSegments:os,recomposeAuthority:rP,normalizeComponentEncoding:Ki,isIPv4:nP,nonSimpleDomain:oP}=ad(),{SCHEMES:sP,getSchemeHandler:R_}=P_();function iP(t,e){return typeof t=="string"?t=Mt(tr(t,e),e):typeof t=="object"&&(t=tr(Mt(t,e),e)),t}function aP(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=O_(tr(t,n),tr(e,n),n,!0);return n.skipEscape=!0,Mt(o,n)}function O_(t,e,r,n){let o={};return n||(t=tr(Mt(t,r),r),e=tr(Mt(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=os(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=os(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=os(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=os(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function cP(t,e,r){return typeof t=="string"?(t=unescape(t),t=Mt(Ki(tr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Mt(Ki(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Mt(Ki(tr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Mt(Ki(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Mt(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=R_(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=rP(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=os(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var uP=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function tr(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(uP);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(nP(n.host)===!1){let c=tP(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let i=R_(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&oP(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var ld={SCHEMES:sP,normalize:iP,resolve:aP,resolveComponent:O_,equal:cP,serialize:Mt,parse:tr};Ji.exports=ld;Ji.exports.default=ld;Ji.exports.fastUri=ld});var z_=T(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var I_=C_();I_.code='require("ajv/dist/runtime/uri").default';dd.default=I_});var U_=T(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.CodeGen=Ae.Name=Ae.nil=Ae.stringify=Ae.str=Ae._=Ae.KeywordCxt=void 0;var lP=rs();Object.defineProperty(Ae,"KeywordCxt",{enumerable:!0,get:function(){return lP.KeywordCxt}});var Kn=q();Object.defineProperty(Ae,"_",{enumerable:!0,get:function(){return Kn._}});Object.defineProperty(Ae,"str",{enumerable:!0,get:function(){return Kn.str}});Object.defineProperty(Ae,"stringify",{enumerable:!0,get:function(){return Kn.stringify}});Object.defineProperty(Ae,"nil",{enumerable:!0,get:function(){return Kn.nil}});Object.defineProperty(Ae,"Name",{enumerable:!0,get:function(){return Kn.Name}});Object.defineProperty(Ae,"CodeGen",{enumerable:!0,get:function(){return Kn.CodeGen}});var dP=Hi(),D_=ns(),pP=Zl(),ss=qi(),fP=q(),is=Qo(),Wi=Xo(),fd=Q(),N_=x_(),mP=z_(),L_=(t,e)=>new RegExp(t,e);L_.code="new RegExp";var hP=["removeAdditional","useDefaults","coerceTypes"],gP=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),_P={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},yP={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},A_=200;function xP(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,_,x,S,w,z,de,Te,K,Le;let Se=t.strict,Or=(e=t.code)===null||e===void 0?void 0:e.optimize,bf=Or===!0||Or===void 0?1:Or||0,wf=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:L_,yS=(o=t.uriResolver)!==null&&o!==void 0?o:mP.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Se)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Se)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Se)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:Se)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:Se)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:bf,regExp:wf}:{optimize:bf,regExp:wf},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:(z=t.addUsedSchema)!==null&&z!==void 0?z:!0,validateSchema:(de=t.validateSchema)!==null&&de!==void 0?de:!0,validateFormats:(Te=t.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(K=t.unicodeRegExp)!==null&&K!==void 0?K:!0,int32range:(Le=t.int32range)!==null&&Le!==void 0?Le:!0,uriResolver:yS}}var as=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...xP(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new fP.ValueScope({scope:{},prefixes:gP,es5:r,lines:n}),this.logger=EP(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,pP.getRules)(),j_.call(this,_P,e,"NOT SUPPORTED"),j_.call(this,yP,e,"DEPRECATED","warn"),this._metaOpts=bP.call(this),e.formats&&SP.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&kP.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),vP.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=N_;n==="id"&&(o={...N_},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 D_.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,is.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=M_.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ss.SchemaEnv({schema:{},schemaId:n});if(r=ss.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=M_.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,is.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if($P.call(this,n,r),!r)return(0,fd.eachItem)(n,s=>pd.call(this,s)),this;RP.call(this,r);let o={...r,type:(0,Wi.getJSONTypes)(r.type),schemaType:(0,Wi.getJSONTypes)(r.schemaType)};return(0,fd.eachItem)(n,o.type.length===0?s=>pd.call(this,s,o):s=>o.type.forEach(i=>pd.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=Z_(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,is.normalizeId)(i||n);let u=is.getSchemaRefs.call(this,e,n);return c=new ss.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):ss.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{ss.compileSchema.call(this,e)}finally{this.opts=r}}};as.ValidationError=dP.default;as.MissingRefError=D_.default;Ae.default=as;function j_(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 M_(t){return t=(0,is.normalizeId)(t),this.schemas[t]||this.refs[t]}function vP(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function SP(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function kP(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function bP(){let t={...this.opts};for(let e of hP)delete t[e];return t}var wP={log(){},warn(){},error(){}};function EP(t){if(t===!1)return wP;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var TP=/^[a-z_$][a-z0-9_$:-]*$/i;function $P(t,e){let{RULES:r}=this;if((0,fd.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!TP.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function pd(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Wi.getJSONTypes)(e.type),schemaType:(0,Wi.getJSONTypes)(e.schemaType)}};e.before?PP.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function PP(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function RP(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Z_(e)),t.validateSchema=this.compile(e,!0))}var OP={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Z_(t){return{anyOf:[t,OP]}}});var H_=T(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var CP={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};md.default=CP});var V_=T(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.callRef=cn.getValidate=void 0;var IP=ns(),F_=ft(),nt=q(),Jn=Qt(),q_=qi(),Gi=Q(),zP={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=q_.resolveRef.call(c,u,o,r);if(l===void 0)throw new IP.default(n.opts.uriResolver,o,r);if(l instanceof q_.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return Yi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Yi(t,(0,nt._)`${p}.validate`,u,u.$async)}function f(p){let h=B_(t,p);Yi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,nt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:nt.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function B_(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,nt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}cn.getValidate=B_;function Yi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Jn.default.this:nt.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=o.let("valid");o.try(()=>{o.code((0,nt._)`await ${(0,F_.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,nt._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,F_.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,nt._)`${p}.errors`;o.assign(Jn.default.vErrors,(0,nt._)`${Jn.default.vErrors} === null ? ${h} : ${Jn.default.vErrors}.concat(${h})`),o.assign(Jn.default.errors,(0,nt._)`${Jn.default.vErrors}.length`)}function m(p){var h;if(!s.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=Gi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,nt._)`${p}.evaluated.props`);s.props=Gi.mergeEvaluated.props(o,_,s.props,nt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Gi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,nt._)`${p}.evaluated.items`);s.items=Gi.mergeEvaluated.items(o,_,s.items,nt.Name)}}}cn.callRef=Yi;cn.default=zP});var K_=T(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var NP=H_(),AP=V_(),jP=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",NP.default,AP.default];hd.default=jP});var J_=T(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Xi=q(),vr=Xi.operators,Qi={maximum:{okStr:"<=",ok:vr.LTE,fail:vr.GT},minimum:{okStr:">=",ok:vr.GTE,fail:vr.LT},exclusiveMaximum:{okStr:"<",ok:vr.LT,fail:vr.GTE},exclusiveMinimum:{okStr:">",ok:vr.GT,fail:vr.LTE}},MP={message:({keyword:t,schemaCode:e})=>(0,Xi.str)`must be ${Qi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Xi._)`{comparison: ${Qi[t].okStr}, limit: ${e}}`},DP={keyword:Object.keys(Qi),type:"number",schemaType:"number",$data:!0,error:MP,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Xi._)`${r} ${Qi[e].fail} ${n} || isNaN(${r})`)}};gd.default=DP});var W_=T(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var cs=q(),LP={message:({schemaCode:t})=>(0,cs.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,cs._)`{multipleOf: ${t}}`},ZP={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:LP,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,cs._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,cs._)`${i} !== parseInt(${i})`;t.fail$data((0,cs._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};_d.default=ZP});var Y_=T(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});function G_(t){let e=t.length,r=0,n=0,o;for(;n=55296&&o<=56319&&n{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var un=q(),UP=Q(),HP=Y_(),FP={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,un.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,un._)`{limit: ${t}}`},qP={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:FP,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?un.operators.GT:un.operators.LT,i=o.opts.unicode===!1?(0,un._)`${r}.length`:(0,un._)`${(0,UP.useFunc)(t.gen,HP.default)}(${r})`;t.fail$data((0,un._)`${i} ${s} ${n}`)}};xd.default=qP});var Q_=T(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var BP=ft(),VP=Q(),Wn=q(),KP={message:({schemaCode:t})=>(0,Wn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Wn._)`{pattern: ${t}}`},JP={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:KP,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Wn._)`new RegExp`:(0,VP.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Wn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Wn._)`!${l}`)}else{let c=(0,BP.usePattern)(t,o);t.fail$data((0,Wn._)`!${c}.test(${r})`)}}};vd.default=JP});var ey=T(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var us=q(),WP={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,us.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,us._)`{limit: ${t}}`},GP={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:WP,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?us.operators.GT:us.operators.LT;t.fail$data((0,us._)`Object.keys(${r}).length ${o} ${n}`)}};Sd.default=GP});var ty=T(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var ls=ft(),ds=q(),YP=Q(),XP={message:({params:{missingProperty:t}})=>(0,ds.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,ds._)`{missingProperty: ${t}}`},QP={keyword:"required",type:"object",schemaType:"array",$data:!0,error:XP,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:p}=t.it;for(let h of r)if(m?.[h]===void 0&&!p.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,YP.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(ds.nil,d);else for(let m of r)(0,ls.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>f(m,p)),t.ok(p)}else e.if((0,ls.checkMissingProp)(t,r,m)),(0,ls.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",n,m=>{t.setParams({missingProperty:m}),e.if((0,ls.noPropertyInData)(e,o,m,a.ownProperties),()=>t.error())})}function f(m,p){t.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(p,(0,ls.propertyInData)(e,o,m,a.ownProperties)),e.if((0,ds.not)(p),()=>{t.error(),e.break()})},ds.nil)}}};kd.default=QP});var ry=T(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var ps=q(),eR={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ps.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ps._)`{limit: ${t}}`},tR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:eR,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?ps.operators.GT:ps.operators.LT;t.fail$data((0,ps._)`${r}.length ${o} ${n}`)}};bd.default=tR});var ea=T(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var ny=Jl();ny.code='require("ajv/dist/runtime/equal").default';wd.default=ny});var oy=T(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var Ed=Xo(),je=q(),rR=Q(),nR=ea(),oR={message:({params:{i:t,j:e}})=>(0,je.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,je._)`{i: ${t}, j: ${e}}`},sR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:oR,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,Ed.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,je._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,je._)`${r}.length`),h=e.let("j");t.setParams({i:p,j:h}),e.assign(c,!0),e.if((0,je._)`${p} > 1`,()=>(d()?f:m)(p,h))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,h){let g=e.name("item"),_=(0,Ed.checkDataTypes)(u,g,a.opts.strictNumbers,Ed.DataType.Wrong),x=e.const("indices",(0,je._)`{}`);e.for((0,je._)`;${p}--;`,()=>{e.let(g,(0,je._)`${r}[${p}]`),e.if(_,(0,je._)`continue`),u.length>1&&e.if((0,je._)`typeof ${g} == "string"`,(0,je._)`${g} += "_"`),e.if((0,je._)`typeof ${x}[${g}] == "number"`,()=>{e.assign(h,(0,je._)`${x}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,je._)`${x}[${g}] = ${p}`)})}function m(p,h){let g=(0,rR.useFunc)(e,nR.default),_=e.name("outer");e.label(_).for((0,je._)`;${p}--;`,()=>e.for((0,je._)`${h} = ${p}; ${h}--;`,()=>e.if((0,je._)`${g}(${r}[${p}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Td.default=sR});var sy=T(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var $d=q(),iR=Q(),aR=ea(),cR={message:"must be equal to constant",params:({schemaCode:t})=>(0,$d._)`{allowedValue: ${t}}`},uR={keyword:"const",$data:!0,error:cR,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,$d._)`!${(0,iR.useFunc)(e,aR.default)}(${r}, ${o})`):t.fail((0,$d._)`${s} !== ${r}`)}};Pd.default=uR});var iy=T(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var fs=q(),lR=Q(),dR=ea(),pR={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,fs._)`{allowedValues: ${t}}`},fR={keyword:"enum",schemaType:"array",$data:!0,error:pR,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,lR.useFunc)(e,dR.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=e.const("vSchema",s);l=(0,fs.or)(...o.map((p,h)=>f(m,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,m=>e.if((0,fs._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function f(m,p){let h=o[p];return typeof h=="object"&&h!==null?(0,fs._)`${u()}(${r}, ${m}[${p}])`:(0,fs._)`${r} === ${h}`}}};Rd.default=fR});var ay=T(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var mR=J_(),hR=W_(),gR=X_(),_R=Q_(),yR=ey(),xR=ty(),vR=ry(),SR=oy(),kR=sy(),bR=iy(),wR=[mR.default,hR.default,gR.default,_R.default,yR.default,xR.default,vR.default,SR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},kR.default,bR.default];Od.default=wR});var Id=T(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.validateAdditionalItems=void 0;var ln=q(),Cd=Q(),ER={message:({params:{len:t}})=>(0,ln.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ln._)`{limit: ${t}}`},TR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:ER,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Cd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}cy(t,n)}};function cy(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,ln._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ln._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Cd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,ln._)`${a} <= ${e.length}`);r.if((0,ln.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Cd.Type.Num},u),i.allErrors||r.if((0,ln.not)(u),()=>r.break())})}}ms.validateAdditionalItems=cy;ms.default=TR});var zd=T(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.validateTuple=void 0;var uy=q(),ta=Q(),$R=ft(),PR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return ly(t,"additionalItems",e);r.items=!0,!(0,ta.alwaysValidSchema)(r,e)&&t.ok((0,$R.validateArray)(t))}};function ly(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=ta.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,uy._)`${s}.length`);r.forEach((d,f)=>{(0,ta.alwaysValidSchema)(a,d)||(n.if((0,uy._)`${u} > ${f}`,()=>t.subschema({keyword:i,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:m}=a,p=r.length,h=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,ta.checkStrictMode)(a,g,f.strictTuples)}}}hs.validateTuple=ly;hs.default=PR});var dy=T(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var RR=zd(),OR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,RR.validateTuple)(t,"items")};Nd.default=OR});var fy=T(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var py=q(),CR=Q(),IR=ft(),zR=Id(),NR={message:({params:{len:t}})=>(0,py.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,py._)`{limit: ${t}}`},AR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:NR,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,CR.alwaysValidSchema)(n,e)&&(o?(0,zR.validateAdditionalItems)(t,o):t.ok((0,IR.validateArray)(t)))}};Ad.default=AR});var my=T(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var ht=q(),ra=Q(),jR={message:({params:{min:t,max:e}})=>e===void 0?(0,ht.str)`must contain at least ${t} valid item(s)`:(0,ht.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ht._)`{minContains: ${t}}`:(0,ht._)`{minContains: ${t}, maxContains: ${e}}`},MR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:jR,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,ht._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,ra.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,ra.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,ra.alwaysValidSchema)(s,r)){let h=(0,ht._)`${l} >= ${i}`;a!==void 0&&(h=(0,ht._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,ht._)`${o}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>p(g)))}function m(h,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:ra.Type.Num,compositeRule:!0},h),g()})}function p(h){e.code((0,ht._)`${h}++`),a===void 0?e.if((0,ht._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,ht._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,ht._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};jd.default=MR});var _y=T(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.validateSchemaDeps=Dt.validatePropertyDeps=Dt.error=void 0;var Md=q(),DR=Q(),gs=ft();Dt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Md.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Md._)`{property: ${t}, missingProperty: ${n}, depsCount: ${e}, - deps: ${r}}`};var LR={keyword:"dependencies",type:"object",schemaType:"object",error:Dt.error,code(t){let[e,r]=ZR(t);gy(t,e),_y(t,r)}};function ZR({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function gy(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,gs.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,gs.checkReportMissingProp)(t,u)}):(r.if((0,Md._)`${c} && (${(0,gs.checkMissingProp)(t,a,s)})`),(0,gs.reportMissingProp)(t,s),r.else())}}Dt.validatePropertyDeps=gy;function _y(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,DR.alwaysValidSchema)(s,e[a])||(r.if((0,gs.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Dt.validateSchemaDeps=_y;Dt.default=LR});var vy=T(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var xy=F(),UR=Q(),HR={message:"property name must be valid",params:({params:t})=>(0,xy._)`{propertyName: ${t.propertyName}}`},qR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:HR,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,UR.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,xy.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Dd.default=qR});var Zd=T(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var na=ft(),Et=F(),FR=Qt(),oa=Q(),BR={message:"must NOT have additional properties",params:({params:t})=>(0,Et._)`{additionalProperty: ${t.additionalProperty}}`},VR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:BR,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,oa.alwaysValidSchema)(i,r))return;let u=(0,na.allSchemaProperties)(n.properties),l=(0,na.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Et._)`${s} === ${FR.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let x=(0,oa.schemaRefOrVal)(i,n.properties,"properties");_=(0,na.isOwnProperty)(e,x,g)}else u.length?_=(0,Et.or)(...u.map(x=>(0,Et._)`${g} === ${x}`)):_=Et.nil;return l.length&&(_=(0,Et.or)(_,...l.map(x=>(0,Et._)`${(0,na.usePattern)(t,x)}.test(${g})`))),(0,Et.not)(_)}function m(g){e.code((0,Et._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,oa.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(h(g,_,!1),e.if((0,Et.not)(_),()=>{t.reset(),m(g)})):(h(g,_),a||e.if((0,Et.not)(_),()=>e.break()))}}function h(g,_,x){let S={keyword:"additionalProperties",dataProp:g,dataPropType:oa.Type.Str};x===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,_)}}};Ld.default=VR});var by=T(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var KR=rs(),Sy=ft(),Ud=Q(),ky=Zd(),JR={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&ky.default.code(new KR.KeywordCxt(s,ky.default,"additionalProperties"));let i=(0,Sy.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Ud.mergeEvaluated.props(e,(0,Ud.toHash)(i),s.props));let a=i.filter(d=>!(0,Ud.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,Sy.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Hd.default=JR});var $y=T(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var wy=ft(),sa=F(),Ey=Q(),Ty=Q(),WR={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,wy.allSchemaProperties)(r),c=a.filter(h=>(0,Ey.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof sa.Name)&&(s.props=(0,Ty.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let h of a)u&&m(h),s.allErrors?p(h):(e.var(l,!0),p(h),e.if(l))}function m(h){for(let g in u)new RegExp(h).test(g)&&(0,Ey.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,sa._)`${(0,wy.usePattern)(t,h)}.test(${g})`,()=>{let _=c.includes(h);_||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:Ty.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,sa._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,sa.not)(l),()=>e.break())})})}}};qd.default=WR});var Py=T(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var GR=Q(),YR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,GR.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};Fd.default=YR});var Ry=T(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var XR=ft(),QR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:XR.validateUnion,error:{message:"must match a schema in anyOf"}};Bd.default=QR});var Oy=T(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var ia=F(),eO=Q(),tO={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,ia._)`{passingSchemas: ${t.passing}}`},rO={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:tO,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let f;(0,eO.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,ia._)`${c} && ${i}`).assign(i,!1).assign(a,(0,ia._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,ia.Name)})})}}};Vd.default=rO});var Cy=T(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var nO=Q(),oO={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,nO.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Kd.default=oO});var Ny=T(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var aa=F(),zy=Q(),sO={message:({params:t})=>(0,aa.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,aa._)`{failingKeyword: ${t.ifClause}}`},iO={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:sO,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,zy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Iy(n,"then"),s=Iy(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,aa.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(f,i),d?e.assign(d,(0,aa._)`${l}`):t.setParams({ifClause:l})}}}};function Iy(t,e){let r=t.schema[e];return r!==void 0&&!(0,zy.alwaysValidSchema)(t,r)}Jd.default=iO});var Ay=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var aO=Q(),cO={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,aO.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Wd.default=cO});var jy=T(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var uO=Id(),lO=py(),dO=zd(),pO=my(),fO=hy(),mO=yy(),hO=vy(),gO=Zd(),_O=by(),yO=$y(),xO=Py(),vO=Ry(),SO=Oy(),kO=Cy(),bO=Ny(),wO=Ay();function EO(t=!1){let e=[xO.default,vO.default,SO.default,kO.default,bO.default,wO.default,hO.default,gO.default,mO.default,_O.default,yO.default];return t?e.push(lO.default,pO.default):e.push(uO.default,dO.default),e.push(fO.default),e}Gd.default=EO});var My=T(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var ke=F(),TO={message:({schemaCode:t})=>(0,ke.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ke._)`{format: ${t}}`},$O={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:TO,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?f():m();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ke._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,ke._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,ke._)`${h}.type || "string"`).assign(_,(0,ke._)`${h}.validate`),()=>r.assign(g,(0,ke._)`"string"`).assign(_,h)),t.fail$data((0,ke.or)(x(),S()));function x(){return c.strictSchema===!1?ke.nil:(0,ke._)`${i} && !${_}`}function S(){let w=l.$async?(0,ke._)`(${h}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,ke._)`${_}(${n})`,z=(0,ke._)`(typeof ${_} == "function" ? ${w} : ${_}.test(${n}))`;return(0,ke._)`${_} && ${_} !== true && ${g} === ${e} && !${z}`}}function m(){let p=d.formats[s];if(!p){x();return}if(p===!0)return;let[h,g,_]=S(p);h===e&&t.pass(w());function x(){if(c.strictSchema===!1){d.logger.warn(z());return}throw new Error(z());function z(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(z){let de=z instanceof RegExp?(0,ke.regexpCode)(z):c.code.formats?(0,ke._)`${c.code.formats}${(0,ke.getProperty)(s)}`:void 0,Te=r.scopeValue("formats",{key:s,ref:z,code:de});return typeof z=="object"&&!(z instanceof RegExp)?[z.type||"string",z.validate,(0,ke._)`${Te}.validate`]:["string",z,Te]}function w(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ke._)`await ${_}(${n})`}return typeof g=="function"?(0,ke._)`${_}(${n})`:(0,ke._)`${_}.test(${n})`}}}};Yd.default=$O});var Dy=T(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var PO=My(),RO=[PO.default];Xd.default=RO});var Ly=T(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.contentVocabulary=Gn.metadataVocabulary=void 0;Gn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Gn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Uy=T(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var OO=J_(),CO=cy(),IO=jy(),zO=Dy(),Zy=Ly(),NO=[OO.default,CO.default,(0,IO.default)(),zO.default,Zy.metadataVocabulary,Zy.contentVocabulary];Qd.default=NO});var qy=T(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.DiscrError=void 0;var Hy;(function(t){t.Tag="tag",t.Mapping="mapping"})(Hy||(ca.DiscrError=Hy={}))});var By=T(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});var Yn=F(),ep=qy(),Fy=Fi(),AO=ns(),jO=Q(),MO={message:({params:{discrError:t,tagName:e}})=>t===ep.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Yn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},DO={keyword:"discriminator",type:"object",schemaType:"object",error:MO,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Yn._)`${r}${(0,Yn.getProperty)(a)}`);e.if((0,Yn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:ep.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=f();e.if(!1);for(let p in m)e.elseIf((0,Yn._)`${u} === ${p}`),e.assign(c,d(m[p]));e.else(),t.error(!1,{discrError:ep.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let p=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:m},p);return t.mergeEvaluated(h,Yn.Name),p}function f(){var m;let p={},h=_(o),g=!0;for(let w=0;w{LO.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var np=T((me,rp)=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.MissingRefError=me.ValidationError=me.CodeGen=me.Name=me.nil=me.stringify=me.str=me._=me.KeywordCxt=me.Ajv=void 0;var ZO=H_(),UO=Uy(),HO=By(),Ky=Vy(),qO=["/properties"],ua="http://json-schema.org/draft-07/schema",Xn=class extends ZO.default{_addVocabularies(){super._addVocabularies(),UO.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(HO.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Ky,qO):Ky;this.addMetaSchema(e,ua,!1),this.refs["http://json-schema.org/schema"]=ua}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ua)?ua:void 0)}};me.Ajv=Xn;rp.exports=me=Xn;rp.exports.Ajv=Xn;Object.defineProperty(me,"__esModule",{value:!0});me.default=Xn;var FO=rs();Object.defineProperty(me,"KeywordCxt",{enumerable:!0,get:function(){return FO.KeywordCxt}});var Qn=F();Object.defineProperty(me,"_",{enumerable:!0,get:function(){return Qn._}});Object.defineProperty(me,"str",{enumerable:!0,get:function(){return Qn.str}});Object.defineProperty(me,"stringify",{enumerable:!0,get:function(){return Qn.stringify}});Object.defineProperty(me,"nil",{enumerable:!0,get:function(){return Qn.nil}});Object.defineProperty(me,"Name",{enumerable:!0,get:function(){return Qn.Name}});Object.defineProperty(me,"CodeGen",{enumerable:!0,get:function(){return Qn.CodeGen}});var BO=Hi();Object.defineProperty(me,"ValidationError",{enumerable:!0,get:function(){return BO.default}});var VO=ns();Object.defineProperty(me,"MissingRefError",{enumerable:!0,get:function(){return VO.default}})});var tx=T(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.formatNames=Zt.fastFormats=Zt.fullFormats=void 0;function Lt(t,e){return{validate:t,compare:e}}Zt.fullFormats={date:Lt(Yy,ap),time:Lt(sp(!0),cp),"date-time":Lt(Jy(!0),Qy),"iso-time":Lt(sp(),Xy),"iso-date-time":Lt(Jy(),ex),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:XO,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:sC,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:QO,int32:{type:"number",validate:rC},int64:{type:"number",validate:nC},float:{type:"number",validate:Gy},double:{type:"number",validate:Gy},password:!0,binary:!0};Zt.fastFormats={...Zt.fullFormats,date:Lt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ap),time:Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,cp),"date-time":Lt(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Qy),"iso-time":Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Xy),"iso-date-time":Lt(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,ex),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Zt.formatNames=Object.keys(Zt.fullFormats);function KO(t){return t%4===0&&(t%100!==0||t%400===0)}var JO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,WO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Yy(t){let e=JO.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&KO(r)?29:WO[n])}function ap(t,e){if(t&&e)return t>e?1:t23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function cp(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function Xy(t,e){if(!(t&&e))return;let r=op.exec(t),n=op.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=eC}function nC(t){return Number.isInteger(t)}function Gy(){return!0}var oC=/[^\\]\\Z/;function sC(t){if(oC.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var rx=T(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.formatLimitDefinition=void 0;var iC=np(),Tt=F(),Sr=Tt.operators,la={formatMaximum:{okStr:"<=",ok:Sr.LTE,fail:Sr.GT},formatMinimum:{okStr:">=",ok:Sr.GTE,fail:Sr.LT},formatExclusiveMaximum:{okStr:"<",ok:Sr.LT,fail:Sr.GTE},formatExclusiveMinimum:{okStr:">",ok:Sr.GT,fail:Sr.LTE}},aC={message:({keyword:t,schemaCode:e})=>(0,Tt.str)`should be ${la[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Tt._)`{comparison: ${la[t].okStr}, limit: ${e}}`};eo.formatLimitDefinition={keyword:Object.keys(la),type:"string",schemaType:"string",$data:!0,error:aC,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new iC.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,Tt._)`${f}[${c.schemaCode}]`);t.fail$data((0,Tt.or)((0,Tt._)`typeof ${m} != "object"`,(0,Tt._)`${m} instanceof RegExp`,(0,Tt._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let p=e.scopeValue("formats",{key:f,ref:m,code:i.code.formats?(0,Tt._)`${i.code.formats}${(0,Tt.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,Tt._)`${f}.compare(${r}, ${n}) ${la[o].fail} 0`}},dependencies:["format"]};var cC=t=>(t.addKeyword(eo.formatLimitDefinition),t);eo.default=cC});var ix=T((_s,sx)=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});var to=tx(),uC=rx(),up=F(),nx=new up.Name("fullFormats"),lC=new up.Name("fastFormats"),lp=(t,e={keywords:!0})=>{if(Array.isArray(e))return ox(t,e,to.fullFormats,nx),t;let[r,n]=e.mode==="fast"?[to.fastFormats,lC]:[to.fullFormats,nx],o=e.formats||to.formatNames;return ox(t,o,r,n),e.keywords&&(0,uC.default)(t),t};lp.get=(t,e="full")=>{let n=(e==="fast"?to.fastFormats:to.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function ox(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,up._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}sx.exports=_s=lp;Object.defineProperty(_s,"__esModule",{value:!0});_s.default=lp});var Vx,Kx=$e(()=>{"use strict";Vx={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot",Codex:"codex","codex-mcp-client":"codex","Kilo Code":"kilo","Kiro CLI":"kiro","Pi CLI":"pi","Pi Coding Agent":"pi",Zed:"zed",zed:"zed"}});function ws(t,e){let r=bs[e],n=Ip(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function Ip(t,e){if(e){let r=bs[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function zp(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function Np(t){let e=Object.values(bs);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var Pt,GC,Jx,YC,WL,bs,Wx,GL,Gx=$e(()=>{"use strict";Pt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},GC=["Bash","WebFetch","Read","Grep","Agent","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],Jx=GC.join("|"),YC=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],WL=YC.join("|"),bs={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},Wx=[Pt.PRE_TOOL_USE,Pt.SESSION_START],GL=[Pt.POST_TOOL_USE,Pt.PRE_COMPACT,Pt.USER_PROMPT_SUBMIT]});var jp={};We(jp,{ClaudeCodeAdapter:()=>Ap});import{createHash as Yx}from"node:crypto";import{readFileSync as ba,writeFileSync as Xx,mkdirSync as XC,copyFileSync as QC,accessSync as Qx,existsSync as eI,readdirSync as tI,chmodSync as rI,constants as ev}from"node:fs";import{resolve as dn,join as Es}from"node:path";import{homedir as ao}from"node:os";var Ap,Mp=$e(()=>{"use strict";Gx();Ap=class{name="Claude Code";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{updatedInput:e.updatedInput};if(e.decision==="context"&&e.additionalContext)return{additionalContext:e.additionalContext};if(e.decision==="ask")return{permissionDecision:"ask"}}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),e.updatedOutput&&(r.updatedMCPToolOutput=e.updatedOutput),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return dn(ao(),".claude","settings.json")}getSessionDir(){let e=Es(ao(),".claude","context-mode","sessions");return XC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Yx("sha256").update(e).digest("hex").slice(0,16);return Es(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Yx("sha256").update(e).digest("hex").slice(0,16);return Es(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){let r=`node ${e}/hooks/pretooluse.mjs`;return{PreToolUse:["Bash","WebFetch","Read","Grep","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"].map(o=>({matcher:o,hooks:[{type:"command",command:r}]})),PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{let e=ba(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Xx(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=this.readPluginHooks(e),i=this.checkHookType(o,s,Pt.PRE_TOOL_USE);r.push({check:"PreToolUse hook",status:i?"pass":"fail",message:i?"PreToolUse hook configured":"No PreToolUse hooks found",fix:i?void 0:"context-mode upgrade"});let a=this.checkHookType(o,s,Pt.SESSION_START);return r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"No SessionStart hooks found",fix:a?void 0:"context-mode upgrade"}),r}readPluginHooks(e){let r=[Es(e,"hooks","hooks.json"),Es(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=ba(n,"utf-8"),s=JSON.parse(o);if(s.hooks)return s.hooks}catch{}}checkHookType(e,r,n){let o=e?.[n];if(o&&o.length>0&&o.some(i=>ws(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>ws(i,n)))}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read settings.json"};let r=e.enabledPlugins;if(!r)return{check:"Plugin registration",status:"warn",message:"No enabledPlugins section found (might be using standalone MCP mode)"};let n=Object.keys(r).find(o=>o.startsWith("context-mode"));return n&&r[n]?{check:"Plugin registration",status:"pass",message:`Plugin enabled: ${n}`}:{check:"Plugin registration",status:"warn",message:"context-mode not in enabledPlugins (might be using standalone MCP mode)"}}getInstalledVersion(){try{let r=dn(ao(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ba(r,"utf-8")).plugins??{};for(let[s,i]of Object.entries(o)){if(!s.toLowerCase().includes("context-mode"))continue;let a=i;if(a.length>0&&typeof a[0].version=="string")return a[0].version}}catch{}let e=[dn(ao(),".claude"),dn(ao(),".config","claude")];for(let r of e){let n=dn(r,"plugins","cache","context-mode","context-mode");try{let s=tI(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[];for(let a of Object.keys(n)){let c=n[a];if(!Array.isArray(c))continue;let u=c.filter(d=>{let f=d;if(!Np(f))return!0;let m=f.hooks??[];return m.every(h=>!h.command||!zp(h.command))?!0:m.every(h=>{let g=h.command?zp(h.command):null;return g?eI(g):!0})}),l=c.length-u.length;l>0&&(n[a]=u,o.push(`Removed ${l} stale ${a} hook(s)`))}let s=this.readPluginHooks(e);if(s&&Wx.every(c=>this.checkHookType(void 0,s,c))){for(let c of Object.keys(n)){let u=n[c];if(!Array.isArray(u))continue;let l=u.filter(f=>!Np(f)),d=u.length-l.length;d>0&&(n[c]=l,o.push(`Removed ${d} duplicate ${c} hook(s) \u2014 covered by plugin hooks.json`))}return r.hooks=n,this.writeSettings(r),o.push("Skipped settings.json registration \u2014 plugin hooks.json is sufficient"),o}let i=[Pt.PRE_TOOL_USE,Pt.SESSION_START];for(let a of i){let c=Ip(a,e);if(a===Pt.PRE_TOOL_USE){let u={matcher:Jx,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(f=>ws(f,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n.PreToolUse=l}else n.PreToolUse=[u],o.push(`Created ${a} hooks section`)}else{let u={matcher:"",hooks:[{type:"command",command:c}]},l=n[a];if(l&&Array.isArray(l)){let d=l.findIndex(f=>ws(f,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n[a]=l}else n[a]=[u],o.push(`Created ${a} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{Qx(e,ev.R_OK);let r=e+".bak";return QC(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(bs)){let o=dn(e,"hooks",n);try{Qx(o,ev.R_OK),rI(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=dn(ao(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ba(n,"utf-8"));for(let[s,i]of Object.entries(o.plugins||{}))if(s.toLowerCase().includes("context-mode"))for(let a of i)a.installPath=e,a.version=r,a.lastUpdated=new Date().toISOString();Xx(n,JSON.stringify(o,null,2)+` -`,"utf-8")}catch{}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function co(t,e){let r=Dp[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var be,Dp,nZ,oZ,tv=$e(()=>{"use strict";be={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Dp={[be.BEFORE_TOOL]:"beforetool.mjs",[be.AFTER_TOOL]:"aftertool.mjs",[be.PRE_COMPRESS]:"precompress.mjs",[be.SESSION_START]:"sessionstart.mjs"},nZ=[be.BEFORE_TOOL,be.SESSION_START],oZ=[be.AFTER_TOOL,be.PRE_COMPRESS]});var av={};We(av,{GeminiCLIAdapter:()=>Zp});import{createHash as rv}from"node:crypto";import{readFileSync as Lp,writeFileSync as nv,mkdirSync as ov,copyFileSync as nI,accessSync as sv,chmodSync as oI,constants as iv}from"node:fs";import{resolve as Ts,join as wa}from"node:path";import{homedir as $s}from"node:os";var Zp,cv=$e(()=>{"use strict";tv();Zp=class{name="Gemini CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{decision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{tool_input:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}};if(e.decision==="ask")return{decision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{decision:"deny",reason:e.updatedOutput};if(e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Ts($s(),".gemini","settings.json")}getSessionDir(){let e=wa($s(),".gemini","context-mode","sessions");return ov(e,{recursive:!0}),e}getSessionDBPath(e){let r=rv("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=rv("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[be.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:co(be.BEFORE_TOOL,e)}]}],[be.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:co(be.AFTER_TOOL,e)}]}],[be.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:co(be.PRE_COMPRESS,e)}]}],[be.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:co(be.SESSION_START,e)}]}]}}readSettings(){try{let e=Lp(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=Ts($s(),".gemini");ov(r,{recursive:!0}),nv(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[be.BEFORE_TOOL];if(s&&s.length>0){let a=s.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"BeforeTool hook",status:a?"pass":"fail",message:a?"BeforeTool hook configured":"BeforeTool exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"BeforeTool hook",status:"fail",message:"No BeforeTool hooks found",fix:"context-mode upgrade"});let i=o?.[be.SESSION_START];if(i&&i.length>0){let a=i.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"SessionStart exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"SessionStart hook",status:"fail",message:"No SessionStart hooks found",fix:"context-mode upgrade"});return r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read ~/.gemini/settings.json"};let r=e.extensions;return r&&(Array.isArray(r)?r.some(o=>typeof o=="string"&&o.includes("context-mode")):Object.keys(r).some(o=>o.includes("context-mode")))?{check:"Plugin registration",status:"pass",message:"context-mode found in extensions"}:{check:"Plugin registration",status:"warn",message:"context-mode not found in extensions (might be using standalone MCP mode)"}}getInstalledVersion(){try{let e=Ts($s(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Lp(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[{name:be.BEFORE_TOOL},{name:be.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:co(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(m=>m.command?.includes("context-mode")));l>=0?(u[l]=c,o.push(`Updated existing ${i.name} hook entry`)):(u.push(c),o.push(`Added ${i.name} hook entry`)),n[i.name]=u}else n[i.name]=[c],o.push(`Created ${i.name} hooks section`)}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{sv(e,iv.R_OK);let r=e+".bak";return nI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=wa(e,"hooks","gemini-cli");for(let o of Object.values(Dp)){let s=Ts(n,o);try{sv(s,iv.R_OK),oI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=Ts($s(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Lp(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),nv(n,JSON.stringify(o,null,2)+` -`,"utf-8")}catch{}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var pn,dZ,pZ,uv=$e(()=>{"use strict";pn={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},dZ=[pn.BEFORE,pn.AFTER],pZ=[pn.COMPACTING]});var pv={};We(pv,{OpenCodeAdapter:()=>Up});import{createHash as lv}from"node:crypto";import{readFileSync as dv,writeFileSync as iI,mkdirSync as aI,copyFileSync as cI,accessSync as uI,constants as lI}from"node:fs";import{resolve as Ut,join as rr}from"node:path";import{homedir as br}from"node:os";function sI(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Up,fv=$e(()=>{"use strict";uv();Up=class{get name(){return this.platform==="kilo"?"KiloCode":"OpenCode"}paradigm="ts-plugin";settingsPath;capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};platform;constructor(e="opencode"){this.platform=e}parsePreToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},toolOutput:r.output,isError:void 0,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return this.settingsPath??Ut(`${this.platform}.json`)}paths(){return this.platform==="kilo"?[Ut("kilo.json"),Ut("kilo.jsonc"),Ut(".kilo","kilo.json"),Ut(".kilo","kilo.jsonc"),rr(br(),".config","kilo","kilo.json"),rr(br(),".config","kilo","kilo.jsonc")]:[Ut("opencode.json"),Ut("opencode.jsonc"),Ut(".opencode","opencode.json"),Ut(".opencode","opencode.jsonc"),rr(br(),".config","opencode","opencode.json"),rr(br(),".config","opencode","opencode.jsonc")]}getSessionDir(){let e;process.platform==="win32"?e=process.env.APPDATA||rr(br(),"AppData","Roaming"):e=process.env.XDG_CONFIG_HOME||rr(br(),".config");let r=rr(e,this.platform,"context-mode","sessions");return aI(r,{recursive:!0}),r}getSessionDBPath(e){let r=lv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=lv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[pn.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[pn.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[pn.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){this.settingsPath=void 0;let e=this.paths(),r=new Set(e.filter(s=>s.includes(br()))),n=null,o;for(let s of e)try{let i=dv(s,"utf-8"),a=s.endsWith(".jsonc")?sI(i):i,c=JSON.parse(a);n||(n=c,o=s);let u=r.has(s);if(this.hasContextModePlugin(c)||u)return this.settingsPath=s,c}catch{continue}return n?(this.settingsPath=o,n):null}writeSettings(e){iI(this.getSettingsPath(),JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r;let o=this.hasContextModePlugin(n);return Array.isArray(n.plugin)?r.push({check:"Plugin registration",status:o?"pass":"fail",message:o?"context-mode found in plugin array":"context-mode not found in plugin array",fix:o?void 0:"context-mode upgrade"}):r.push({check:"Plugin registration",status:"fail",message:`No plugin array found in ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r.push({check:"SessionStart hook",status:"warn",message:`SessionStart not supported in ${this.name} (see issues #14808, #5409)`}),r}checkPluginRegistration(){let e=this.readSettings();return e?this.hasContextModePlugin(e)?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:`context-mode not found in ${this.platform}.json plugin array`,fix:"context-mode upgrade"}:{check:"Plugin registration",status:"warn",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`}}getInstalledVersion(){try{let e=Ut(br(),".cache",this.platform,"node_modules","context-mode","package.json"),r=JSON.parse(dv(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=this.checkPluginRegistration();if(!this.settingsPath)return null;if(e.status==="pass")return this.settingsPath;try{uI(this.settingsPath,lI.R_OK);let r=this.settingsPath+".bak";return cI(this.settingsPath,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}hasContextModePlugin(e){let r=e.plugin;return Array.isArray(r)&&r.some(n=>typeof n=="string"&&n.includes("context-mode"))}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var fn,xZ,vZ,mv=$e(()=>{"use strict";fn={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},xZ=[fn.TOOL_CALL_BEFORE,fn.TOOL_CALL_AFTER],vZ=[fn.COMMAND_NEW]});var gv={};We(gv,{OpenClawAdapter:()=>qp});import{createHash as hv}from"node:crypto";import{readFileSync as Hp,writeFileSync as dI,mkdirSync as pI,copyFileSync as fI,accessSync as mI,constants as hI}from"node:fs";import{resolve as wr,join as Ps}from"node:path";import{homedir as Ea}from"node:os";var qp,_v=$e(()=>{"use strict";mv();qp=class{name="OpenClaw";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},toolOutput:r.output??r.tool_output,isError:r.isError??r.is_error,sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{block:!0,blockReason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{params:e.updatedInput};if(e.decision==="ask")return{block:!0,blockReason:e.reason??"Action requires user confirmation (security policy)"};e.decision==="context"&&e.additionalContext}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return wr("openclaw.json")}getSessionDir(){let e=Ps(Ea(),".openclaw","context-mode","sessions");return pI(e,{recursive:!0}),e}getSessionDBPath(e){let r=hv("sha256").update(e).digest("hex").slice(0,16);return Ps(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=hv("sha256").update(e).digest("hex").slice(0,16);return Ps(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[fn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[fn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[fn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[wr("openclaw.json"),wr(".openclaw","openclaw.json"),Ps(Ea(),".openclaw","openclaw.json")];for(let r of e)try{let n=Hp(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=wr("openclaw.json");dI(r,JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read openclaw.json",fix:"context-mode upgrade"}),r;let o=n.plugins,s=o?.entries;if(s){let a=Object.keys(s).some(c=>c.includes("context-mode"));if(r.push({check:"Plugin registration",status:a?"pass":"fail",message:a?"context-mode found in plugins.entries":"context-mode not found in plugins.entries",fix:a?void 0:"context-mode upgrade"}),a){let u=s["context-mode"]?.enabled!==!1;r.push({check:"Plugin enabled",status:u?"pass":"warn",message:u?"context-mode plugin is enabled":"context-mode plugin is disabled"})}}else r.push({check:"Plugin registration",status:"fail",message:"No plugins.entries found in openclaw.json",fix:"context-mode upgrade"});return o?.slots?.contextEngine==="context-mode"?r.push({check:"Context engine",status:"pass",message:"context-mode registered as context engine (owns compaction)"}):r.push({check:"Context engine",status:"warn",message:"context-mode not set as context engine \u2014 compaction will use default engine"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read openclaw.json"};let n=e.plugins?.entries;return n&&Object.keys(n).some(s=>s.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugins.entries"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in openclaw.json plugins.entries",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=wr(Ea(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Hp(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=wr("node_modules","context-mode","package.json"),r=JSON.parse(Hp(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[];r.plugins||(r.plugins={});let o=r.plugins;o.entries||(o.entries={});let s=o.entries;if(!s["context-mode"])s["context-mode"]={enabled:!0},n.push("Added context-mode to plugins.entries");else{let a=s["context-mode"];a.enabled===!1?(a.enabled=!0,n.push("Enabled context-mode plugin")):n.push("context-mode already configured in plugins.entries")}o.slots||(o.slots={});let i=o.slots;return i.contextEngine?i.contextEngine!=="context-mode"&&n.push(`Context engine already set to "${i.contextEngine}" \u2014 not overwriting`):(i.contextEngine="context-mode",n.push("Set context-mode as context engine (owns compaction)")),this.writeSettings(r),n}backupSettings(){let e=[wr("openclaw.json"),wr(".openclaw","openclaw.json"),Ps(Ea(),".openclaw","openclaw.json")];for(let r of e)try{mI(r,hI.R_OK);let n=r+".bak";return fI(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var Sv={};We(Sv,{CodexAdapter:()=>Vp});import{createHash as yv}from"node:crypto";import{readFileSync as Fp,mkdirSync as gI,copyFileSync as _I,accessSync as yI,constants as xI}from"node:fs";import{resolve as xv,join as Bp,dirname as vI}from"node:path";import{fileURLToPath as SI}from"node:url";import{homedir as vv}from"node:os";var Vp,kv=$e(()=>{"use strict";Vp=class{name="Codex CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!0,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_response,sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:r.cwd,raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e.reason??"Blocked by context-mode hook"}}:e.decision==="context"&&e.additionalContext?{}:{}}formatPostToolUseResponse(e){return e.additionalContext?{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:e.additionalContext}}:{}}formatPreCompactResponse(e){return e.context?{hookSpecificOutput:{additionalContext:e.context}}:{}}formatSessionStartResponse(e){return e.context?{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:e.context}}:{}}getSettingsPath(){return xv(vv(),".codex","config.toml")}getSessionDir(){let e=Bp(vv(),".codex","context-mode","sessions");return gI(e,{recursive:!0}),e}getSessionDBPath(e){let r=yv("sha256").update(e).digest("hex").slice(0,16);return Bp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=yv("sha256").update(e).digest("hex").slice(0,16);return Bp(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{PreToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/pretooluse.mjs`}]}],PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{return{_raw_toml:Fp(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI hooks are implemented but dispatch is not yet active (Stage::UnderDevelopment, v0.118.0). Enable flag: [features] codex_hooks = true in ~/.codex/config.toml. Track: openai/codex#16685"}]}checkPluginRegistration(){try{let e=Fp(this.getSettingsPath(),"utf-8"),r=e.includes("context-mode"),n=e.includes("[mcp_servers]")||e.includes("[mcp_servers.");return r&&n?{check:"MCP registration",status:"pass",message:"context-mode found in [mcp_servers] config"}:n?{check:"MCP registration",status:"fail",message:"[mcp_servers] section exists but context-mode not found",fix:"Add context-mode to [mcp_servers] in ~/.codex/config.toml"}:{check:"MCP registration",status:"fail",message:"No [mcp_servers] section in config.toml",fix:"Add [mcp_servers.context-mode] to ~/.codex/config.toml"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.codex/config.toml"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{yI(e,xI.R_OK);let r=e+".bak";return _I(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=xv(vI(SI(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Fp(e,"utf-8")}catch{return`# context-mode + deps: ${r}}`};var LR={keyword:"dependencies",type:"object",schemaType:"object",error:Dt.error,code(t){let[e,r]=ZR(t);hy(t,e),gy(t,r)}};function ZR({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function hy(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,gs.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,gs.checkReportMissingProp)(t,u)}):(r.if((0,Md._)`${c} && (${(0,gs.checkMissingProp)(t,a,s)})`),(0,gs.reportMissingProp)(t,s),r.else())}}Dt.validatePropertyDeps=hy;function gy(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,DR.alwaysValidSchema)(s,e[a])||(r.if((0,gs.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Dt.validateSchemaDeps=gy;Dt.default=LR});var xy=T(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var yy=q(),UR=Q(),HR={message:"property name must be valid",params:({params:t})=>(0,yy._)`{propertyName: ${t.propertyName}}`},FR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:HR,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,UR.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,yy.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Dd.default=FR});var Zd=T(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var na=ft(),Et=q(),qR=Qt(),oa=Q(),BR={message:"must NOT have additional properties",params:({params:t})=>(0,Et._)`{additionalProperty: ${t.additionalProperty}}`},VR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:BR,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,oa.alwaysValidSchema)(i,r))return;let u=(0,na.allSchemaProperties)(n.properties),l=(0,na.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Et._)`${s} === ${qR.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let x=(0,oa.schemaRefOrVal)(i,n.properties,"properties");_=(0,na.isOwnProperty)(e,x,g)}else u.length?_=(0,Et.or)(...u.map(x=>(0,Et._)`${g} === ${x}`)):_=Et.nil;return l.length&&(_=(0,Et.or)(_,...l.map(x=>(0,Et._)`${(0,na.usePattern)(t,x)}.test(${g})`))),(0,Et.not)(_)}function m(g){e.code((0,Et._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,oa.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(h(g,_,!1),e.if((0,Et.not)(_),()=>{t.reset(),m(g)})):(h(g,_),a||e.if((0,Et.not)(_),()=>e.break()))}}function h(g,_,x){let S={keyword:"additionalProperties",dataProp:g,dataPropType:oa.Type.Str};x===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,_)}}};Ld.default=VR});var ky=T(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var KR=rs(),vy=ft(),Ud=Q(),Sy=Zd(),JR={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Sy.default.code(new KR.KeywordCxt(s,Sy.default,"additionalProperties"));let i=(0,vy.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Ud.mergeEvaluated.props(e,(0,Ud.toHash)(i),s.props));let a=i.filter(d=>!(0,Ud.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,vy.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Hd.default=JR});var Ty=T(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var by=ft(),sa=q(),wy=Q(),Ey=Q(),WR={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,by.allSchemaProperties)(r),c=a.filter(h=>(0,wy.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof sa.Name)&&(s.props=(0,Ey.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,wy.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,sa._)`${(0,by.usePattern)(t,h)}.test(${g})`,()=>{let _=c.includes(h);_||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:Ey.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,sa._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,sa.not)(l),()=>e.break())})})}}};Fd.default=WR});var $y=T(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var GR=Q(),YR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,GR.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};qd.default=YR});var Py=T(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var XR=ft(),QR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:XR.validateUnion,error:{message:"must match a schema in anyOf"}};Bd.default=QR});var Ry=T(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var ia=q(),eO=Q(),tO={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,ia._)`{passingSchemas: ${t.passing}}`},rO={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:tO,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let f;(0,eO.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,ia._)`${c} && ${i}`).assign(i,!1).assign(a,(0,ia._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,ia.Name)})})}}};Vd.default=rO});var Oy=T(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var nO=Q(),oO={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,nO.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Kd.default=oO});var zy=T(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var aa=q(),Iy=Q(),sO={message:({params:t})=>(0,aa.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,aa._)`{failingKeyword: ${t.ifClause}}`},iO={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:sO,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Iy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Cy(n,"then"),s=Cy(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,aa.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(f,i),d?e.assign(d,(0,aa._)`${l}`):t.setParams({ifClause:l})}}}};function Cy(t,e){let r=t.schema[e];return r!==void 0&&!(0,Iy.alwaysValidSchema)(t,r)}Jd.default=iO});var Ny=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var aO=Q(),cO={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,aO.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Wd.default=cO});var Ay=T(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var uO=Id(),lO=dy(),dO=zd(),pO=fy(),fO=my(),mO=_y(),hO=xy(),gO=Zd(),_O=ky(),yO=Ty(),xO=$y(),vO=Py(),SO=Ry(),kO=Oy(),bO=zy(),wO=Ny();function EO(t=!1){let e=[xO.default,vO.default,SO.default,kO.default,bO.default,wO.default,hO.default,gO.default,mO.default,_O.default,yO.default];return t?e.push(lO.default,pO.default):e.push(uO.default,dO.default),e.push(fO.default),e}Gd.default=EO});var jy=T(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var ke=q(),TO={message:({schemaCode:t})=>(0,ke.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ke._)`{format: ${t}}`},$O={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:TO,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?f():m();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ke._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,ke._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,ke._)`${h}.type || "string"`).assign(_,(0,ke._)`${h}.validate`),()=>r.assign(g,(0,ke._)`"string"`).assign(_,h)),t.fail$data((0,ke.or)(x(),S()));function x(){return c.strictSchema===!1?ke.nil:(0,ke._)`${i} && !${_}`}function S(){let w=l.$async?(0,ke._)`(${h}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,ke._)`${_}(${n})`,z=(0,ke._)`(typeof ${_} == "function" ? ${w} : ${_}.test(${n}))`;return(0,ke._)`${_} && ${_} !== true && ${g} === ${e} && !${z}`}}function m(){let p=d.formats[s];if(!p){x();return}if(p===!0)return;let[h,g,_]=S(p);h===e&&t.pass(w());function x(){if(c.strictSchema===!1){d.logger.warn(z());return}throw new Error(z());function z(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(z){let de=z instanceof RegExp?(0,ke.regexpCode)(z):c.code.formats?(0,ke._)`${c.code.formats}${(0,ke.getProperty)(s)}`:void 0,Te=r.scopeValue("formats",{key:s,ref:z,code:de});return typeof z=="object"&&!(z instanceof RegExp)?[z.type||"string",z.validate,(0,ke._)`${Te}.validate`]:["string",z,Te]}function w(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ke._)`await ${_}(${n})`}return typeof g=="function"?(0,ke._)`${_}(${n})`:(0,ke._)`${_}.test(${n})`}}}};Yd.default=$O});var My=T(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var PO=jy(),RO=[PO.default];Xd.default=RO});var Dy=T(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.contentVocabulary=Gn.metadataVocabulary=void 0;Gn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Gn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Zy=T(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var OO=K_(),CO=ay(),IO=Ay(),zO=My(),Ly=Dy(),NO=[OO.default,CO.default,(0,IO.default)(),zO.default,Ly.metadataVocabulary,Ly.contentVocabulary];Qd.default=NO});var Hy=T(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.DiscrError=void 0;var Uy;(function(t){t.Tag="tag",t.Mapping="mapping"})(Uy||(ca.DiscrError=Uy={}))});var qy=T(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});var Yn=q(),ep=Hy(),Fy=qi(),AO=ns(),jO=Q(),MO={message:({params:{discrError:t,tagName:e}})=>t===ep.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Yn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},DO={keyword:"discriminator",type:"object",schemaType:"object",error:MO,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Yn._)`${r}${(0,Yn.getProperty)(a)}`);e.if((0,Yn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:ep.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=f();e.if(!1);for(let p in m)e.elseIf((0,Yn._)`${u} === ${p}`),e.assign(c,d(m[p]));e.else(),t.error(!1,{discrError:ep.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let p=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:m},p);return t.mergeEvaluated(h,Yn.Name),p}function f(){var m;let p={},h=_(o),g=!0;for(let w=0;w{LO.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var np=T((me,rp)=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.MissingRefError=me.ValidationError=me.CodeGen=me.Name=me.nil=me.stringify=me.str=me._=me.KeywordCxt=me.Ajv=void 0;var ZO=U_(),UO=Zy(),HO=qy(),Vy=By(),FO=["/properties"],ua="http://json-schema.org/draft-07/schema",Xn=class extends ZO.default{_addVocabularies(){super._addVocabularies(),UO.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(HO.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Vy,FO):Vy;this.addMetaSchema(e,ua,!1),this.refs["http://json-schema.org/schema"]=ua}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ua)?ua:void 0)}};me.Ajv=Xn;rp.exports=me=Xn;rp.exports.Ajv=Xn;Object.defineProperty(me,"__esModule",{value:!0});me.default=Xn;var qO=rs();Object.defineProperty(me,"KeywordCxt",{enumerable:!0,get:function(){return qO.KeywordCxt}});var Qn=q();Object.defineProperty(me,"_",{enumerable:!0,get:function(){return Qn._}});Object.defineProperty(me,"str",{enumerable:!0,get:function(){return Qn.str}});Object.defineProperty(me,"stringify",{enumerable:!0,get:function(){return Qn.stringify}});Object.defineProperty(me,"nil",{enumerable:!0,get:function(){return Qn.nil}});Object.defineProperty(me,"Name",{enumerable:!0,get:function(){return Qn.Name}});Object.defineProperty(me,"CodeGen",{enumerable:!0,get:function(){return Qn.CodeGen}});var BO=Hi();Object.defineProperty(me,"ValidationError",{enumerable:!0,get:function(){return BO.default}});var VO=ns();Object.defineProperty(me,"MissingRefError",{enumerable:!0,get:function(){return VO.default}})});var ex=T(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.formatNames=Zt.fastFormats=Zt.fullFormats=void 0;function Lt(t,e){return{validate:t,compare:e}}Zt.fullFormats={date:Lt(Gy,ap),time:Lt(sp(!0),cp),"date-time":Lt(Ky(!0),Xy),"iso-time":Lt(sp(),Yy),"iso-date-time":Lt(Ky(),Qy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:XO,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:sC,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:QO,int32:{type:"number",validate:rC},int64:{type:"number",validate:nC},float:{type:"number",validate:Wy},double:{type:"number",validate:Wy},password:!0,binary:!0};Zt.fastFormats={...Zt.fullFormats,date:Lt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ap),time:Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,cp),"date-time":Lt(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Xy),"iso-time":Lt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Yy),"iso-date-time":Lt(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Qy),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Zt.formatNames=Object.keys(Zt.fullFormats);function KO(t){return t%4===0&&(t%100!==0||t%400===0)}var JO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,WO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Gy(t){let e=JO.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&KO(r)?29:WO[n])}function ap(t,e){if(t&&e)return t>e?1:t23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function cp(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function Yy(t,e){if(!(t&&e))return;let r=op.exec(t),n=op.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t=eC}function nC(t){return Number.isInteger(t)}function Wy(){return!0}var oC=/[^\\]\\Z/;function sC(t){if(oC.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var tx=T(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.formatLimitDefinition=void 0;var iC=np(),Tt=q(),Sr=Tt.operators,la={formatMaximum:{okStr:"<=",ok:Sr.LTE,fail:Sr.GT},formatMinimum:{okStr:">=",ok:Sr.GTE,fail:Sr.LT},formatExclusiveMaximum:{okStr:"<",ok:Sr.LT,fail:Sr.GTE},formatExclusiveMinimum:{okStr:">",ok:Sr.GT,fail:Sr.LTE}},aC={message:({keyword:t,schemaCode:e})=>(0,Tt.str)`should be ${la[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Tt._)`{comparison: ${la[t].okStr}, limit: ${e}}`};eo.formatLimitDefinition={keyword:Object.keys(la),type:"string",schemaType:"string",$data:!0,error:aC,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new iC.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,Tt._)`${f}[${c.schemaCode}]`);t.fail$data((0,Tt.or)((0,Tt._)`typeof ${m} != "object"`,(0,Tt._)`${m} instanceof RegExp`,(0,Tt._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let p=e.scopeValue("formats",{key:f,ref:m,code:i.code.formats?(0,Tt._)`${i.code.formats}${(0,Tt.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,Tt._)`${f}.compare(${r}, ${n}) ${la[o].fail} 0`}},dependencies:["format"]};var cC=t=>(t.addKeyword(eo.formatLimitDefinition),t);eo.default=cC});var sx=T((_s,ox)=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});var to=ex(),uC=tx(),up=q(),rx=new up.Name("fullFormats"),lC=new up.Name("fastFormats"),lp=(t,e={keywords:!0})=>{if(Array.isArray(e))return nx(t,e,to.fullFormats,rx),t;let[r,n]=e.mode==="fast"?[to.fastFormats,lC]:[to.fullFormats,rx],o=e.formats||to.formatNames;return nx(t,o,r,n),e.keywords&&(0,uC.default)(t),t};lp.get=(t,e="full")=>{let n=(e==="fast"?to.fastFormats:to.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function nx(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,up._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}ox.exports=_s=lp;Object.defineProperty(_s,"__esModule",{value:!0});_s.default=lp});var Vx,Kx=$e(()=>{"use strict";Vx={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot",Codex:"codex","codex-mcp-client":"codex","Kilo Code":"kilo","Kiro CLI":"kiro","Pi CLI":"pi","Pi Coding Agent":"pi",Zed:"zed",zed:"zed"}});function ws(t,e){let r=bs[e],n=Cp(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function Cp(t,e){if(e){let r=bs[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function Ip(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function zp(t){let e=Object.values(bs);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var Pt,YC,Jx,XC,GL,bs,Wx,YL,Gx=$e(()=>{"use strict";Pt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},YC=["Bash","WebFetch","Read","Grep","Agent","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],Jx=YC.join("|"),XC=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],GL=XC.join("|"),bs={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},Wx=[Pt.PRE_TOOL_USE,Pt.SESSION_START],YL=[Pt.POST_TOOL_USE,Pt.PRE_COMPACT,Pt.USER_PROMPT_SUBMIT]});var Ap={};We(Ap,{ClaudeCodeAdapter:()=>Np});import{createHash as Yx}from"node:crypto";import{readFileSync as ba,writeFileSync as Xx,mkdirSync as QC,copyFileSync as eI,accessSync as Qx,existsSync as tI,readdirSync as rI,chmodSync as nI,constants as ev}from"node:fs";import{resolve as dn,join as Es}from"node:path";import{homedir as ao}from"node:os";var Np,jp=$e(()=>{"use strict";Gx();Np=class{name="Claude Code";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{updatedInput:e.updatedInput};if(e.decision==="context"&&e.additionalContext)return{additionalContext:e.additionalContext};if(e.decision==="ask")return{permissionDecision:"ask"}}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),e.updatedOutput&&(r.updatedMCPToolOutput=e.updatedOutput),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return dn(ao(),".claude","settings.json")}getSessionDir(){let e=Es(ao(),".claude","context-mode","sessions");return QC(e,{recursive:!0}),e}getSessionDBPath(e){let r=Yx("sha256").update(e).digest("hex").slice(0,16);return Es(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Yx("sha256").update(e).digest("hex").slice(0,16);return Es(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){let r=`node ${e}/hooks/pretooluse.mjs`;return{PreToolUse:["Bash","WebFetch","Read","Grep","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"].map(o=>({matcher:o,hooks:[{type:"command",command:r}]})),PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{let e=ba(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Xx(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=this.readPluginHooks(e),i=this.checkHookType(o,s,Pt.PRE_TOOL_USE);r.push({check:"PreToolUse hook",status:i?"pass":"fail",message:i?"PreToolUse hook configured":"No PreToolUse hooks found",fix:i?void 0:"context-mode upgrade"});let a=this.checkHookType(o,s,Pt.SESSION_START);return r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"No SessionStart hooks found",fix:a?void 0:"context-mode upgrade"}),r}readPluginHooks(e){let r=[Es(e,"hooks","hooks.json"),Es(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=ba(n,"utf-8"),s=JSON.parse(o);if(s.hooks)return s.hooks}catch{}}checkHookType(e,r,n){let o=e?.[n];if(o&&o.length>0&&o.some(i=>ws(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>ws(i,n)))}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read settings.json"};let r=e.enabledPlugins;if(!r)return{check:"Plugin registration",status:"warn",message:"No enabledPlugins section found (might be using standalone MCP mode)"};let n=Object.keys(r).find(o=>o.startsWith("context-mode"));return n&&r[n]?{check:"Plugin registration",status:"pass",message:`Plugin enabled: ${n}`}:{check:"Plugin registration",status:"warn",message:"context-mode not in enabledPlugins (might be using standalone MCP mode)"}}getInstalledVersion(){try{let r=dn(ao(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ba(r,"utf-8")).plugins??{};for(let[s,i]of Object.entries(o)){if(!s.toLowerCase().includes("context-mode"))continue;let a=i;if(a.length>0&&typeof a[0].version=="string")return a[0].version}}catch{}let e=[dn(ao(),".claude"),dn(ao(),".config","claude")];for(let r of e){let n=dn(r,"plugins","cache","context-mode","context-mode");try{let s=rI(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[];for(let a of Object.keys(n)){let c=n[a];if(!Array.isArray(c))continue;let u=c.filter(d=>{let f=d;if(!zp(f))return!0;let m=f.hooks??[];return m.every(h=>!h.command||!Ip(h.command))?!0:m.every(h=>{let g=h.command?Ip(h.command):null;return g?tI(g):!0})}),l=c.length-u.length;l>0&&(n[a]=u,o.push(`Removed ${l} stale ${a} hook(s)`))}let s=this.readPluginHooks(e);if(s&&Wx.every(c=>this.checkHookType(void 0,s,c))){for(let c of Object.keys(n)){let u=n[c];if(!Array.isArray(u))continue;let l=u.filter(f=>!zp(f)),d=u.length-l.length;d>0&&(n[c]=l,o.push(`Removed ${d} duplicate ${c} hook(s) \u2014 covered by plugin hooks.json`))}return r.hooks=n,this.writeSettings(r),o.push("Skipped settings.json registration \u2014 plugin hooks.json is sufficient"),o}let i=[Pt.PRE_TOOL_USE,Pt.SESSION_START];for(let a of i){let c=Cp(a,e);if(a===Pt.PRE_TOOL_USE){let u={matcher:Jx,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(f=>ws(f,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n.PreToolUse=l}else n.PreToolUse=[u],o.push(`Created ${a} hooks section`)}else{let u={matcher:"",hooks:[{type:"command",command:c}]},l=n[a];if(l&&Array.isArray(l)){let d=l.findIndex(f=>ws(f,a));d>=0?(l[d]=u,o.push(`Updated existing ${a} hook entry`)):(l.push(u),o.push(`Added ${a} hook entry`)),n[a]=l}else n[a]=[u],o.push(`Created ${a} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{Qx(e,ev.R_OK);let r=e+".bak";return eI(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(bs)){let o=dn(e,"hooks",n);try{Qx(o,ev.R_OK),nI(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=dn(ao(),".claude","plugins","installed_plugins.json"),o=JSON.parse(ba(n,"utf-8"));for(let[s,i]of Object.entries(o.plugins||{}))if(s.toLowerCase().includes("context-mode"))for(let a of i)a.installPath=e,a.version=r,a.lastUpdated=new Date().toISOString();Xx(n,JSON.stringify(o,null,2)+` +`,"utf-8")}catch{}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function co(t,e){let r=Mp[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var be,Mp,oZ,sZ,tv=$e(()=>{"use strict";be={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Mp={[be.BEFORE_TOOL]:"beforetool.mjs",[be.AFTER_TOOL]:"aftertool.mjs",[be.PRE_COMPRESS]:"precompress.mjs",[be.SESSION_START]:"sessionstart.mjs"},oZ=[be.BEFORE_TOOL,be.SESSION_START],sZ=[be.AFTER_TOOL,be.PRE_COMPRESS]});var av={};We(av,{GeminiCLIAdapter:()=>Lp});import{createHash as rv}from"node:crypto";import{readFileSync as Dp,writeFileSync as nv,mkdirSync as ov,copyFileSync as oI,accessSync as sv,chmodSync as sI,constants as iv}from"node:fs";import{resolve as Ts,join as wa}from"node:path";import{homedir as $s}from"node:os";var Lp,cv=$e(()=>{"use strict";tv();Lp=class{name="Gemini CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{decision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{tool_input:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}};if(e.decision==="ask")return{decision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{decision:"deny",reason:e.updatedOutput};if(e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Ts($s(),".gemini","settings.json")}getSessionDir(){let e=wa($s(),".gemini","context-mode","sessions");return ov(e,{recursive:!0}),e}getSessionDBPath(e){let r=rv("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=rv("sha256").update(e).digest("hex").slice(0,16);return wa(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[be.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:co(be.BEFORE_TOOL,e)}]}],[be.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:co(be.AFTER_TOOL,e)}]}],[be.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:co(be.PRE_COMPRESS,e)}]}],[be.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:co(be.SESSION_START,e)}]}]}}readSettings(){try{let e=Dp(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=Ts($s(),".gemini");ov(r,{recursive:!0}),nv(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[be.BEFORE_TOOL];if(s&&s.length>0){let a=s.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"BeforeTool hook",status:a?"pass":"fail",message:a?"BeforeTool hook configured":"BeforeTool exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"BeforeTool hook",status:"fail",message:"No BeforeTool hooks found",fix:"context-mode upgrade"});let i=o?.[be.SESSION_START];if(i&&i.length>0){let a=i.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"SessionStart exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"SessionStart hook",status:"fail",message:"No SessionStart hooks found",fix:"context-mode upgrade"});return r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read ~/.gemini/settings.json"};let r=e.extensions;return r&&(Array.isArray(r)?r.some(o=>typeof o=="string"&&o.includes("context-mode")):Object.keys(r).some(o=>o.includes("context-mode")))?{check:"Plugin registration",status:"pass",message:"context-mode found in extensions"}:{check:"Plugin registration",status:"warn",message:"context-mode not found in extensions (might be using standalone MCP mode)"}}getInstalledVersion(){try{let e=Ts($s(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Dp(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[{name:be.BEFORE_TOOL},{name:be.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:co(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(m=>m.command?.includes("context-mode")));l>=0?(u[l]=c,o.push(`Updated existing ${i.name} hook entry`)):(u.push(c),o.push(`Added ${i.name} hook entry`)),n[i.name]=u}else n[i.name]=[c],o.push(`Created ${i.name} hooks section`)}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{sv(e,iv.R_OK);let r=e+".bak";return oI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=wa(e,"hooks","gemini-cli");for(let o of Object.values(Mp)){let s=Ts(n,o);try{sv(s,iv.R_OK),sI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=Ts($s(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Dp(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),nv(n,JSON.stringify(o,null,2)+` +`,"utf-8")}catch{}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var pn,pZ,fZ,uv=$e(()=>{"use strict";pn={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},pZ=[pn.BEFORE,pn.AFTER],fZ=[pn.COMPACTING]});var pv={};We(pv,{OpenCodeAdapter:()=>Zp});import{createHash as lv}from"node:crypto";import{readFileSync as dv,writeFileSync as aI,mkdirSync as cI,copyFileSync as uI,accessSync as lI,constants as dI}from"node:fs";import{resolve as Ut,join as rr}from"node:path";import{homedir as br}from"node:os";function iI(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Zp,fv=$e(()=>{"use strict";uv();Zp=class{get name(){return this.platform==="kilo"?"KiloCode":"OpenCode"}paradigm="ts-plugin";settingsPath;capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};platform;constructor(e="opencode"){this.platform=e}parsePreToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool??"",toolInput:r.args??{},toolOutput:r.output,isError:void 0,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return this.settingsPath??Ut(`${this.platform}.json`)}paths(){return this.platform==="kilo"?[Ut("kilo.json"),Ut("kilo.jsonc"),Ut(".kilo","kilo.json"),Ut(".kilo","kilo.jsonc"),rr(br(),".config","kilo","kilo.json"),rr(br(),".config","kilo","kilo.jsonc")]:[Ut("opencode.json"),Ut("opencode.jsonc"),Ut(".opencode","opencode.json"),Ut(".opencode","opencode.jsonc"),rr(br(),".config","opencode","opencode.json"),rr(br(),".config","opencode","opencode.jsonc")]}getSessionDir(){let e;process.platform==="win32"?e=process.env.APPDATA||rr(br(),"AppData","Roaming"):e=process.env.XDG_CONFIG_HOME||rr(br(),".config");let r=rr(e,this.platform,"context-mode","sessions");return cI(r,{recursive:!0}),r}getSessionDBPath(e){let r=lv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=lv("sha256").update(e).digest("hex").slice(0,16);return rr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[pn.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[pn.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[pn.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){this.settingsPath=void 0;let e=this.paths(),r=new Set(e.filter(s=>s.includes(br()))),n=null,o;for(let s of e)try{let i=dv(s,"utf-8"),a=s.endsWith(".jsonc")?iI(i):i,c=JSON.parse(a);n||(n=c,o=s);let u=r.has(s);if(this.hasContextModePlugin(c)||u)return this.settingsPath=s,c}catch{continue}return n?(this.settingsPath=o,n):null}writeSettings(e){aI(this.getSettingsPath(),JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r;let o=this.hasContextModePlugin(n);return Array.isArray(n.plugin)?r.push({check:"Plugin registration",status:o?"pass":"fail",message:o?"context-mode found in plugin array":"context-mode not found in plugin array",fix:o?void 0:"context-mode upgrade"}):r.push({check:"Plugin registration",status:"fail",message:`No plugin array found in ${this.platform}.json or ${this.platform}.jsonc`,fix:"context-mode upgrade"}),r.push({check:"SessionStart hook",status:"warn",message:`SessionStart not supported in ${this.name} (see issues #14808, #5409)`}),r}checkPluginRegistration(){let e=this.readSettings();return e?this.hasContextModePlugin(e)?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:`context-mode not found in ${this.platform}.json plugin array`,fix:"context-mode upgrade"}:{check:"Plugin registration",status:"warn",message:`Could not read ${this.platform}.json or ${this.platform}.jsonc`}}getInstalledVersion(){try{let e=Ut(br(),".cache",this.platform,"node_modules","context-mode","package.json"),r=JSON.parse(dv(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=this.checkPluginRegistration();if(!this.settingsPath)return null;if(e.status==="pass")return this.settingsPath;try{lI(this.settingsPath,dI.R_OK);let r=this.settingsPath+".bak";return uI(this.settingsPath,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}hasContextModePlugin(e){let r=e.plugin;return Array.isArray(r)&&r.some(n=>typeof n=="string"&&n.includes("context-mode"))}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var fn,vZ,SZ,mv=$e(()=>{"use strict";fn={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},vZ=[fn.TOOL_CALL_BEFORE,fn.TOOL_CALL_AFTER],SZ=[fn.COMMAND_NEW]});var gv={};We(gv,{OpenClawAdapter:()=>Hp});import{createHash as hv}from"node:crypto";import{readFileSync as Up,writeFileSync as pI,mkdirSync as fI,copyFileSync as mI,accessSync as hI,constants as gI}from"node:fs";import{resolve as wr,join as Ps}from"node:path";import{homedir as Ea}from"node:os";var Hp,_v=$e(()=>{"use strict";mv();Hp=class{name="OpenClaw";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.toolName??r.tool_name??"",toolInput:r.params??r.tool_input??{},toolOutput:r.output??r.tool_output,isError:r.isError??r.is_error,sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{block:!0,blockReason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{params:e.updatedInput};if(e.decision==="ask")return{block:!0,blockReason:e.reason??"Action requires user confirmation (security policy)"};e.decision==="context"&&e.additionalContext}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return wr("openclaw.json")}getSessionDir(){let e=Ps(Ea(),".openclaw","context-mode","sessions");return fI(e,{recursive:!0}),e}getSessionDBPath(e){let r=hv("sha256").update(e).digest("hex").slice(0,16);return Ps(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=hv("sha256").update(e).digest("hex").slice(0,16);return Ps(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[fn.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[fn.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[fn.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[wr("openclaw.json"),wr(".openclaw","openclaw.json"),Ps(Ea(),".openclaw","openclaw.json")];for(let r of e)try{let n=Up(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=wr("openclaw.json");pI(r,JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read openclaw.json",fix:"context-mode upgrade"}),r;let o=n.plugins,s=o?.entries;if(s){let a=Object.keys(s).some(c=>c.includes("context-mode"));if(r.push({check:"Plugin registration",status:a?"pass":"fail",message:a?"context-mode found in plugins.entries":"context-mode not found in plugins.entries",fix:a?void 0:"context-mode upgrade"}),a){let u=s["context-mode"]?.enabled!==!1;r.push({check:"Plugin enabled",status:u?"pass":"warn",message:u?"context-mode plugin is enabled":"context-mode plugin is disabled"})}}else r.push({check:"Plugin registration",status:"fail",message:"No plugins.entries found in openclaw.json",fix:"context-mode upgrade"});return o?.slots?.contextEngine==="context-mode"?r.push({check:"Context engine",status:"pass",message:"context-mode registered as context engine (owns compaction)"}):r.push({check:"Context engine",status:"warn",message:"context-mode not set as context engine \u2014 compaction will use default engine"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read openclaw.json"};let n=e.plugins?.entries;return n&&Object.keys(n).some(s=>s.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugins.entries"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in openclaw.json plugins.entries",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=wr(Ea(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Up(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=wr("node_modules","context-mode","package.json"),r=JSON.parse(Up(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[];r.plugins||(r.plugins={});let o=r.plugins;o.entries||(o.entries={});let s=o.entries;if(!s["context-mode"])s["context-mode"]={enabled:!0},n.push("Added context-mode to plugins.entries");else{let a=s["context-mode"];a.enabled===!1?(a.enabled=!0,n.push("Enabled context-mode plugin")):n.push("context-mode already configured in plugins.entries")}o.slots||(o.slots={});let i=o.slots;return i.contextEngine?i.contextEngine!=="context-mode"&&n.push(`Context engine already set to "${i.contextEngine}" \u2014 not overwriting`):(i.contextEngine="context-mode",n.push("Set context-mode as context engine (owns compaction)")),this.writeSettings(r),n}backupSettings(){let e=[wr("openclaw.json"),wr(".openclaw","openclaw.json"),Ps(Ea(),".openclaw","openclaw.json")];for(let r of e)try{hI(r,gI.R_OK);let n=r+".bak";return mI(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var Sv={};We(Sv,{CodexAdapter:()=>Bp});import{createHash as yv}from"node:crypto";import{readFileSync as Fp,mkdirSync as _I,copyFileSync as yI,accessSync as xI,constants as vI}from"node:fs";import{resolve as xv,join as qp,dirname as SI}from"node:path";import{fileURLToPath as kI}from"node:url";import{homedir as vv}from"node:os";var Bp,kv=$e(()=>{"use strict";Bp=class{name="Codex CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!0,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_response,sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:r.cwd,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:r.cwd,raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:e.reason??"Blocked by context-mode hook"}}:e.decision==="context"&&e.additionalContext?{}:{}}formatPostToolUseResponse(e){return e.additionalContext?{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:e.additionalContext}}:{}}formatPreCompactResponse(e){return e.context?{hookSpecificOutput:{additionalContext:e.context}}:{}}formatSessionStartResponse(e){return e.context?{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:e.context}}:{}}getSettingsPath(){return xv(vv(),".codex","config.toml")}getSessionDir(){let e=qp(vv(),".codex","context-mode","sessions");return _I(e,{recursive:!0}),e}getSessionDBPath(e){let r=yv("sha256").update(e).digest("hex").slice(0,16);return qp(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=yv("sha256").update(e).digest("hex").slice(0,16);return qp(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{PreToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/pretooluse.mjs`}]}],PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{return{_raw_toml:Fp(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI hooks are implemented but dispatch is not yet active (Stage::UnderDevelopment, v0.118.0). Enable flag: [features] codex_hooks = true in ~/.codex/config.toml. Track: openai/codex#16685"}]}checkPluginRegistration(){try{let e=Fp(this.getSettingsPath(),"utf-8"),r=e.includes("context-mode"),n=e.includes("[mcp_servers]")||e.includes("[mcp_servers.");return r&&n?{check:"MCP registration",status:"pass",message:"context-mode found in [mcp_servers] config"}:n?{check:"MCP registration",status:"fail",message:"[mcp_servers] section exists but context-mode not found",fix:"Add context-mode to [mcp_servers] in ~/.codex/config.toml"}:{check:"MCP registration",status:"fail",message:"No [mcp_servers] section in config.toml",fix:"Add [mcp_servers.context-mode] to ~/.codex/config.toml"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.codex/config.toml"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{xI(e,vI.R_OK);let r=e+".bak";return yI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=xv(SI(kI(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Fp(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});function uo(t,e){let r=Ta[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/${r}"`:`context-mode hook vscode-copilot ${t.toLowerCase()}`}var ie,Ta,IZ,zZ,bv=$e(()=>{"use strict";ie={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Ta={[ie.PRE_TOOL_USE]:"pretooluse.mjs",[ie.POST_TOOL_USE]:"posttooluse.mjs",[ie.PRE_COMPACT]:"precompact.mjs",[ie.SESSION_START]:"sessionstart.mjs"},IZ=[ie.PRE_TOOL_USE,ie.SESSION_START],zZ=[ie.POST_TOOL_USE,ie.PRE_COMPACT]});var Tv={};We(Tv,{VSCodeCopilotAdapter:()=>Yp});import{createHash as wv}from"node:crypto";import{readFileSync as $a,writeFileSync as Ev,mkdirSync as Kp,copyFileSync as kI,accessSync as Jp,existsSync as bI,chmodSync as wI,constants as Wp}from"node:fs";import{resolve as Rt,join as mn}from"node:path";import{homedir as Gp}from"node:os";var Yp,$v=$e(()=>{"use strict";bv();Yp=class{name="VS Code Copilot";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,additionalContext:e.additionalContext}};if(e.decision==="ask")return{permissionDecision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Rt(".github","hooks","context-mode.json")}getSessionDir(){let e=Rt(".github","context-mode","sessions"),r=mn(Gp(),".vscode","context-mode","sessions"),n=bI(Rt(".github"))?e:r;return Kp(n,{recursive:!0}),n}getSessionDBPath(e){let r=wv("sha256").update(e).digest("hex").slice(0,16);return mn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=wv("sha256").update(e).digest("hex").slice(0,16);return mn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ie.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:uo(ie.PRE_TOOL_USE,e)}]}],[ie.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:uo(ie.POST_TOOL_USE,e)}]}],[ie.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:uo(ie.PRE_COMPACT,e)}]}],[ie.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:uo(ie.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),Rt(".claude","settings.json")];for(let r of e)try{let n=$a(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=Rt(".github","hooks");Kp(n,{recursive:!0}),Ev(r,JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=Rt(".github","hooks");try{Jp(n,Wp.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=Rt(n,"context-mode.json");try{let s=$a(o,"utf-8"),a=JSON.parse(s).hooks;a?.[ie.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in context-mode.json",fix:"context-mode upgrade"}),a?.[ie.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in context-mode.json",fix:"context-mode upgrade"})}catch{r.push({check:"Hook configuration",status:"fail",message:"Could not read .github/hooks/context-mode.json",fix:"context-mode upgrade"})}return r.push({check:"API stability",status:"warn",message:"VS Code Copilot hooks are in preview \u2014 API may change without notice"}),r.push({check:"Matcher support",status:"warn",message:"Matchers are parsed but IGNORED \u2014 all hooks fire on all tools"}),r}checkPluginRegistration(){try{let e=Rt(".vscode","mcp.json"),r=$a(e,"utf-8"),o=JSON.parse(r).servers;return o&&Object.keys(o).some(i=>i.includes("context-mode"))?{check:"MCP registration",status:"pass",message:"context-mode found in .vscode/mcp.json"}:{check:"MCP registration",status:"fail",message:"context-mode not found in .vscode/mcp.json",fix:"Add context-mode server to .vscode/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read .vscode/mcp.json"}}}getInstalledVersion(){let e=[mn(Gp(),".vscode","extensions"),mn(Gp(),".vscode-insiders","extensions")];for(let r of e)try{let n=$a(mn(r,"extensions.json"),"utf-8"),s=JSON.parse(n).find(i=>typeof i.identifier=="object"&&i.identifier!==null&&i.identifier.id?.toString().includes("context-mode"));if(s&&typeof s.version=="string")return s.version}catch{continue}return"not installed"}configureAllHooks(e){let r=[],n={hooks:{}},o=n.hooks,s=[ie.PRE_TOOL_USE,ie.POST_TOOL_USE,ie.PRE_COMPACT,ie.SESSION_START];for(let c of s)Ta[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:uo(c,e)}]}],r.push(`Configured ${c} hook`));let i=Rt(".github","hooks");Kp(i,{recursive:!0});let a=Rt(i,"context-mode.json");return Ev(a,JSON.stringify(n,null,2)+` -`,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Jp(e,Wp.R_OK);let r=e+".bak";return kI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=mn(e,"hooks","vscode-copilot");for(let o of Object.values(Ta)){let s=Rt(n,o);try{Jp(s,Wp.R_OK),wI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});function Pa(t,e){let r=Xp[e],n=_t(e);if("command"in t){let s=t.command??"";return r!=null&&s.includes(r)||s.includes(n)}return t.hooks?.some(s=>{let i=s.command??"";return r!=null&&i.includes(r)||i.includes(n)})??!1}function _t(t){return`context-mode hook cursor ${t.toLowerCase()}`}var ae,Xp,EI,Qp,Pv,Rv,Ov=$e(()=>{"use strict";ae={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Xp={[ae.PRE_TOOL_USE]:"pretooluse.mjs",[ae.POST_TOOL_USE]:"posttooluse.mjs",[ae.SESSION_START]:"sessionstart.mjs",[ae.STOP]:"stop.mjs"},EI=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Qp=EI.join("|"),Pv=[ae.PRE_TOOL_USE],Rv=[ae.POST_TOOL_USE]});var Mv={};We(Mv,{CursorAdapter:()=>tf});import{createHash as Cv}from"node:crypto";import{readFileSync as ef,writeFileSync as TI,mkdirSync as Iv,copyFileSync as $I,accessSync as zv,chmodSync as PI,constants as Nv,existsSync as Av}from"node:fs";import{execSync as RI}from"node:child_process";import{resolve as lo,join as hn}from"node:path";import{homedir as Ra}from"node:os";var jv,tf,Dv=$e(()=>{"use strict";Ov();jv="/Library/Application Support/Cursor/hooks.json",tf=class{name="Cursor";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output??r.error_message,isError:!!r.error_message,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??r.trigger??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(r),raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{permission:"deny",user_message:e.reason??"Blocked by context-mode hook"}:e.decision==="modify"&&e.updatedInput?{updated_input:e.updatedInput}:e.decision==="context"&&e.additionalContext?{agent_message:e.additionalContext}:e.decision==="ask"?{permission:"ask",user_message:e.reason??"Action requires user confirmation (security policy)"}:{agent_message:""}}formatPostToolUseResponse(e){return{additional_context:e.additionalContext??""}}formatSessionStartResponse(e){return{additional_context:e.context??""}}parseStopInput(e){let r=e;return{sessionId:r.conversation_id??`pid-${process.ppid}`,status:r.status??"completed",loopCount:r.loop_count??0,generationId:r.generation_id,transcriptPath:r.transcript_path??void 0}}formatStopResponse(e){return e.followupMessage?{followup_message:e.followupMessage}:{}}parseAfterAgentResponseInput(e){return{text:e.text??""}}getSettingsPath(){return lo(".cursor","hooks.json")}getSessionDir(){let e=hn(Ra(),".cursor","context-mode","sessions");return Iv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Cv("sha256").update(e).digest("hex").slice(0,16);return hn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Cv("sha256").update(e).digest("hex").slice(0,16);return hn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ae.PRE_TOOL_USE]:[{type:"command",command:_t(ae.PRE_TOOL_USE),matcher:Qp,loop_limit:null,failClosed:!1}],[ae.POST_TOOL_USE]:[{type:"command",command:_t(ae.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[ae.SESSION_START]:[{type:"command",command:_t(ae.SESSION_START),loop_limit:null,failClosed:!1}],[ae.STOP]:[{type:"command",command:_t(ae.STOP),loop_limit:null,failClosed:!1}],[ae.AFTER_AGENT_RESPONSE]:[{type:"command",command:_t(ae.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=ef(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();Iv(lo(".cursor"),{recursive:!0}),TI(r,JSON.stringify(e,null,2)+` -`,"utf-8")}validateHooks(e){let r=[],n=this.loadNativeHookConfig();if(!n)r.push({check:"Native hook config",status:"fail",message:"No readable native Cursor hook config found in .cursor/hooks.json or ~/.cursor/hooks.json",fix:"context-mode upgrade"});else{let o=n.config.hooks??{};r.push({check:"Native hook config",status:"pass",message:`Loaded ${n.path}`});for(let s of Pv){let i=o[s],a=Array.isArray(i)&&i.some(c=>Pa(c,s));r.push({check:s,status:a?"pass":"fail",message:a?`${s} hook configured`:`${s} hook not configured in ${n.path}`,fix:a?void 0:"context-mode upgrade"})}for(let s of Rv){let i=o[s],a=Array.isArray(i)&&i.some(c=>Pa(c,s));r.push({check:s,status:a?"pass":"warn",message:a?`${s} hook configured`:`${s} hook missing \u2014 session event capture will be reduced`})}}return Av(jv)&&r.push({check:"Enterprise hook config",status:"warn",message:"Enterprise Cursor hook config detected at /Library/Application Support/Cursor/hooks.json (read-only informational layer)"}),this.hasClaudeCompatibilityHooks()&&r.push({check:"Claude compatibility",status:"warn",message:"Claude-compatible hooks detected; native Cursor hooks are the supported configuration"}),r}checkPluginRegistration(){let e=[lo(".cursor","mcp.json"),hn(Ra(),".cursor","mcp.json")];for(let r of e)try{let n=ef(r,"utf-8"),o=JSON.parse(n),s=o.mcpServers??o.servers;if(!s)continue;if(Object.entries(s).some(([a,c])=>a.includes("context-mode")?!0:!c||typeof c!="object"?!1:c.command==="context-mode"))return{check:"MCP registration",status:"pass",message:`context-mode found in ${r}`}}catch{continue}return{check:"MCP registration",status:"warn",message:"Could not find context-mode in .cursor/mcp.json or ~/.cursor/mcp.json"}}getInstalledVersion(){try{return RI("cursor --version",{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim().split(/\r?\n/)[0]||"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=this.readSettings()??{version:1,hooks:{}},n=r.hooks??{},o=[];return this.upsertHookEntry(n,ae.PRE_TOOL_USE,{type:"command",command:_t(ae.PRE_TOOL_USE),matcher:Qp,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.POST_TOOL_USE,{type:"command",command:_t(ae.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.SESSION_START,{type:"command",command:_t(ae.SESSION_START),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.STOP,{type:"command",command:_t(ae.STOP),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.AFTER_AGENT_RESPONSE,{type:"command",command:_t(ae.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1},o),r.version=1,r.hooks=n,this.writeSettings(r),o.push(`Wrote native Cursor hooks to ${this.getSettingsPath()}`),o}backupSettings(){let e=this.getSettingsPath();try{zv(e,Nv.R_OK);let r=e+".bak";return $I(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=hn(e,"hooks","cursor");for(let o of Object.values(Xp)){let s=lo(n,o);try{zv(s,Nv.R_OK),PI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),hn(Ra(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(jv),e}getProjectDir(e){return e.cwd||e.workspace_roots?.[0]||process.env.CURSOR_CWD||process.cwd()}extractSessionId(e){return e.conversation_id?e.conversation_id:e.session_id?e.session_id:process.env.CURSOR_SESSION_ID?process.env.CURSOR_SESSION_ID:process.env.CURSOR_TRACE_ID?process.env.CURSOR_TRACE_ID:`pid-${process.ppid}`}loadNativeHookConfig(){for(let e of this.getCandidateHookConfigPaths())try{let r=ef(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[lo(".claude","settings.json"),lo(".claude","settings.local.json"),hn(Ra(),".claude","settings.json")].some(r=>Av(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>Pa(c,r));a>=0?(i[a]=n,o.push(`Updated existing ${r} hook entry`)):(i.push(n),o.push(`Added ${r} hook entry`)),e[r]=i}}});var Hv={};We(Hv,{AntigravityAdapter:()=>sf});import{createHash as Lv}from"node:crypto";import{readFileSync as Oa,writeFileSync as OI,mkdirSync as Zv,copyFileSync as CI,accessSync as II,constants as zI}from"node:fs";import{resolve as rf,join as nf,dirname as Uv}from"node:path";import{fileURLToPath as NI}from"node:url";import{homedir as of}from"node:os";var sf,qv=$e(()=>{"use strict";sf=class{name="Antigravity";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePostToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePreCompactInput(e){throw new Error("Antigravity does not support hooks")}parseSessionStartInput(e){throw new Error("Antigravity does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return rf(of(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=nf(of(),".gemini","context-mode","sessions");return Zv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Lv("sha256").update(e).digest("hex").slice(0,16);return nf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Lv("sha256").update(e).digest("hex").slice(0,16);return nf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Oa(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Zv(Uv(r),{recursive:!0}),OI(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Antigravity does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=Oa(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.gemini/antigravity/mcp_config.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.gemini/antigravity/mcp_config.json"}}}getInstalledVersion(){try{let e=rf(of(),".gemini","extensions","context-mode","package.json");return JSON.parse(Oa(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{II(e,zI.R_OK);let r=e+".bak";return CI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=rf(Uv(NI(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Oa(e,"utf-8")}catch{return`# context-mode +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});function uo(t,e){let r=Ta[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/${r}"`:`context-mode hook vscode-copilot ${t.toLowerCase()}`}var ie,Ta,zZ,NZ,bv=$e(()=>{"use strict";ie={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Ta={[ie.PRE_TOOL_USE]:"pretooluse.mjs",[ie.POST_TOOL_USE]:"posttooluse.mjs",[ie.PRE_COMPACT]:"precompact.mjs",[ie.SESSION_START]:"sessionstart.mjs"},zZ=[ie.PRE_TOOL_USE,ie.SESSION_START],NZ=[ie.POST_TOOL_USE,ie.PRE_COMPACT]});var Tv={};We(Tv,{VSCodeCopilotAdapter:()=>Gp});import{createHash as wv}from"node:crypto";import{readFileSync as $a,writeFileSync as Ev,mkdirSync as Vp,copyFileSync as bI,accessSync as Kp,existsSync as wI,chmodSync as EI,constants as Jp}from"node:fs";import{resolve as Rt,join as mn}from"node:path";import{homedir as Wp}from"node:os";var Gp,$v=$e(()=>{"use strict";bv();Gp=class{name="VS Code Copilot";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.PRE_TOOL_USE,additionalContext:e.additionalContext}};if(e.decision==="ask")return{permissionDecision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:ie.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Rt(".github","hooks","context-mode.json")}getSessionDir(){let e=Rt(".github","context-mode","sessions"),r=mn(Wp(),".vscode","context-mode","sessions"),n=wI(Rt(".github"))?e:r;return Vp(n,{recursive:!0}),n}getSessionDBPath(e){let r=wv("sha256").update(e).digest("hex").slice(0,16);return mn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=wv("sha256").update(e).digest("hex").slice(0,16);return mn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ie.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:uo(ie.PRE_TOOL_USE,e)}]}],[ie.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:uo(ie.POST_TOOL_USE,e)}]}],[ie.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:uo(ie.PRE_COMPACT,e)}]}],[ie.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:uo(ie.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),Rt(".claude","settings.json")];for(let r of e)try{let n=$a(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=Rt(".github","hooks");Vp(n,{recursive:!0}),Ev(r,JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=Rt(".github","hooks");try{Kp(n,Jp.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=Rt(n,"context-mode.json");try{let s=$a(o,"utf-8"),a=JSON.parse(s).hooks;a?.[ie.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in context-mode.json",fix:"context-mode upgrade"}),a?.[ie.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in context-mode.json",fix:"context-mode upgrade"})}catch{r.push({check:"Hook configuration",status:"fail",message:"Could not read .github/hooks/context-mode.json",fix:"context-mode upgrade"})}return r.push({check:"API stability",status:"warn",message:"VS Code Copilot hooks are in preview \u2014 API may change without notice"}),r.push({check:"Matcher support",status:"warn",message:"Matchers are parsed but IGNORED \u2014 all hooks fire on all tools"}),r}checkPluginRegistration(){try{let e=Rt(".vscode","mcp.json"),r=$a(e,"utf-8"),o=JSON.parse(r).servers;return o&&Object.keys(o).some(i=>i.includes("context-mode"))?{check:"MCP registration",status:"pass",message:"context-mode found in .vscode/mcp.json"}:{check:"MCP registration",status:"fail",message:"context-mode not found in .vscode/mcp.json",fix:"Add context-mode server to .vscode/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read .vscode/mcp.json"}}}getInstalledVersion(){let e=[mn(Wp(),".vscode","extensions"),mn(Wp(),".vscode-insiders","extensions")];for(let r of e)try{let n=$a(mn(r,"extensions.json"),"utf-8"),s=JSON.parse(n).find(i=>typeof i.identifier=="object"&&i.identifier!==null&&i.identifier.id?.toString().includes("context-mode"));if(s&&typeof s.version=="string")return s.version}catch{continue}return"not installed"}configureAllHooks(e){let r=[],n={hooks:{}},o=n.hooks,s=[ie.PRE_TOOL_USE,ie.POST_TOOL_USE,ie.PRE_COMPACT,ie.SESSION_START];for(let c of s)Ta[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:uo(c,e)}]}],r.push(`Configured ${c} hook`));let i=Rt(".github","hooks");Vp(i,{recursive:!0});let a=Rt(i,"context-mode.json");return Ev(a,JSON.stringify(n,null,2)+` +`,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{Kp(e,Jp.R_OK);let r=e+".bak";return bI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=mn(e,"hooks","vscode-copilot");for(let o of Object.values(Ta)){let s=Rt(n,o);try{Kp(s,Jp.R_OK),EI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});function Pa(t,e){let r=Yp[e],n=_t(e);if("command"in t){let s=t.command??"";return r!=null&&s.includes(r)||s.includes(n)}return t.hooks?.some(s=>{let i=s.command??"";return r!=null&&i.includes(r)||i.includes(n)})??!1}function _t(t){return`context-mode hook cursor ${t.toLowerCase()}`}var ae,Yp,TI,Xp,Pv,Rv,Ov=$e(()=>{"use strict";ae={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Yp={[ae.PRE_TOOL_USE]:"pretooluse.mjs",[ae.POST_TOOL_USE]:"posttooluse.mjs",[ae.SESSION_START]:"sessionstart.mjs",[ae.STOP]:"stop.mjs"},TI=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Xp=TI.join("|"),Pv=[ae.PRE_TOOL_USE],Rv=[ae.POST_TOOL_USE]});var Mv={};We(Mv,{CursorAdapter:()=>ef});import{createHash as Cv}from"node:crypto";import{readFileSync as Qp,writeFileSync as $I,mkdirSync as Iv,copyFileSync as PI,accessSync as zv,chmodSync as RI,constants as Nv,existsSync as Av}from"node:fs";import{execSync as OI}from"node:child_process";import{resolve as lo,join as hn}from"node:path";import{homedir as Ra}from"node:os";var jv,ef,Dv=$e(()=>{"use strict";Ov();jv="/Library/Application Support/Cursor/hooks.json",ef=class{name="Cursor";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!0,canModifyOutput:!1,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output??r.error_message,isError:!!r.error_message,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(r),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??r.trigger??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(r),raw:e}}formatPreToolUseResponse(e){return e.decision==="deny"?{permission:"deny",user_message:e.reason??"Blocked by context-mode hook"}:e.decision==="modify"&&e.updatedInput?{updated_input:e.updatedInput}:e.decision==="context"&&e.additionalContext?{agent_message:e.additionalContext}:e.decision==="ask"?{permission:"ask",user_message:e.reason??"Action requires user confirmation (security policy)"}:{agent_message:""}}formatPostToolUseResponse(e){return{additional_context:e.additionalContext??""}}formatSessionStartResponse(e){return{additional_context:e.context??""}}parseStopInput(e){let r=e;return{sessionId:r.conversation_id??`pid-${process.ppid}`,status:r.status??"completed",loopCount:r.loop_count??0,generationId:r.generation_id,transcriptPath:r.transcript_path??void 0}}formatStopResponse(e){return e.followupMessage?{followup_message:e.followupMessage}:{}}parseAfterAgentResponseInput(e){return{text:e.text??""}}getSettingsPath(){return lo(".cursor","hooks.json")}getSessionDir(){let e=hn(Ra(),".cursor","context-mode","sessions");return Iv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Cv("sha256").update(e).digest("hex").slice(0,16);return hn(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Cv("sha256").update(e).digest("hex").slice(0,16);return hn(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[ae.PRE_TOOL_USE]:[{type:"command",command:_t(ae.PRE_TOOL_USE),matcher:Xp,loop_limit:null,failClosed:!1}],[ae.POST_TOOL_USE]:[{type:"command",command:_t(ae.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[ae.SESSION_START]:[{type:"command",command:_t(ae.SESSION_START),loop_limit:null,failClosed:!1}],[ae.STOP]:[{type:"command",command:_t(ae.STOP),loop_limit:null,failClosed:!1}],[ae.AFTER_AGENT_RESPONSE]:[{type:"command",command:_t(ae.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=Qp(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();Iv(lo(".cursor"),{recursive:!0}),$I(r,JSON.stringify(e,null,2)+` +`,"utf-8")}validateHooks(e){let r=[],n=this.loadNativeHookConfig();if(!n)r.push({check:"Native hook config",status:"fail",message:"No readable native Cursor hook config found in .cursor/hooks.json or ~/.cursor/hooks.json",fix:"context-mode upgrade"});else{let o=n.config.hooks??{};r.push({check:"Native hook config",status:"pass",message:`Loaded ${n.path}`});for(let s of Pv){let i=o[s],a=Array.isArray(i)&&i.some(c=>Pa(c,s));r.push({check:s,status:a?"pass":"fail",message:a?`${s} hook configured`:`${s} hook not configured in ${n.path}`,fix:a?void 0:"context-mode upgrade"})}for(let s of Rv){let i=o[s],a=Array.isArray(i)&&i.some(c=>Pa(c,s));r.push({check:s,status:a?"pass":"warn",message:a?`${s} hook configured`:`${s} hook missing \u2014 session event capture will be reduced`})}}return Av(jv)&&r.push({check:"Enterprise hook config",status:"warn",message:"Enterprise Cursor hook config detected at /Library/Application Support/Cursor/hooks.json (read-only informational layer)"}),this.hasClaudeCompatibilityHooks()&&r.push({check:"Claude compatibility",status:"warn",message:"Claude-compatible hooks detected; native Cursor hooks are the supported configuration"}),r}checkPluginRegistration(){let e=[lo(".cursor","mcp.json"),hn(Ra(),".cursor","mcp.json")];for(let r of e)try{let n=Qp(r,"utf-8"),o=JSON.parse(n),s=o.mcpServers??o.servers;if(!s)continue;if(Object.entries(s).some(([a,c])=>a.includes("context-mode")?!0:!c||typeof c!="object"?!1:c.command==="context-mode"))return{check:"MCP registration",status:"pass",message:`context-mode found in ${r}`}}catch{continue}return{check:"MCP registration",status:"warn",message:"Could not find context-mode in .cursor/mcp.json or ~/.cursor/mcp.json"}}getInstalledVersion(){try{return OI("cursor --version",{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim().split(/\r?\n/)[0]||"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=this.readSettings()??{version:1,hooks:{}},n=r.hooks??{},o=[];return this.upsertHookEntry(n,ae.PRE_TOOL_USE,{type:"command",command:_t(ae.PRE_TOOL_USE),matcher:Xp,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.POST_TOOL_USE,{type:"command",command:_t(ae.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.SESSION_START,{type:"command",command:_t(ae.SESSION_START),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.STOP,{type:"command",command:_t(ae.STOP),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,ae.AFTER_AGENT_RESPONSE,{type:"command",command:_t(ae.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1},o),r.version=1,r.hooks=n,this.writeSettings(r),o.push(`Wrote native Cursor hooks to ${this.getSettingsPath()}`),o}backupSettings(){let e=this.getSettingsPath();try{zv(e,Nv.R_OK);let r=e+".bak";return PI(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=hn(e,"hooks","cursor");for(let o of Object.values(Yp)){let s=lo(n,o);try{zv(s,Nv.R_OK),RI(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),hn(Ra(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(jv),e}getProjectDir(e){return e.cwd||e.workspace_roots?.[0]||process.env.CURSOR_CWD||process.cwd()}extractSessionId(e){return e.conversation_id?e.conversation_id:e.session_id?e.session_id:process.env.CURSOR_SESSION_ID?process.env.CURSOR_SESSION_ID:process.env.CURSOR_TRACE_ID?process.env.CURSOR_TRACE_ID:`pid-${process.ppid}`}loadNativeHookConfig(){for(let e of this.getCandidateHookConfigPaths())try{let r=Qp(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[lo(".claude","settings.json"),lo(".claude","settings.local.json"),hn(Ra(),".claude","settings.json")].some(r=>Av(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>Pa(c,r));a>=0?(i[a]=n,o.push(`Updated existing ${r} hook entry`)):(i.push(n),o.push(`Added ${r} hook entry`)),e[r]=i}}});var Hv={};We(Hv,{AntigravityAdapter:()=>of});import{createHash as Lv}from"node:crypto";import{readFileSync as Oa,writeFileSync as CI,mkdirSync as Zv,copyFileSync as II,accessSync as zI,constants as NI}from"node:fs";import{resolve as tf,join as rf,dirname as Uv}from"node:path";import{fileURLToPath as AI}from"node:url";import{homedir as nf}from"node:os";var of,Fv=$e(()=>{"use strict";of=class{name="Antigravity";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePostToolUseInput(e){throw new Error("Antigravity does not support hooks")}parsePreCompactInput(e){throw new Error("Antigravity does not support hooks")}parseSessionStartInput(e){throw new Error("Antigravity does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return tf(nf(),".gemini","antigravity","mcp_config.json")}getSessionDir(){let e=rf(nf(),".gemini","context-mode","sessions");return Zv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Lv("sha256").update(e).digest("hex").slice(0,16);return rf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Lv("sha256").update(e).digest("hex").slice(0,16);return rf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=Oa(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Zv(Uv(r),{recursive:!0}),CI(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Antigravity does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=Oa(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.gemini/antigravity/mcp_config.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.gemini/antigravity/mcp_config.json"}}}getInstalledVersion(){try{let e=tf(nf(),".gemini","extensions","context-mode","package.json");return JSON.parse(Oa(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{zI(e,NI.R_OK);let r=e+".bak";return II(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=tf(Uv(AI(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Oa(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});function Rs(t,e){let r=Fv[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function Os(t,e){let r=Fv[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var we,Fv,XZ,QZ,Bv=$e(()=>{"use strict";we={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},Fv={[we.PRE_TOOL_USE]:"pretooluse.mjs",[we.POST_TOOL_USE]:"posttooluse.mjs"},XZ=[we.PRE_TOOL_USE],QZ=[we.POST_TOOL_USE]});var Wv={};We(Wv,{KiroAdapter:()=>uf});import{createHash as Vv}from"node:crypto";import{readFileSync as po,writeFileSync as Kv,mkdirSync as af,copyFileSync as AI,accessSync as jI,constants as MI}from"node:fs";import{resolve as fo,join as cf,dirname as Jv}from"node:path";import{fileURLToPath as DI}from"node:url";import{homedir as Cs}from"node:os";var uf,Gv=$e(()=>{"use strict";Bv();uf=class{name="Kiro";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e,n=r.tool_response;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:typeof n=="string"?n:JSON.stringify(n??""),sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePreCompactInput(e){throw new Error("Kiro does not support PreCompact hooks")}parseSessionStartInput(e){throw new Error("Kiro does not support SessionStart hooks (yet)")}formatPreToolUseResponse(e){switch(e.decision){case"deny":return{exitCode:2,stderr:e.reason??"Blocked by context-mode"};case"context":return{exitCode:0,stdout:e.additionalContext??""};default:return}}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return fo(Cs(),".kiro","settings","mcp.json")}getSessionDir(){let e=cf(Cs(),".kiro","context-mode","sessions");return af(e,{recursive:!0}),e}getSessionDBPath(e){let r=Vv("sha256").update(e).digest("hex").slice(0,16);return cf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Vv("sha256").update(e).digest("hex").slice(0,16);return cf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[we.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Os(we.PRE_TOOL_USE,e)}]}],[we.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Os(we.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=po(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();af(Jv(r),{recursive:!0}),Kv(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=fo(Cs(),".kiro","agents","default.json");try{let s=JSON.parse(po(n,"utf-8")).hooks??{};for(let i of[we.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>Rs(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"fail",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured`,...c?{}:{fix:"Run: context-mode upgrade"}})}for(let i of[we.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>Rs(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"warn",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured (optional)`})}}catch{r.push({check:"Hook configuration",status:"warn",message:"Could not read ~/.kiro/agents/default.json",fix:"Run: context-mode upgrade"})}return r}checkPluginRegistration(){try{let e=po(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.kiro/settings/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.kiro/settings/mcp.json"}}}getInstalledVersion(){try{let e=fo(Cs(),".kiro","extensions","context-mode","package.json");return JSON.parse(po(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=fo(Cs(),".kiro","agents"),o=fo(n,"default.json");try{af(n,{recursive:!0});let s={};try{s=JSON.parse(po(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[we.PRE_TOOL_USE]??[];a.some(u=>Rs(u,we.PRE_TOOL_USE))||(a.push({matcher:"*",command:Os(we.PRE_TOOL_USE,e)}),i[we.PRE_TOOL_USE]=a,r.push(`Added ${we.PRE_TOOL_USE} hook to ${o}`));let c=i[we.POST_TOOL_USE]??[];c.some(u=>Rs(u,we.POST_TOOL_USE))||(c.push({matcher:"*",command:Os(we.POST_TOOL_USE,e)}),i[we.POST_TOOL_USE]=c,r.push(`Added ${we.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,Kv(o,JSON.stringify(s,null,2),"utf-8")}catch(s){r.push(`Failed to configure hooks: ${s.message}`)}return r}backupSettings(){let e=this.getSettingsPath();try{jI(e,MI.R_OK);let r=e+".bak";return AI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=fo(Jv(DI(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return po(e,"utf-8")}catch{return`# context-mode +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});function Rs(t,e){let r=qv[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function Os(t,e){let r=qv[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var we,qv,QZ,eU,Bv=$e(()=>{"use strict";we={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},qv={[we.PRE_TOOL_USE]:"pretooluse.mjs",[we.POST_TOOL_USE]:"posttooluse.mjs"},QZ=[we.PRE_TOOL_USE],eU=[we.POST_TOOL_USE]});var Wv={};We(Wv,{KiroAdapter:()=>cf});import{createHash as Vv}from"node:crypto";import{readFileSync as po,writeFileSync as Kv,mkdirSync as sf,copyFileSync as jI,accessSync as MI,constants as DI}from"node:fs";import{resolve as fo,join as af,dirname as Jv}from"node:path";import{fileURLToPath as LI}from"node:url";import{homedir as Cs}from"node:os";var cf,Gv=$e(()=>{"use strict";Bv();cf=class{name="Kiro";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e,n=r.tool_response;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:typeof n=="string"?n:JSON.stringify(n??""),sessionId:`pid-${process.ppid}`,projectDir:r.cwd??process.cwd(),raw:e}}parsePreCompactInput(e){throw new Error("Kiro does not support PreCompact hooks")}parseSessionStartInput(e){throw new Error("Kiro does not support SessionStart hooks (yet)")}formatPreToolUseResponse(e){switch(e.decision){case"deny":return{exitCode:2,stderr:e.reason??"Blocked by context-mode"};case"context":return{exitCode:0,stdout:e.additionalContext??""};default:return}}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return fo(Cs(),".kiro","settings","mcp.json")}getSessionDir(){let e=af(Cs(),".kiro","context-mode","sessions");return sf(e,{recursive:!0}),e}getSessionDBPath(e){let r=Vv("sha256").update(e).digest("hex").slice(0,16);return af(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Vv("sha256").update(e).digest("hex").slice(0,16);return af(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[we.PRE_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Os(we.PRE_TOOL_USE,e)}]}],[we.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:Os(we.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=po(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();sf(Jv(r),{recursive:!0}),Kv(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=fo(Cs(),".kiro","agents","default.json");try{let s=JSON.parse(po(n,"utf-8")).hooks??{};for(let i of[we.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>Rs(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"fail",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured`,...c?{}:{fix:"Run: context-mode upgrade"}})}for(let i of[we.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>Rs(u,i));r.push({check:`Hook: ${i}`,status:c?"pass":"warn",message:c?`context-mode ${i} hook found`:`context-mode ${i} hook not configured (optional)`})}}catch{r.push({check:"Hook configuration",status:"warn",message:"Could not read ~/.kiro/agents/default.json",fix:"Run: context-mode upgrade"})}return r}checkPluginRegistration(){try{let e=po(this.getSettingsPath(),"utf-8");return"context-mode"in(JSON.parse(e)?.mcpServers??{})?{check:"MCP registration",status:"pass",message:"context-mode found in mcpServers config"}:{check:"MCP registration",status:"fail",message:"context-mode not found in mcpServers",fix:"Add context-mode to mcpServers in ~/.kiro/settings/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.kiro/settings/mcp.json"}}}getInstalledVersion(){try{let e=fo(Cs(),".kiro","extensions","context-mode","package.json");return JSON.parse(po(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=fo(Cs(),".kiro","agents"),o=fo(n,"default.json");try{sf(n,{recursive:!0});let s={};try{s=JSON.parse(po(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[we.PRE_TOOL_USE]??[];a.some(u=>Rs(u,we.PRE_TOOL_USE))||(a.push({matcher:"*",command:Os(we.PRE_TOOL_USE,e)}),i[we.PRE_TOOL_USE]=a,r.push(`Added ${we.PRE_TOOL_USE} hook to ${o}`));let c=i[we.POST_TOOL_USE]??[];c.some(u=>Rs(u,we.POST_TOOL_USE))||(c.push({matcher:"*",command:Os(we.POST_TOOL_USE,e)}),i[we.POST_TOOL_USE]=c,r.push(`Added ${we.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,Kv(o,JSON.stringify(s,null,2),"utf-8")}catch(s){r.push(`Failed to configure hooks: ${s.message}`)}return r}backupSettings(){let e=this.getSettingsPath();try{MI(e,DI.R_OK);let r=e+".bak";return jI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=fo(Jv(LI(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return po(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});var rS={};We(rS,{ZedAdapter:()=>pf});import{createHash as Yv}from"node:crypto";import{readFileSync as lf,writeFileSync as LI,mkdirSync as Xv,copyFileSync as ZI,accessSync as UI,constants as HI}from"node:fs";import{resolve as Qv,join as df,dirname as eS}from"node:path";import{fileURLToPath as qI}from"node:url";import{homedir as tS}from"node:os";var pf,nS=$e(()=>{"use strict";pf=class{name="Zed";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Zed does not support hooks")}parsePostToolUseInput(e){throw new Error("Zed does not support hooks")}parsePreCompactInput(e){throw new Error("Zed does not support hooks")}parseSessionStartInput(e){throw new Error("Zed does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return Qv(tS(),".config","zed","settings.json")}getSessionDir(){let e=df(tS(),".config","zed","context-mode","sessions");return Xv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Yv("sha256").update(e).digest("hex").slice(0,16);return df(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Yv("sha256").update(e).digest("hex").slice(0,16);return df(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=lf(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Xv(eS(r),{recursive:!0}),LI(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Zed does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=lf(this.getSettingsPath(),"utf-8"),n=JSON.parse(e).context_servers!==void 0,o=e.includes("context-mode");return n&&o?{check:"MCP registration",status:"pass",message:"context-mode found in context_servers config"}:n?{check:"MCP registration",status:"fail",message:"context_servers section exists but context-mode not found",fix:"Add context-mode to context_servers in ~/.config/zed/settings.json"}:{check:"MCP registration",status:"fail",message:"No context_servers section in settings.json",fix:"Add context_servers.context-mode to ~/.config/zed/settings.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.config/zed/settings.json"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{UI(e,HI.R_OK);let r=e+".bak";return ZI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Qv(eS(qI(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return lf(e,"utf-8")}catch{return`# context-mode +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of run_command/view_file for data-heavy operations.`}}}});var rS={};We(rS,{ZedAdapter:()=>df});import{createHash as Yv}from"node:crypto";import{readFileSync as uf,writeFileSync as ZI,mkdirSync as Xv,copyFileSync as UI,accessSync as HI,constants as FI}from"node:fs";import{resolve as Qv,join as lf,dirname as eS}from"node:path";import{fileURLToPath as qI}from"node:url";import{homedir as tS}from"node:os";var df,nS=$e(()=>{"use strict";df=class{name="Zed";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Zed does not support hooks")}parsePostToolUseInput(e){throw new Error("Zed does not support hooks")}parsePreCompactInput(e){throw new Error("Zed does not support hooks")}parseSessionStartInput(e){throw new Error("Zed does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return Qv(tS(),".config","zed","settings.json")}getSessionDir(){let e=lf(tS(),".config","zed","context-mode","sessions");return Xv(e,{recursive:!0}),e}getSessionDBPath(e){let r=Yv("sha256").update(e).digest("hex").slice(0,16);return lf(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Yv("sha256").update(e).digest("hex").slice(0,16);return lf(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{let e=uf(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();Xv(eS(r),{recursive:!0}),ZI(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Zed does not support hooks. Only MCP integration is available."}]}checkPluginRegistration(){try{let e=uf(this.getSettingsPath(),"utf-8"),n=JSON.parse(e).context_servers!==void 0,o=e.includes("context-mode");return n&&o?{check:"MCP registration",status:"pass",message:"context-mode found in context_servers config"}:n?{check:"MCP registration",status:"fail",message:"context_servers section exists but context-mode not found",fix:"Add context-mode to context_servers in ~/.config/zed/settings.json"}:{check:"MCP registration",status:"fail",message:"No context_servers section in settings.json",fix:"Add context_servers.context-mode to ~/.config/zed/settings.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.config/zed/settings.json"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{HI(e,FI.R_OK);let r=e+".bak";return UI(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Qv(eS(qI(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return uf(e,"utf-8")}catch{return`# context-mode -Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var sS={};We(sS,{detectPlatform:()=>oS,getAdapter:()=>BI});import{existsSync as Ht}from"node:fs";import{resolve as qt}from"node:path";import{homedir as FI}from"node:os";function oS(t){if(t?.name){let n=Vx[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","kilo","opencode","codex","vscode-copilot","cursor","antigravity","kiro","pi","zed"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCLAW_HOME||process.env.OPENCLAW_CLI)return{platform:"openclaw",confidence:"high",reason:"OPENCLAW_HOME or OPENCLAW_CLI env var set"};if(process.env.KILO||process.env.KILO_PID)return{platform:"kilo",confidence:"high",reason:"KILO or KILO_PID env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.CURSOR_TRACE_ID||process.env.CURSOR_CLI)return{platform:"cursor",confidence:"high",reason:"CURSOR_TRACE_ID or CURSOR_CLI env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let r=FI();return Ht(qt(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Ht(qt(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Ht(qt(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Ht(qt(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Ht(qt(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Ht(qt(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Ht(qt(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Ht(qt(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Ht(qt(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Ht(qt(r,".config","zed"))?{platform:"zed",confidence:"medium",reason:"~/.config/zed/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function BI(t){let e=t??oS().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Mp(),jp));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(cv(),av));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(fv(),pv));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(_v(),gv));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(kv(),Sv));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>($v(),Tv));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(Dv(),Mv));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(qv(),Hv));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(Gv(),Wv));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(nS(),rS));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Mp(),jp));return new r}}}var iS=$e(()=>{"use strict";Kx()});var L={};We(L,{BRAND:()=>GS,DIRTY:()=>Cr,EMPTY_PATH:()=>PS,INVALID:()=>A,NEVER:()=>zk,OK:()=>Ze,ParseStatus:()=>Ce,Schema:()=>q,ZodAny:()=>ir,ZodArray:()=>Wt,ZodBigInt:()=>zr,ZodBoolean:()=>Nr,ZodBranded:()=>go,ZodCatch:()=>Br,ZodDate:()=>Ar,ZodDefault:()=>Fr,ZodDiscriminatedUnion:()=>As,ZodEffects:()=>ct,ZodEnum:()=>Hr,ZodError:()=>Ge,ZodFirstPartyTypeKind:()=>b,ZodFunction:()=>Ms,ZodIntersection:()=>Lr,ZodIssueCode:()=>k,ZodLazy:()=>Zr,ZodLiteral:()=>Ur,ZodMap:()=>wn,ZodNaN:()=>Tn,ZodNativeEnum:()=>qr,ZodNever:()=>yt,ZodNull:()=>Mr,ZodNullable:()=>zt,ZodNumber:()=>Ir,ZodObject:()=>Xe,ZodOptional:()=>Ye,ZodParsedType:()=>$,ZodPipeline:()=>_o,ZodPromise:()=>ar,ZodReadonly:()=>Vr,ZodRecord:()=>js,ZodSchema:()=>q,ZodSet:()=>En,ZodString:()=>sr,ZodSymbol:()=>kn,ZodTransformer:()=>ct,ZodTuple:()=>It,ZodType:()=>q,ZodUndefined:()=>jr,ZodUnion:()=>Dr,ZodUnknown:()=>Jt,ZodVoid:()=>bn,addIssueToContext:()=>E,any:()=>sk,array:()=>uk,bigint:()=>ek,boolean:()=>Mf,coerce:()=>Ik,custom:()=>Nf,date:()=>tk,datetimeRegex:()=>If,defaultErrorMap:()=>Vt,discriminatedUnion:()=>pk,effect:()=>wk,enum:()=>Sk,function:()=>yk,getErrorMap:()=>xn,getParsedType:()=>Ct,instanceof:()=>XS,intersection:()=>fk,isAborted:()=>zs,isAsync:()=>vn,isDirty:()=>Ns,isValid:()=>or,late:()=>YS,lazy:()=>xk,literal:()=>vk,makeIssue:()=>ho,map:()=>gk,nan:()=>QS,nativeEnum:()=>kk,never:()=>ak,null:()=>ok,nullable:()=>Tk,number:()=>jf,object:()=>Ha,objectUtil:()=>La,oboolean:()=>Ck,onumber:()=>Ok,optional:()=>Ek,ostring:()=>Rk,pipeline:()=>Pk,preprocess:()=>$k,promise:()=>bk,quotelessJson:()=>ES,record:()=>hk,set:()=>_k,setErrorMap:()=>$S,strictObject:()=>lk,string:()=>Af,symbol:()=>rk,transformer:()=>wk,tuple:()=>mk,undefined:()=>nk,union:()=>dk,unknown:()=>ik,util:()=>J,void:()=>ck});var J;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(J||(J={}));var La;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(La||(La={}));var $=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ct=t=>{switch(typeof t){case"undefined":return $.undefined;case"string":return $.string;case"number":return Number.isNaN(t)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":return Array.isArray(t)?$.array:t===null?$.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?$.promise:typeof Map<"u"&&t instanceof Map?$.map:typeof Set<"u"&&t instanceof Set?$.set:typeof Date<"u"&&t instanceof Date?$.date:$.object;default:return $.unknown}};var k=J.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ES=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ge=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;cr.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ge.create=t=>new Ge(t);var TS=(t,e)=>{let r;switch(t.code){case k.invalid_type:t.received===$.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case k.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,J.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:r=`Unrecognized key(s) in object: ${J.joinValues(t.keys,", ")}`;break;case k.invalid_union:r="Invalid input";break;case k.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${J.joinValues(t.options)}`;break;case k.invalid_enum_value:r=`Invalid enum value. Expected ${J.joinValues(t.options)}, received '${t.received}'`;break;case k.invalid_arguments:r="Invalid function arguments";break;case k.invalid_return_type:r="Invalid function return type";break;case k.invalid_date:r="Invalid date";break;case k.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:J.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case k.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case k.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case k.custom:r="Invalid input";break;case k.invalid_intersection_types:r="Intersection results could not be merged";break;case k.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case k.not_finite:r="Number must be finite";break;default:r=e.defaultError,J.assertNever(t)}return{message:r}},Vt=TS;var $f=Vt;function $S(t){$f=t}function xn(){return $f}var ho=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},PS=[];function E(t,e){let r=xn(),n=ho({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Vt?void 0:Vt].filter(o=>!!o)});t.common.issues.push(n)}var Ce=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return A;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return A;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},A=Object.freeze({status:"aborted"}),Cr=t=>({status:"dirty",value:t}),Ze=t=>({status:"valid",value:t}),zs=t=>t.status==="aborted",Ns=t=>t.status==="dirty",or=t=>t.status==="valid",vn=t=>typeof Promise<"u"&&t instanceof Promise;var R;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(R||(R={}));var at=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Pf=(t,e)=>{if(or(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Ge(t.common.issues);return this._error=r,this._error}}};function U(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var q=class{get description(){return this._def.description}_getType(e){return Ct(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Ct(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ce,ctx:{common:e.parent.common,data:e.data,parsedType:Ct(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(vn(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)},o=this._parseSync({data:e,path:n.path,parent:n});return Pf(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return or(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>or(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(vn(o)?o:Promise.resolve(o));return Pf(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:k.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new ct({schema:this,typeName:b.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Ye.create(this,this._def)}nullable(){return zt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Wt.create(this)}promise(){return ar.create(this,this._def)}or(e){return Dr.create([this,e],this._def)}and(e){return Lr.create(this,e,this._def)}transform(e){return new ct({...U(this._def),schema:this,typeName:b.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Fr({...U(this._def),innerType:this,defaultValue:r,typeName:b.ZodDefault})}brand(){return new go({typeName:b.ZodBranded,type:this,...U(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Br({...U(this._def),innerType:this,catchValue:r,typeName:b.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return _o.create(this,e)}readonly(){return Vr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},RS=/^c[^\s-]{8,}$/i,OS=/^[0-9a-z]+$/,CS=/^[0-9A-HJKMNP-TV-Z]{26}$/i,IS=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,zS=/^[a-z0-9_-]{21}$/i,NS=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,AS=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,jS=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,MS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Za,DS=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,LS=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ZS=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,US=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,HS=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,qS=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Of="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",FS=new RegExp(`^${Of}$`);function Cf(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function BS(t){return new RegExp(`^${Cf(t)}$`)}function If(t){let e=`${Of}T${Cf(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function VS(t,e){return!!((e==="v4"||!e)&&DS.test(t)||(e==="v6"||!e)&&ZS.test(t))}function KS(t,e){if(!NS.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function JS(t,e){return!!((e==="v4"||!e)&&LS.test(t)||(e==="v6"||!e)&&US.test(t))}var sr=class t extends q{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==$.string){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:$.string,received:s.parsedType}),A}let n=new Ce,o;for(let s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.lengthe.test(o),{validation:r,code:k.invalid_string,...R.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...R.errToObj(e)})}url(e){return this._addCheck({kind:"url",...R.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...R.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...R.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...R.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...R.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...R.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...R.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...R.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...R.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...R.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...R.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...R.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...R.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...R.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...R.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...R.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...R.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...R.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...R.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...R.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...R.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...R.errToObj(r)})}nonempty(e){return this.min(1,R.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew sr({checks:[],typeName:b.ZodString,coerce:t?.coerce??!1,...U(t)});function WS(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var Ir=class t extends q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==$.number){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:$.number,received:s.parsedType}),A}let n,o=new Ce;for(let s of this._def.checks)s.kind==="int"?J.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?WS(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_finite,message:s.message}),o.dirty()):J.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:R.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:R.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&J.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew Ir({checks:[],typeName:b.ZodNumber,coerce:t?.coerce||!1,...U(t)});var zr=class t extends q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==$.bigint)return this._getInvalidInput(e);let n,o=new Ce;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):J.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return E(r,{code:k.invalid_type,expected:$.bigint,received:r.parsedType}),A}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew zr({checks:[],typeName:b.ZodBigInt,coerce:t?.coerce??!1,...U(t)});var Nr=class extends q{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.boolean,received:n.parsedType}),A}return Ze(e.data)}};Nr.create=t=>new Nr({typeName:b.ZodBoolean,coerce:t?.coerce||!1,...U(t)});var Ar=class t extends q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==$.date){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:$.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_date}),A}let n=new Ce,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:k.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):J.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:R.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:R.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Ar({checks:[],coerce:t?.coerce||!1,typeName:b.ZodDate,...U(t)});var kn=class extends q{_parse(e){if(this._getType(e)!==$.symbol){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.symbol,received:n.parsedType}),A}return Ze(e.data)}};kn.create=t=>new kn({typeName:b.ZodSymbol,...U(t)});var jr=class extends q{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.undefined,received:n.parsedType}),A}return Ze(e.data)}};jr.create=t=>new jr({typeName:b.ZodUndefined,...U(t)});var Mr=class extends q{_parse(e){if(this._getType(e)!==$.null){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.null,received:n.parsedType}),A}return Ze(e.data)}};Mr.create=t=>new Mr({typeName:b.ZodNull,...U(t)});var ir=class extends q{constructor(){super(...arguments),this._any=!0}_parse(e){return Ze(e.data)}};ir.create=t=>new ir({typeName:b.ZodAny,...U(t)});var Jt=class extends q{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ze(e.data)}};Jt.create=t=>new Jt({typeName:b.ZodUnknown,...U(t)});var yt=class extends q{_parse(e){let r=this._getOrReturnCtx(e);return E(r,{code:k.invalid_type,expected:$.never,received:r.parsedType}),A}};yt.create=t=>new yt({typeName:b.ZodNever,...U(t)});var bn=class extends q{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.void,received:n.parsedType}),A}return Ze(e.data)}};bn.create=t=>new bn({typeName:b.ZodVoid,...U(t)});var Wt=class t extends q{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==$.array)return E(r,{code:k.invalid_type,expected:$.array,received:r.parsedType}),A;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.lengtho.maxLength.value&&(E(r,{code:k.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new at(r,i,r.path,a)))).then(i=>Ce.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new at(r,i,r.path,a)));return Ce.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:R.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:R.toString(r)}})}nonempty(e){return this.min(1,e)}};Wt.create=(t,e)=>new Wt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:b.ZodArray,...U(e)});function Sn(t){if(t instanceof Xe){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ye.create(Sn(n))}return new Xe({...t._def,shape:()=>e})}else return t instanceof Wt?new Wt({...t._def,type:Sn(t.element)}):t instanceof Ye?Ye.create(Sn(t.unwrap())):t instanceof zt?zt.create(Sn(t.unwrap())):t instanceof It?It.create(t.items.map(e=>Sn(e))):t}var Xe=class t extends q{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=J.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==$.object){let u=this._getOrReturnCtx(e);return E(u,{code:k.invalid_type,expected:$.object,received:u.parsedType}),A}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof yt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new at(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof yt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(E(o,{code:k.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new at(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,f=await l.value;u.push({key:d,value:f,alwaysSet:l.alwaysSet})}return u}).then(u=>Ce.mergeObjectSync(n,u)):Ce.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return R.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:R.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:b.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of J.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of J.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Sn(this)}partial(e){let r={};for(let n of J.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of J.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Ye;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return zf(J.objectKeys(this.shape))}};Xe.create=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Xe.strictCreate=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strict",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Xe.lazycreate=(t,e)=>new Xe({shape:t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});var Dr=class extends q{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ge(a.ctx.common.issues));return E(r,{code:k.invalid_union,unionErrors:i}),A}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ge(c));return E(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};Dr.create=(t,e)=>new Dr({options:t,typeName:b.ZodUnion,...U(e)});var Kt=t=>t instanceof Zr?Kt(t.schema):t instanceof ct?Kt(t.innerType()):t instanceof Ur?[t.value]:t instanceof Hr?t.options:t instanceof qr?J.objectValues(t.enum):t instanceof Fr?Kt(t._def.innerType):t instanceof jr?[void 0]:t instanceof Mr?[null]:t instanceof Ye?[void 0,...Kt(t.unwrap())]:t instanceof zt?[null,...Kt(t.unwrap())]:t instanceof go||t instanceof Vr?Kt(t.unwrap()):t instanceof Br?Kt(t._def.innerType):[],As=class t extends q{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return E(r,{code:k.invalid_type,expected:$.object,received:r.parsedType}),A;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(E(r,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Kt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:b.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...U(n)})}};function Ua(t,e){let r=Ct(t),n=Ct(e);if(t===e)return{valid:!0,data:t};if(r===$.object&&n===$.object){let o=J.objectKeys(e),s=J.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Ua(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===$.array&&n===$.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s{if(zs(s)||zs(i))return A;let a=Ua(s.value,i.value);return a.valid?((Ns(s)||Ns(i))&&r.dirty(),{status:r.value,value:a.data}):(E(n,{code:k.invalid_intersection_types}),A)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Lr.create=(t,e,r)=>new Lr({left:t,right:e,typeName:b.ZodIntersection,...U(r)});var It=class t extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.array)return E(n,{code:k.invalid_type,expected:$.array,received:n.parsedType}),A;if(n.data.lengththis._def.items.length&&(E(n,{code:k.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new at(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ce.mergeArray(r,i)):Ce.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};It.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new It({items:t,typeName:b.ZodTuple,rest:null,...U(e)})};var js=class t extends q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.object)return E(n,{code:k.invalid_type,expected:$.object,received:n.parsedType}),A;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new at(n,a,n.path,a)),value:i._parse(new at(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ce.mergeObjectAsync(r,o):Ce.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof q?new t({keyType:e,valueType:r,typeName:b.ZodRecord,...U(n)}):new t({keyType:sr.create(),valueType:e,typeName:b.ZodRecord,...U(r)})}},wn=class extends q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.map)return E(n,{code:k.invalid_type,expected:$.map,received:n.parsedType}),A;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new at(n,a,n.path,[u,"key"])),value:s._parse(new at(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};wn.create=(t,e,r)=>new wn({valueType:e,keyType:t,typeName:b.ZodMap,...U(r)});var En=class t extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.set)return E(n,{code:k.invalid_type,expected:$.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(E(n,{code:k.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return A;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new at(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:R.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};En.create=(t,e)=>new En({valueType:t,minSize:null,maxSize:null,typeName:b.ZodSet,...U(e)});var Ms=class t extends q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.function)return E(r,{code:k.invalid_type,expected:$.function,received:r.parsedType}),A;function n(a,c){return ho({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,xn(),Vt].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return ho({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,xn(),Vt].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof ar){let a=this;return Ze(async function(...c){let u=new Ge([]),l=await a._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(n(c,m)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(o(d,m)),u})})}else{let a=this;return Ze(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Ge([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Ge([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:It.create(e).rest(Jt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||It.create([]).rest(Jt.create()),returns:r||Jt.create(),typeName:b.ZodFunction,...U(n)})}},Zr=class extends q{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Zr.create=(t,e)=>new Zr({getter:t,typeName:b.ZodLazy,...U(e)});var Ur=class extends q{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return E(r,{received:r.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:e.data}}get value(){return this._def.value}};Ur.create=(t,e)=>new Ur({value:t,typeName:b.ZodLiteral,...U(e)});function zf(t,e){return new Hr({values:t,typeName:b.ZodEnum,...U(e)})}var Hr=class t extends q{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{expected:J.joinValues(n),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{received:r.data,code:k.invalid_enum_value,options:n}),A}return Ze(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Hr.create=zf;var qr=class extends q{_parse(e){let r=J.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==$.string&&n.parsedType!==$.number){let o=J.objectValues(r);return E(n,{expected:J.joinValues(o),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(J.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=J.objectValues(r);return E(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return Ze(e.data)}get enum(){return this._def.values}};qr.create=(t,e)=>new qr({values:t,typeName:b.ZodNativeEnum,...U(e)});var ar=class extends q{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.promise&&r.common.async===!1)return E(r,{code:k.invalid_type,expected:$.promise,received:r.parsedType}),A;let n=r.parsedType===$.promise?r.data:Promise.resolve(r.data);return Ze(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};ar.create=(t,e)=>new ar({type:t,typeName:b.ZodPromise,...U(e)});var ct=class extends q{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===b.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{E(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return A;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?A:c.status==="dirty"?Cr(c.value):r.value==="dirty"?Cr(c.value):c});{if(r.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?A:a.status==="dirty"?Cr(a.value):r.value==="dirty"?Cr(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!or(i))return A;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>or(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):A);J.assertNever(o)}};ct.create=(t,e,r)=>new ct({schema:t,typeName:b.ZodEffects,effect:e,...U(r)});ct.createWithPreprocess=(t,e,r)=>new ct({schema:e,effect:{type:"preprocess",transform:t},typeName:b.ZodEffects,...U(r)});var Ye=class extends q{_parse(e){return this._getType(e)===$.undefined?Ze(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ye.create=(t,e)=>new Ye({innerType:t,typeName:b.ZodOptional,...U(e)});var zt=class extends q{_parse(e){return this._getType(e)===$.null?Ze(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};zt.create=(t,e)=>new zt({innerType:t,typeName:b.ZodNullable,...U(e)});var Fr=class extends q{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===$.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Fr.create=(t,e)=>new Fr({innerType:t,typeName:b.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...U(e)});var Br=class extends q{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return vn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Br.create=(t,e)=>new Br({innerType:t,typeName:b.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...U(e)});var Tn=class extends q{_parse(e){if(this._getType(e)!==$.nan){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};Tn.create=t=>new Tn({typeName:b.ZodNaN,...U(t)});var GS=Symbol("zod_brand"),go=class extends q{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},_o=class t extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?A:s.status==="dirty"?(r.dirty(),Cr(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?A:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:b.ZodPipeline})}},Vr=class extends q{_parse(e){let r=this._def.innerType._parse(e),n=o=>(or(o)&&(o.value=Object.freeze(o.value)),o);return vn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Vr.create=(t,e)=>new Vr({innerType:t,typeName:b.ZodReadonly,...U(e)});function Rf(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Nf(t,e={},r){return t?ir.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Rf(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Rf(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):ir.create()}var YS={object:Xe.lazycreate},b;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(b||(b={}));var XS=(t,e={message:`Input not instance of ${t.name}`})=>Nf(r=>r instanceof t,e),Af=sr.create,jf=Ir.create,QS=Tn.create,ek=zr.create,Mf=Nr.create,tk=Ar.create,rk=kn.create,nk=jr.create,ok=Mr.create,sk=ir.create,ik=Jt.create,ak=yt.create,ck=bn.create,uk=Wt.create,Ha=Xe.create,lk=Xe.strictCreate,dk=Dr.create,pk=As.create,fk=Lr.create,mk=It.create,hk=js.create,gk=wn.create,_k=En.create,yk=Ms.create,xk=Zr.create,vk=Ur.create,Sk=Hr.create,kk=qr.create,bk=ar.create,wk=ct.create,Ek=Ye.create,Tk=zt.create,$k=ct.createWithPreprocess,Pk=_o.create,Rk=()=>Af().optional(),Ok=()=>jf().optional(),Ck=()=>Mf().optional(),Ik={string:(t=>sr.create({...t,coerce:!0})),number:(t=>Ir.create({...t,coerce:!0})),boolean:(t=>Nr.create({...t,coerce:!0})),bigint:(t=>zr.create({...t,coerce:!0})),date:(t=>Ar.create({...t,coerce:!0}))};var zk=A;var Nk=Object.freeze({status:"aborted"});function v(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var Gt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ds={};function ot(t){return t&&Object.assign(Ds,t),Ds}var W={};We(W,{BIGINT_FORMAT_RANGES:()=>Lf,Class:()=>Fa,NUMBER_FORMAT_RANGES:()=>Ya,aborted:()=>Jr,allowsEval:()=>Ja,assert:()=>Lk,assertEqual:()=>Ak,assertIs:()=>Mk,assertNever:()=>Dk,assertNotEqual:()=>jk,assignProp:()=>Ka,cached:()=>vo,captureStackTrace:()=>Zs,cleanEnum:()=>Xk,cleanRegex:()=>ko,clone:()=>st,createTransparentProxy:()=>Bk,defineLazy:()=>ce,esc:()=>Kr,escapeRegex:()=>cr,extend:()=>Jk,finalizeIssue:()=>xt,floatSafeRemainder:()=>Va,getElementAtPath:()=>Zk,getEnumValues:()=>xo,getLengthableOrigin:()=>bo,getParsedType:()=>Fk,getSizableOrigin:()=>Zf,isObject:()=>$n,isPlainObject:()=>Pn,issue:()=>Xa,joinValues:()=>Ls,jsonStringifyReplacer:()=>Ba,merge:()=>Wk,normalizeParams:()=>j,nullish:()=>So,numKeys:()=>qk,omit:()=>Kk,optionalKeys:()=>Ga,partial:()=>Gk,pick:()=>Vk,prefixIssues:()=>Nt,primitiveTypes:()=>Df,promiseAllObject:()=>Uk,propertyKeyTypes:()=>Wa,randomString:()=>Hk,required:()=>Yk,stringifyPrimitive:()=>Us,unwrapMessage:()=>yo});function Ak(t){return t}function jk(t){return t}function Mk(t){}function Dk(t){throw new Error}function Lk(t){}function xo(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function Ls(t,e="|"){return t.map(r=>Us(r)).join(e)}function Ba(t,e){return typeof e=="bigint"?e.toString():e}function vo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function So(t){return t==null}function ko(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Va(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function ce(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function Ka(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Zk(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Uk(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s{};function $n(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ja=vo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Pn(t){if($n(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!($n(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function qk(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Fk=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Wa=new Set(["string","number","symbol"]),Df=new Set(["string","number","bigint","boolean","symbol","undefined"]);function cr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function st(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function j(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Bk(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function Us(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ga(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Ya={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Lf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Vk(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return st(t,{...t._zod.def,shape:r,checks:[]})}function Kk(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return st(t,{...t._zod.def,shape:r,checks:[]})}function Jk(t,e){if(!Pn(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return Ka(this,"shape",n),n},checks:[]};return st(t,r)}function Wk(t,e){return st(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Ka(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Gk(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return st(e,{...e._zod.def,shape:o,checks:[]})}function Yk(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return st(e,{...e._zod.def,shape:o,checks:[]})}function Jr(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function yo(t){return typeof t=="string"?t:t?.message}function xt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=yo(t.inst?._zod.def?.error?.(t))??yo(e?.error?.(t))??yo(r.customError?.(t))??yo(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Zf(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function bo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Xa(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Xk(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Fa=class{constructor(...e){}};var Uf=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,Ba,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Hs=v("$ZodError",Uf),wo=v("$ZodError",Uf,{Parent:Error});function Qa(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function ec(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Gt;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>xt(c,s,ot())));throw Zs(a,o?.callee),a}return i.value},rc=tc(wo),nc=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>xt(c,s,ot())));throw Zs(a,o?.callee),a}return i.value},oc=nc(wo),sc=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Gt;return s.issues.length?{success:!1,error:new(t??Hs)(s.issues.map(i=>xt(i,o,ot())))}:{success:!0,data:s.value}},Wr=sc(wo),ic=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>xt(i,o,ot())))}:{success:!0,data:s.value}},Gr=ic(wo);var Hf=/^[cC][^\s-]{8,}$/,qf=/^[0-9a-z]+$/,Ff=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Bf=/^[0-9a-vA-V]{20}$/,Vf=/^[A-Za-z0-9]{27}$/,Kf=/^[a-zA-Z0-9_-]{21}$/,Jf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Wf=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ac=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var Gf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var eb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Yf(){return new RegExp(eb,"u")}var Xf=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Qf=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,em=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,tm=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,rm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,cc=/^[A-Za-z0-9_-]*$/,nm=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var om=/^\+(?:[0-9]){6,14}[0-9]$/,sm="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",im=new RegExp(`^${sm}$`);function am(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function cm(t){return new RegExp(`^${am(t)}$`)}function um(t){let e=am({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${sm}T(?:${n})$`)}var lm=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var dm=/^\d+$/,pm=/^-?\d+(?:\.\d+)?/i,fm=/true|false/i,mm=/null/i;var hm=/^[^A-Z]*$/,gm=/^[^a-z]*$/;var Ie=v("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),_m={number:"number",bigint:"bigint",object:"date"},uc=v("$ZodCheckLessThan",(t,e)=>{Ie.init(t,e);let r=_m[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{Ie.init(t,e);let r=_m[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),ym=v("$ZodCheckMultipleOf",(t,e)=>{Ie.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Va(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),xm=v("$ZodCheckNumberFormat",(t,e)=>{Ie.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Ya[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=dm)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}as&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var vm=v("$ZodCheckMaxLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let i=bo(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Sm=v("$ZodCheckMinLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=bo(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),km=v("$ZodCheckLengthEquals",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=bo(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Eo=v("$ZodCheckStringFormat",(t,e)=>{var r,n;Ie.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),bm=v("$ZodCheckRegex",(t,e)=>{Eo.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),wm=v("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=hm),Eo.init(t,e)}),Em=v("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=gm),Eo.init(t,e)}),Tm=v("$ZodCheckIncludes",(t,e)=>{Ie.init(t,e);let r=cr(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),$m=v("$ZodCheckStartsWith",(t,e)=>{Ie.init(t,e);let r=new RegExp(`^${cr(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Pm=v("$ZodCheckEndsWith",(t,e)=>{Ie.init(t,e);let r=new RegExp(`.*${cr(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var Rm=v("$ZodCheckOverwrite",(t,e)=>{Ie.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Fs=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` +Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var sS={};We(sS,{detectPlatform:()=>oS,getAdapter:()=>VI});import{existsSync as Ht}from"node:fs";import{resolve as Ft}from"node:path";import{homedir as BI}from"node:os";function oS(t){if(t?.name){let n=Vx[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","kilo","opencode","codex","vscode-copilot","cursor","antigravity","kiro","pi","zed"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCLAW_HOME||process.env.OPENCLAW_CLI)return{platform:"openclaw",confidence:"high",reason:"OPENCLAW_HOME or OPENCLAW_CLI env var set"};if(process.env.KILO||process.env.KILO_PID)return{platform:"kilo",confidence:"high",reason:"KILO or KILO_PID env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.CURSOR_TRACE_ID||process.env.CURSOR_CLI)return{platform:"cursor",confidence:"high",reason:"CURSOR_TRACE_ID or CURSOR_CLI env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let r=BI();return Ht(Ft(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Ht(Ft(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Ht(Ft(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Ht(Ft(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Ht(Ft(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Ht(Ft(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Ht(Ft(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Ht(Ft(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Ht(Ft(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Ht(Ft(r,".config","zed"))?{platform:"zed",confidence:"medium",reason:"~/.config/zed/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function VI(t){let e=t??oS().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(jp(),Ap));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(cv(),av));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(fv(),pv));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(_v(),gv));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(kv(),Sv));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>($v(),Tv));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(Dv(),Mv));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(Fv(),Hv));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>(Gv(),Wv));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(nS(),rS));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(jp(),Ap));return new r}}}var iS=$e(()=>{"use strict";Kx()});var L={};We(L,{BRAND:()=>GS,DIRTY:()=>Cr,EMPTY_PATH:()=>PS,INVALID:()=>A,NEVER:()=>zk,OK:()=>Ze,ParseStatus:()=>Ce,Schema:()=>F,ZodAny:()=>ir,ZodArray:()=>Wt,ZodBigInt:()=>zr,ZodBoolean:()=>Nr,ZodBranded:()=>go,ZodCatch:()=>Br,ZodDate:()=>Ar,ZodDefault:()=>qr,ZodDiscriminatedUnion:()=>As,ZodEffects:()=>ct,ZodEnum:()=>Hr,ZodError:()=>Ge,ZodFirstPartyTypeKind:()=>b,ZodFunction:()=>Ms,ZodIntersection:()=>Lr,ZodIssueCode:()=>k,ZodLazy:()=>Zr,ZodLiteral:()=>Ur,ZodMap:()=>wn,ZodNaN:()=>Tn,ZodNativeEnum:()=>Fr,ZodNever:()=>yt,ZodNull:()=>Mr,ZodNullable:()=>zt,ZodNumber:()=>Ir,ZodObject:()=>Xe,ZodOptional:()=>Ye,ZodParsedType:()=>$,ZodPipeline:()=>_o,ZodPromise:()=>ar,ZodReadonly:()=>Vr,ZodRecord:()=>js,ZodSchema:()=>F,ZodSet:()=>En,ZodString:()=>sr,ZodSymbol:()=>kn,ZodTransformer:()=>ct,ZodTuple:()=>It,ZodType:()=>F,ZodUndefined:()=>jr,ZodUnion:()=>Dr,ZodUnknown:()=>Jt,ZodVoid:()=>bn,addIssueToContext:()=>E,any:()=>sk,array:()=>uk,bigint:()=>ek,boolean:()=>jf,coerce:()=>Ik,custom:()=>zf,date:()=>tk,datetimeRegex:()=>Cf,defaultErrorMap:()=>Vt,discriminatedUnion:()=>pk,effect:()=>wk,enum:()=>Sk,function:()=>yk,getErrorMap:()=>xn,getParsedType:()=>Ct,instanceof:()=>XS,intersection:()=>fk,isAborted:()=>zs,isAsync:()=>vn,isDirty:()=>Ns,isValid:()=>or,late:()=>YS,lazy:()=>xk,literal:()=>vk,makeIssue:()=>ho,map:()=>gk,nan:()=>QS,nativeEnum:()=>kk,never:()=>ak,null:()=>ok,nullable:()=>Tk,number:()=>Af,object:()=>Ha,objectUtil:()=>La,oboolean:()=>Ck,onumber:()=>Ok,optional:()=>Ek,ostring:()=>Rk,pipeline:()=>Pk,preprocess:()=>$k,promise:()=>bk,quotelessJson:()=>ES,record:()=>hk,set:()=>_k,setErrorMap:()=>$S,strictObject:()=>lk,string:()=>Nf,symbol:()=>rk,transformer:()=>wk,tuple:()=>mk,undefined:()=>nk,union:()=>dk,unknown:()=>ik,util:()=>J,void:()=>ck});var J;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(J||(J={}));var La;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(La||(La={}));var $=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ct=t=>{switch(typeof t){case"undefined":return $.undefined;case"string":return $.string;case"number":return Number.isNaN(t)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":return Array.isArray(t)?$.array:t===null?$.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?$.promise:typeof Map<"u"&&t instanceof Map?$.map:typeof Set<"u"&&t instanceof Set?$.set:typeof Date<"u"&&t instanceof Date?$.date:$.object;default:return $.unknown}};var k=J.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ES=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ge=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;cr.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ge.create=t=>new Ge(t);var TS=(t,e)=>{let r;switch(t.code){case k.invalid_type:t.received===$.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case k.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,J.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:r=`Unrecognized key(s) in object: ${J.joinValues(t.keys,", ")}`;break;case k.invalid_union:r="Invalid input";break;case k.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${J.joinValues(t.options)}`;break;case k.invalid_enum_value:r=`Invalid enum value. Expected ${J.joinValues(t.options)}, received '${t.received}'`;break;case k.invalid_arguments:r="Invalid function arguments";break;case k.invalid_return_type:r="Invalid function return type";break;case k.invalid_date:r="Invalid date";break;case k.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:J.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case k.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case k.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case k.custom:r="Invalid input";break;case k.invalid_intersection_types:r="Intersection results could not be merged";break;case k.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case k.not_finite:r="Number must be finite";break;default:r=e.defaultError,J.assertNever(t)}return{message:r}},Vt=TS;var Tf=Vt;function $S(t){Tf=t}function xn(){return Tf}var ho=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},PS=[];function E(t,e){let r=xn(),n=ho({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Vt?void 0:Vt].filter(o=>!!o)});t.common.issues.push(n)}var Ce=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return A;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return A;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},A=Object.freeze({status:"aborted"}),Cr=t=>({status:"dirty",value:t}),Ze=t=>({status:"valid",value:t}),zs=t=>t.status==="aborted",Ns=t=>t.status==="dirty",or=t=>t.status==="valid",vn=t=>typeof Promise<"u"&&t instanceof Promise;var R;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(R||(R={}));var at=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},$f=(t,e)=>{if(or(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Ge(t.common.issues);return this._error=r,this._error}}};function U(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var F=class{get description(){return this._def.description}_getType(e){return Ct(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Ct(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ce,ctx:{common:e.parent.common,data:e.data,parsedType:Ct(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(vn(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)},o=this._parseSync({data:e,path:n.path,parent:n});return $f(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return or(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>or(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ct(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(vn(o)?o:Promise.resolve(o));return $f(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:k.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new ct({schema:this,typeName:b.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Ye.create(this,this._def)}nullable(){return zt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Wt.create(this)}promise(){return ar.create(this,this._def)}or(e){return Dr.create([this,e],this._def)}and(e){return Lr.create(this,e,this._def)}transform(e){return new ct({...U(this._def),schema:this,typeName:b.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new qr({...U(this._def),innerType:this,defaultValue:r,typeName:b.ZodDefault})}brand(){return new go({typeName:b.ZodBranded,type:this,...U(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Br({...U(this._def),innerType:this,catchValue:r,typeName:b.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return _o.create(this,e)}readonly(){return Vr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},RS=/^c[^\s-]{8,}$/i,OS=/^[0-9a-z]+$/,CS=/^[0-9A-HJKMNP-TV-Z]{26}$/i,IS=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,zS=/^[a-z0-9_-]{21}$/i,NS=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,AS=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,jS=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,MS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Za,DS=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,LS=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ZS=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,US=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,HS=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,FS=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Rf="((\\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])))",qS=new RegExp(`^${Rf}$`);function Of(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function BS(t){return new RegExp(`^${Of(t)}$`)}function Cf(t){let e=`${Rf}T${Of(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function VS(t,e){return!!((e==="v4"||!e)&&DS.test(t)||(e==="v6"||!e)&&ZS.test(t))}function KS(t,e){if(!NS.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function JS(t,e){return!!((e==="v4"||!e)&&LS.test(t)||(e==="v6"||!e)&&US.test(t))}var sr=class t extends F{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==$.string){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:$.string,received:s.parsedType}),A}let n=new Ce,o;for(let s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.lengthe.test(o),{validation:r,code:k.invalid_string,...R.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...R.errToObj(e)})}url(e){return this._addCheck({kind:"url",...R.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...R.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...R.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...R.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...R.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...R.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...R.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...R.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...R.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...R.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...R.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...R.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...R.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...R.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...R.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...R.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...R.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...R.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...R.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...R.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...R.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...R.errToObj(r)})}nonempty(e){return this.min(1,R.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew sr({checks:[],typeName:b.ZodString,coerce:t?.coerce??!1,...U(t)});function WS(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var Ir=class t extends F{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==$.number){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:$.number,received:s.parsedType}),A}let n,o=new Ce;for(let s of this._def.checks)s.kind==="int"?J.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?WS(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_finite,message:s.message}),o.dirty()):J.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:R.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:R.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&J.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew Ir({checks:[],typeName:b.ZodNumber,coerce:t?.coerce||!1,...U(t)});var zr=class t extends F{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==$.bigint)return this._getInvalidInput(e);let n,o=new Ce;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),E(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):J.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return E(r,{code:k.invalid_type,expected:$.bigint,received:r.parsedType}),A}gte(e,r){return this.setLimit("min",e,!0,R.toString(r))}gt(e,r){return this.setLimit("min",e,!1,R.toString(r))}lte(e,r){return this.setLimit("max",e,!0,R.toString(r))}lt(e,r){return this.setLimit("max",e,!1,R.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:R.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:R.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew zr({checks:[],typeName:b.ZodBigInt,coerce:t?.coerce??!1,...U(t)});var Nr=class extends F{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.boolean,received:n.parsedType}),A}return Ze(e.data)}};Nr.create=t=>new Nr({typeName:b.ZodBoolean,coerce:t?.coerce||!1,...U(t)});var Ar=class t extends F{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==$.date){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_type,expected:$.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return E(s,{code:k.invalid_date}),A}let n=new Ce,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:k.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):J.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:R.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:R.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Ar({checks:[],coerce:t?.coerce||!1,typeName:b.ZodDate,...U(t)});var kn=class extends F{_parse(e){if(this._getType(e)!==$.symbol){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.symbol,received:n.parsedType}),A}return Ze(e.data)}};kn.create=t=>new kn({typeName:b.ZodSymbol,...U(t)});var jr=class extends F{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.undefined,received:n.parsedType}),A}return Ze(e.data)}};jr.create=t=>new jr({typeName:b.ZodUndefined,...U(t)});var Mr=class extends F{_parse(e){if(this._getType(e)!==$.null){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.null,received:n.parsedType}),A}return Ze(e.data)}};Mr.create=t=>new Mr({typeName:b.ZodNull,...U(t)});var ir=class extends F{constructor(){super(...arguments),this._any=!0}_parse(e){return Ze(e.data)}};ir.create=t=>new ir({typeName:b.ZodAny,...U(t)});var Jt=class extends F{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ze(e.data)}};Jt.create=t=>new Jt({typeName:b.ZodUnknown,...U(t)});var yt=class extends F{_parse(e){let r=this._getOrReturnCtx(e);return E(r,{code:k.invalid_type,expected:$.never,received:r.parsedType}),A}};yt.create=t=>new yt({typeName:b.ZodNever,...U(t)});var bn=class extends F{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.void,received:n.parsedType}),A}return Ze(e.data)}};bn.create=t=>new bn({typeName:b.ZodVoid,...U(t)});var Wt=class t extends F{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==$.array)return E(r,{code:k.invalid_type,expected:$.array,received:r.parsedType}),A;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.lengtho.maxLength.value&&(E(r,{code:k.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new at(r,i,r.path,a)))).then(i=>Ce.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new at(r,i,r.path,a)));return Ce.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:R.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:R.toString(r)}})}nonempty(e){return this.min(1,e)}};Wt.create=(t,e)=>new Wt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:b.ZodArray,...U(e)});function Sn(t){if(t instanceof Xe){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ye.create(Sn(n))}return new Xe({...t._def,shape:()=>e})}else return t instanceof Wt?new Wt({...t._def,type:Sn(t.element)}):t instanceof Ye?Ye.create(Sn(t.unwrap())):t instanceof zt?zt.create(Sn(t.unwrap())):t instanceof It?It.create(t.items.map(e=>Sn(e))):t}var Xe=class t extends F{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=J.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==$.object){let u=this._getOrReturnCtx(e);return E(u,{code:k.invalid_type,expected:$.object,received:u.parsedType}),A}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof yt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new at(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof yt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(E(o,{code:k.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new at(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,f=await l.value;u.push({key:d,value:f,alwaysSet:l.alwaysSet})}return u}).then(u=>Ce.mergeObjectSync(n,u)):Ce.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return R.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:R.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:b.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of J.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of J.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Sn(this)}partial(e){let r={};for(let n of J.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of J.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Ye;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return If(J.objectKeys(this.shape))}};Xe.create=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Xe.strictCreate=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strict",catchall:yt.create(),typeName:b.ZodObject,...U(e)});Xe.lazycreate=(t,e)=>new Xe({shape:t,unknownKeys:"strip",catchall:yt.create(),typeName:b.ZodObject,...U(e)});var Dr=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ge(a.ctx.common.issues));return E(r,{code:k.invalid_union,unionErrors:i}),A}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ge(c));return E(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};Dr.create=(t,e)=>new Dr({options:t,typeName:b.ZodUnion,...U(e)});var Kt=t=>t instanceof Zr?Kt(t.schema):t instanceof ct?Kt(t.innerType()):t instanceof Ur?[t.value]:t instanceof Hr?t.options:t instanceof Fr?J.objectValues(t.enum):t instanceof qr?Kt(t._def.innerType):t instanceof jr?[void 0]:t instanceof Mr?[null]:t instanceof Ye?[void 0,...Kt(t.unwrap())]:t instanceof zt?[null,...Kt(t.unwrap())]:t instanceof go||t instanceof Vr?Kt(t.unwrap()):t instanceof Br?Kt(t._def.innerType):[],As=class t extends F{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return E(r,{code:k.invalid_type,expected:$.object,received:r.parsedType}),A;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(E(r,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Kt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:b.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...U(n)})}};function Ua(t,e){let r=Ct(t),n=Ct(e);if(t===e)return{valid:!0,data:t};if(r===$.object&&n===$.object){let o=J.objectKeys(e),s=J.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Ua(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===$.array&&n===$.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s{if(zs(s)||zs(i))return A;let a=Ua(s.value,i.value);return a.valid?((Ns(s)||Ns(i))&&r.dirty(),{status:r.value,value:a.data}):(E(n,{code:k.invalid_intersection_types}),A)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Lr.create=(t,e,r)=>new Lr({left:t,right:e,typeName:b.ZodIntersection,...U(r)});var It=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.array)return E(n,{code:k.invalid_type,expected:$.array,received:n.parsedType}),A;if(n.data.lengththis._def.items.length&&(E(n,{code:k.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new at(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ce.mergeArray(r,i)):Ce.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};It.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new It({items:t,typeName:b.ZodTuple,rest:null,...U(e)})};var js=class t extends F{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.object)return E(n,{code:k.invalid_type,expected:$.object,received:n.parsedType}),A;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new at(n,a,n.path,a)),value:i._parse(new at(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ce.mergeObjectAsync(r,o):Ce.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof F?new t({keyType:e,valueType:r,typeName:b.ZodRecord,...U(n)}):new t({keyType:sr.create(),valueType:e,typeName:b.ZodRecord,...U(r)})}},wn=class extends F{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.map)return E(n,{code:k.invalid_type,expected:$.map,received:n.parsedType}),A;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new at(n,a,n.path,[u,"key"])),value:s._parse(new at(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};wn.create=(t,e,r)=>new wn({valueType:e,keyType:t,typeName:b.ZodMap,...U(r)});var En=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.set)return E(n,{code:k.invalid_type,expected:$.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(E(n,{code:k.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return A;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new at(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:R.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:R.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};En.create=(t,e)=>new En({valueType:t,minSize:null,maxSize:null,typeName:b.ZodSet,...U(e)});var Ms=class t extends F{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.function)return E(r,{code:k.invalid_type,expected:$.function,received:r.parsedType}),A;function n(a,c){return ho({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,xn(),Vt].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return ho({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,xn(),Vt].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof ar){let a=this;return Ze(async function(...c){let u=new Ge([]),l=await a._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(n(c,m)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(o(d,m)),u})})}else{let a=this;return Ze(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Ge([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Ge([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:It.create(e).rest(Jt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||It.create([]).rest(Jt.create()),returns:r||Jt.create(),typeName:b.ZodFunction,...U(n)})}},Zr=class extends F{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Zr.create=(t,e)=>new Zr({getter:t,typeName:b.ZodLazy,...U(e)});var Ur=class extends F{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return E(r,{received:r.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:e.data}}get value(){return this._def.value}};Ur.create=(t,e)=>new Ur({value:t,typeName:b.ZodLiteral,...U(e)});function If(t,e){return new Hr({values:t,typeName:b.ZodEnum,...U(e)})}var Hr=class t extends F{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{expected:J.joinValues(n),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{received:r.data,code:k.invalid_enum_value,options:n}),A}return Ze(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Hr.create=If;var Fr=class extends F{_parse(e){let r=J.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==$.string&&n.parsedType!==$.number){let o=J.objectValues(r);return E(n,{expected:J.joinValues(o),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(J.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=J.objectValues(r);return E(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return Ze(e.data)}get enum(){return this._def.values}};Fr.create=(t,e)=>new Fr({values:t,typeName:b.ZodNativeEnum,...U(e)});var ar=class extends F{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.promise&&r.common.async===!1)return E(r,{code:k.invalid_type,expected:$.promise,received:r.parsedType}),A;let n=r.parsedType===$.promise?r.data:Promise.resolve(r.data);return Ze(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};ar.create=(t,e)=>new ar({type:t,typeName:b.ZodPromise,...U(e)});var ct=class extends F{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===b.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{E(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return A;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?A:c.status==="dirty"?Cr(c.value):r.value==="dirty"?Cr(c.value):c});{if(r.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?A:a.status==="dirty"?Cr(a.value):r.value==="dirty"?Cr(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!or(i))return A;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>or(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):A);J.assertNever(o)}};ct.create=(t,e,r)=>new ct({schema:t,typeName:b.ZodEffects,effect:e,...U(r)});ct.createWithPreprocess=(t,e,r)=>new ct({schema:e,effect:{type:"preprocess",transform:t},typeName:b.ZodEffects,...U(r)});var Ye=class extends F{_parse(e){return this._getType(e)===$.undefined?Ze(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ye.create=(t,e)=>new Ye({innerType:t,typeName:b.ZodOptional,...U(e)});var zt=class extends F{_parse(e){return this._getType(e)===$.null?Ze(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};zt.create=(t,e)=>new zt({innerType:t,typeName:b.ZodNullable,...U(e)});var qr=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===$.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};qr.create=(t,e)=>new qr({innerType:t,typeName:b.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...U(e)});var Br=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return vn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Br.create=(t,e)=>new Br({innerType:t,typeName:b.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...U(e)});var Tn=class extends F{_parse(e){if(this._getType(e)!==$.nan){let n=this._getOrReturnCtx(e);return E(n,{code:k.invalid_type,expected:$.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};Tn.create=t=>new Tn({typeName:b.ZodNaN,...U(t)});var GS=Symbol("zod_brand"),go=class extends F{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},_o=class t extends F{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?A:s.status==="dirty"?(r.dirty(),Cr(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?A:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:b.ZodPipeline})}},Vr=class extends F{_parse(e){let r=this._def.innerType._parse(e),n=o=>(or(o)&&(o.value=Object.freeze(o.value)),o);return vn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Vr.create=(t,e)=>new Vr({innerType:t,typeName:b.ZodReadonly,...U(e)});function Pf(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function zf(t,e={},r){return t?ir.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Pf(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Pf(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):ir.create()}var YS={object:Xe.lazycreate},b;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(b||(b={}));var XS=(t,e={message:`Input not instance of ${t.name}`})=>zf(r=>r instanceof t,e),Nf=sr.create,Af=Ir.create,QS=Tn.create,ek=zr.create,jf=Nr.create,tk=Ar.create,rk=kn.create,nk=jr.create,ok=Mr.create,sk=ir.create,ik=Jt.create,ak=yt.create,ck=bn.create,uk=Wt.create,Ha=Xe.create,lk=Xe.strictCreate,dk=Dr.create,pk=As.create,fk=Lr.create,mk=It.create,hk=js.create,gk=wn.create,_k=En.create,yk=Ms.create,xk=Zr.create,vk=Ur.create,Sk=Hr.create,kk=Fr.create,bk=ar.create,wk=ct.create,Ek=Ye.create,Tk=zt.create,$k=ct.createWithPreprocess,Pk=_o.create,Rk=()=>Nf().optional(),Ok=()=>Af().optional(),Ck=()=>jf().optional(),Ik={string:(t=>sr.create({...t,coerce:!0})),number:(t=>Ir.create({...t,coerce:!0})),boolean:(t=>Nr.create({...t,coerce:!0})),bigint:(t=>zr.create({...t,coerce:!0})),date:(t=>Ar.create({...t,coerce:!0}))};var zk=A;var Nk=Object.freeze({status:"aborted"});function v(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var Gt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ds={};function ot(t){return t&&Object.assign(Ds,t),Ds}var W={};We(W,{BIGINT_FORMAT_RANGES:()=>Df,Class:()=>qa,NUMBER_FORMAT_RANGES:()=>Ya,aborted:()=>Jr,allowsEval:()=>Ja,assert:()=>Lk,assertEqual:()=>Ak,assertIs:()=>Mk,assertNever:()=>Dk,assertNotEqual:()=>jk,assignProp:()=>Ka,cached:()=>vo,captureStackTrace:()=>Zs,cleanEnum:()=>Xk,cleanRegex:()=>ko,clone:()=>st,createTransparentProxy:()=>Bk,defineLazy:()=>ce,esc:()=>Kr,escapeRegex:()=>cr,extend:()=>Jk,finalizeIssue:()=>xt,floatSafeRemainder:()=>Va,getElementAtPath:()=>Zk,getEnumValues:()=>xo,getLengthableOrigin:()=>bo,getParsedType:()=>qk,getSizableOrigin:()=>Lf,isObject:()=>$n,isPlainObject:()=>Pn,issue:()=>Xa,joinValues:()=>Ls,jsonStringifyReplacer:()=>Ba,merge:()=>Wk,normalizeParams:()=>j,nullish:()=>So,numKeys:()=>Fk,omit:()=>Kk,optionalKeys:()=>Ga,partial:()=>Gk,pick:()=>Vk,prefixIssues:()=>Nt,primitiveTypes:()=>Mf,promiseAllObject:()=>Uk,propertyKeyTypes:()=>Wa,randomString:()=>Hk,required:()=>Yk,stringifyPrimitive:()=>Us,unwrapMessage:()=>yo});function Ak(t){return t}function jk(t){return t}function Mk(t){}function Dk(t){throw new Error}function Lk(t){}function xo(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function Ls(t,e="|"){return t.map(r=>Us(r)).join(e)}function Ba(t,e){return typeof e=="bigint"?e.toString():e}function vo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function So(t){return t==null}function ko(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Va(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function ce(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function Ka(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Zk(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Uk(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s{};function $n(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ja=vo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Pn(t){if($n(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!($n(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Fk(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var qk=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Wa=new Set(["string","number","symbol"]),Mf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function cr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function st(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function j(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Bk(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function Us(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ga(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Ya={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Df={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Vk(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return st(t,{...t._zod.def,shape:r,checks:[]})}function Kk(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return st(t,{...t._zod.def,shape:r,checks:[]})}function Jk(t,e){if(!Pn(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return Ka(this,"shape",n),n},checks:[]};return st(t,r)}function Wk(t,e){return st(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Ka(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Gk(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return st(e,{...e._zod.def,shape:o,checks:[]})}function Yk(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return st(e,{...e._zod.def,shape:o,checks:[]})}function Jr(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function yo(t){return typeof t=="string"?t:t?.message}function xt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=yo(t.inst?._zod.def?.error?.(t))??yo(e?.error?.(t))??yo(r.customError?.(t))??yo(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Lf(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function bo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Xa(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Xk(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var qa=class{constructor(...e){}};var Zf=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,Ba,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Hs=v("$ZodError",Zf),wo=v("$ZodError",Zf,{Parent:Error});function Qa(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function ec(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Gt;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>xt(c,s,ot())));throw Zs(a,o?.callee),a}return i.value},rc=tc(wo),nc=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>xt(c,s,ot())));throw Zs(a,o?.callee),a}return i.value},oc=nc(wo),sc=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Gt;return s.issues.length?{success:!1,error:new(t??Hs)(s.issues.map(i=>xt(i,o,ot())))}:{success:!0,data:s.value}},Wr=sc(wo),ic=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>xt(i,o,ot())))}:{success:!0,data:s.value}},Gr=ic(wo);var Uf=/^[cC][^\s-]{8,}$/,Hf=/^[0-9a-z]+$/,Ff=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,qf=/^[0-9a-vA-V]{20}$/,Bf=/^[A-Za-z0-9]{27}$/,Vf=/^[a-zA-Z0-9_-]{21}$/,Kf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Jf=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ac=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var Wf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var eb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Gf(){return new RegExp(eb,"u")}var Yf=/^(?:(?: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])$/,Xf=/^(([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})$/,Qf=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,em=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,tm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,cc=/^[A-Za-z0-9_-]*$/,rm=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var nm=/^\+(?:[0-9]){6,14}[0-9]$/,om="(?:(?:\\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])))",sm=new RegExp(`^${om}$`);function im(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 am(t){return new RegExp(`^${im(t)}$`)}function cm(t){let e=im({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(`^${om}T(?:${n})$`)}var um=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var lm=/^\d+$/,dm=/^-?\d+(?:\.\d+)?/i,pm=/true|false/i,fm=/null/i;var mm=/^[^A-Z]*$/,hm=/^[^a-z]*$/;var Ie=v("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),gm={number:"number",bigint:"bigint",object:"date"},uc=v("$ZodCheckLessThan",(t,e)=>{Ie.init(t,e);let r=gm[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{Ie.init(t,e);let r=gm[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})}}),_m=v("$ZodCheckMultipleOf",(t,e)=>{Ie.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Va(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),ym=v("$ZodCheckNumberFormat",(t,e)=>{Ie.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Ya[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=lm)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}as&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var xm=v("$ZodCheckMaxLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let i=bo(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),vm=v("$ZodCheckMinLength",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=bo(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Sm=v("$ZodCheckLengthEquals",(t,e)=>{var r;Ie.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!So(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=bo(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Eo=v("$ZodCheckStringFormat",(t,e)=>{var r,n;Ie.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),km=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})}}),bm=v("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=mm),Eo.init(t,e)}),wm=v("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=hm),Eo.init(t,e)}),Em=v("$ZodCheckIncludes",(t,e)=>{Ie.init(t,e);let r=cr(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),Tm=v("$ZodCheckStartsWith",(t,e)=>{Ie.init(t,e);let r=new RegExp(`^${cr(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),$m=v("$ZodCheckEndsWith",(t,e)=>{Ie.init(t,e);let r=new RegExp(`.*${cr(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var Pm=v("$ZodCheckOverwrite",(t,e)=>{Ie.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var qs=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` `).filter(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let e=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new e(...r,o.join(` -`))}};var Cm={major:4,minor:0,patch:0};var ne=v("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Cm;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=Jr(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=l._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new Gt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=Jr(s,d)))});else{if(s.issues.length===d)continue;c||(c=Jr(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new Gt;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Wr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Gr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),To=v("$ZodString",(t,e)=>{ne.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??lm(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),ue=v("$ZodStringFormat",(t,e)=>{Eo.init(t,e),To.init(t,e)}),pc=v("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Wf),ue.init(t,e)}),fc=v("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ac(n))}else e.pattern??(e.pattern=ac());ue.init(t,e)}),mc=v("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Gf),ue.init(t,e)}),hc=v("$ZodURL",(t,e)=>{ue.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:nm.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),gc=v("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Yf()),ue.init(t,e)}),_c=v("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Kf),ue.init(t,e)}),yc=v("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Hf),ue.init(t,e)}),xc=v("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=qf),ue.init(t,e)}),vc=v("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Ff),ue.init(t,e)}),Sc=v("$ZodXID",(t,e)=>{e.pattern??(e.pattern=Bf),ue.init(t,e)}),kc=v("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Vf),ue.init(t,e)}),Um=v("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=um(e)),ue.init(t,e)}),Hm=v("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=im),ue.init(t,e)}),qm=v("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=cm(e)),ue.init(t,e)}),Fm=v("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Jf),ue.init(t,e)}),bc=v("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Xf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),wc=v("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Qf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Ec=v("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=em),ue.init(t,e)}),Tc=v("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=tm),ue.init(t,e),t._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Bm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var $c=v("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=rm),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Bm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function tb(t){if(!cc.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Bm(r)}var Pc=v("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=cc),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{tb(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Rc=v("$ZodE164",(t,e)=>{e.pattern??(e.pattern=om),ue.init(t,e)});function rb(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var Oc=v("$ZodJWT",(t,e)=>{ue.init(t,e),t._zod.check=r=>{rb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Vs=v("$ZodNumber",(t,e)=>{ne.init(t,e),t._zod.pattern=t._zod.bag.pattern??pm,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...s?{received:s}:{}}),r}}),Cc=v("$ZodNumber",(t,e)=>{xm.init(t,e),Vs.init(t,e)}),Ic=v("$ZodBoolean",(t,e)=>{ne.init(t,e),t._zod.pattern=fm,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}});var zc=v("$ZodNull",(t,e)=>{ne.init(t,e),t._zod.pattern=mm,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}});var Nc=v("$ZodUnknown",(t,e)=>{ne.init(t,e),t._zod.parse=r=>r}),Ac=v("$ZodNever",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Im(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var jc=v("$ZodArray",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;iIm(u,r,i))):Im(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Bs(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}function zm(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...Nt(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Ks=v("$ZodObject",(t,e)=>{ne.init(t,e);let r=vo(()=>{let d=Object.keys(e.shape);for(let m of d)if(!(e.shape[m]instanceof ne))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let f=Ga(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});ce(t._zod,"propValues",()=>{let d=e.shape,f={};for(let m in d){let p=d[m]._zod;if(p.values){f[m]??(f[m]=new Set);for(let h of p.values)f[m].add(h)}}return f});let n=d=>{let f=new Fs(["shape","payload","ctx"]),m=r.value,p=x=>{let S=Kr(x);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),g=0;for(let x of m.keys)h[x]=`key_${g++}`;f.write("const newResult = {}");for(let x of m.keys)if(m.optionalKeys.has(x)){let S=h[x];f.write(`const ${S} = ${p(x)};`);let w=Kr(x);f.write(` +`))}};var Om={major:4,minor:0,patch:0};var ne=v("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Om;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=Jr(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=l._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new Gt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=Jr(s,d)))});else{if(s.issues.length===d)continue;c||(c=Jr(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new Gt;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Wr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Gr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),To=v("$ZodString",(t,e)=>{ne.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??um(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),ue=v("$ZodStringFormat",(t,e)=>{Eo.init(t,e),To.init(t,e)}),pc=v("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Jf),ue.init(t,e)}),fc=v("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ac(n))}else e.pattern??(e.pattern=ac());ue.init(t,e)}),mc=v("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Wf),ue.init(t,e)}),hc=v("$ZodURL",(t,e)=>{ue.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:rm.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),gc=v("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Gf()),ue.init(t,e)}),_c=v("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Vf),ue.init(t,e)}),yc=v("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Uf),ue.init(t,e)}),xc=v("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=Hf),ue.init(t,e)}),vc=v("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Ff),ue.init(t,e)}),Sc=v("$ZodXID",(t,e)=>{e.pattern??(e.pattern=qf),ue.init(t,e)}),kc=v("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Bf),ue.init(t,e)}),Zm=v("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=cm(e)),ue.init(t,e)}),Um=v("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=sm),ue.init(t,e)}),Hm=v("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=am(e)),ue.init(t,e)}),Fm=v("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Kf),ue.init(t,e)}),bc=v("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Yf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),wc=v("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Xf),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Ec=v("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=Qf),ue.init(t,e)}),Tc=v("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=em),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 qm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var $c=v("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=tm),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{qm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function tb(t){if(!cc.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return qm(r)}var Pc=v("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=cc),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{tb(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Rc=v("$ZodE164",(t,e)=>{e.pattern??(e.pattern=nm),ue.init(t,e)});function rb(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var Oc=v("$ZodJWT",(t,e)=>{ue.init(t,e),t._zod.check=r=>{rb(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Vs=v("$ZodNumber",(t,e)=>{ne.init(t,e),t._zod.pattern=t._zod.bag.pattern??dm,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)=>{ym.init(t,e),Vs.init(t,e)}),Ic=v("$ZodBoolean",(t,e)=>{ne.init(t,e),t._zod.pattern=pm,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}});var zc=v("$ZodNull",(t,e)=>{ne.init(t,e),t._zod.pattern=fm,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}});var Nc=v("$ZodUnknown",(t,e)=>{ne.init(t,e),t._zod.parse=r=>r}),Ac=v("$ZodNever",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Cm(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}var jc=v("$ZodArray",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;iCm(u,r,i))):Cm(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Bs(t,e,r){t.issues.length&&e.issues.push(...Nt(r,t.issues)),e.value[r]=t.value}function Im(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...Nt(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Ks=v("$ZodObject",(t,e)=>{ne.init(t,e);let r=vo(()=>{let d=Object.keys(e.shape);for(let m of d)if(!(e.shape[m]instanceof ne))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let f=Ga(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});ce(t._zod,"propValues",()=>{let d=e.shape,f={};for(let m in d){let p=d[m]._zod;if(p.values){f[m]??(f[m]=new Set);for(let h of p.values)f[m].add(h)}}return f});let n=d=>{let f=new qs(["shape","payload","ctx"]),m=r.value,p=x=>{let S=Kr(x);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),g=0;for(let x of m.keys)h[x]=`key_${g++}`;f.write("const newResult = {}");for(let x of m.keys)if(m.optionalKeys.has(x)){let S=h[x];f.write(`const ${S} = ${p(x)};`);let w=Kr(x);f.write(` if (${S}.issues.length) { if (input[${w}] === undefined) { if (${w} in input) { @@ -48,16 +48,16 @@ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_inde if (${S}.issues.length) payload.issues = payload.issues.concat(${S}.issues.map(iss => ({ ...iss, path: iss.path ? [${Kr(x)}, ...iss.path] : [${Kr(x)}] - })));`),f.write(`newResult[${Kr(x)}] = ${S}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let _=f.compile();return(x,S)=>_(d,x,S)},o,s=$n,i=!Ds.jitless,c=i&&Ja.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let p=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let S=l.shape;for(let w of l.keys){let z=S[w],de=z._zod.run({value:m[w],issues:[]},f),Te=z._zod.optin==="optional"&&z._zod.optout==="optional";de instanceof Promise?p.push(de.then(K=>Te?zm(K,d,w,m):Bs(K,d,w))):Te?zm(de,d,w,m):Bs(de,d,w)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,_=u._zod,x=_.def.type;for(let S of Object.keys(m)){if(g.has(S))continue;if(x==="never"){h.push(S);continue}let w=_.run({value:m[S],issues:[]},f);w instanceof Promise?p.push(w.then(z=>Bs(z,d,S))):Bs(w,d,S)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:m,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function Nm(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>xt(s,n,ot())))}),e}var Js=v("$ZodUnion",(t,e)=>{ne.init(t,e),ce(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ce(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ce(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),ce(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>ko(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>Nm(i,r,t,n)):Nm(s,r,t,n)}}),Mc=v("$ZodDiscriminatedUnion",(t,e)=>{Js.init(t,e);let r=t._zod.parse;ce(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=vo(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(o,s)=>{let i=o.value;if(!$n(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),Dc=v("$ZodIntersection",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Am(r,c,u)):Am(r,s,i)}});function dc(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Pn(t)&&Pn(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=dc(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Pn(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Nt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Nt(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>xt(u,n,ot())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Nt(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Nt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Zc=v("$ZodEnum",(t,e)=>{ne.init(t,e);let r=xo(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Wa.has(typeof n)).map(n=>typeof n=="string"?cr(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),Uc=v("$ZodLiteral",(t,e)=>{ne.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?cr(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var Hc=v("$ZodTransform",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new Gt;return r.value=o,r}}),qc=v("$ZodOptional",(t,e)=>{ne.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${ko(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),Fc=v("$ZodNullable",(t,e)=>{ne.init(t,e),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${ko(r.source)}|null)$`):void 0}),ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Bc=v("$ZodDefault",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>jm(s,e)):jm(o,e)}});function jm(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Vc=v("$ZodPrefault",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Kc=v("$ZodNonOptional",(t,e)=>{ne.init(t,e),ce(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Mm(s,t)):Mm(o,t)}});function Mm(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Jc=v("$ZodCatch",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>xt(i,n,ot()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>xt(s,n,ot()))},input:r.value}),r.issues=[]),r)}});var Wc=v("$ZodPipe",(t,e)=>{ne.init(t,e),ce(t._zod,"values",()=>e.in._zod.values),ce(t._zod,"optin",()=>e.in._zod.optin),ce(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>Dm(s,e,n)):Dm(o,e,n)}});function Dm(t,e,r){return Jr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Gc=v("$ZodReadonly",(t,e)=>{ne.init(t,e),ce(t._zod,"propValues",()=>e.innerType._zod.propValues),ce(t._zod,"values",()=>e.innerType._zod.values),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(Lm):Lm(o)}});function Lm(t){return t.value=Object.freeze(t.value),t}var Yc=v("$ZodCustom",(t,e)=>{Ie.init(t,e),ne.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>Zm(s,r,n,t));Zm(o,r,n,t)}});function Zm(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(Xa(o))}}var nb=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},ob=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${nb(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Us(n.values[0])}`:`Invalid option: expected one of ${Ls(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=e(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Ls(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function Vm(){return{localeError:ob()}}var $o=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Km(){return new $o}var ur=Km();function Xc(t,e){return new t({type:"string",...j(e)})}function Qc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...j(e)})}function Ws(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...j(e)})}function eu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...j(e)})}function tu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(e)})}function ru(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(e)})}function nu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(e)})}function ou(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...j(e)})}function su(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...j(e)})}function iu(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(e)})}function au(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...j(e)})}function cu(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(e)})}function uu(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...j(e)})}function lu(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...j(e)})}function du(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(e)})}function pu(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(e)})}function fu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(e)})}function mu(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(e)})}function hu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(e)})}function gu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...j(e)})}function _u(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...j(e)})}function yu(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...j(e)})}function xu(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...j(e)})}function Jm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function Wm(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function Gm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function Ym(t,e){return new t({type:"string",format:"duration",check:"string_format",...j(e)})}function vu(t,e){return new t({type:"number",checks:[],...j(e)})}function Su(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...j(e)})}function ku(t,e){return new t({type:"boolean",...j(e)})}function bu(t,e){return new t({type:"null",...j(e)})}function wu(t){return new t({type:"unknown"})}function Eu(t,e){return new t({type:"never",...j(e)})}function Gs(t,e){return new uc({check:"less_than",...j(e),value:t,inclusive:!1})}function Po(t,e){return new uc({check:"less_than",...j(e),value:t,inclusive:!0})}function Ys(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!1})}function Ro(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!0})}function Xs(t,e){return new ym({check:"multiple_of",...j(e),value:t})}function Qs(t,e){return new vm({check:"max_length",...j(e),maximum:t})}function Rn(t,e){return new Sm({check:"min_length",...j(e),minimum:t})}function ei(t,e){return new km({check:"length_equals",...j(e),length:t})}function Tu(t,e){return new bm({check:"string_format",format:"regex",...j(e),pattern:t})}function $u(t){return new wm({check:"string_format",format:"lowercase",...j(t)})}function Pu(t){return new Em({check:"string_format",format:"uppercase",...j(t)})}function Ru(t,e){return new Tm({check:"string_format",format:"includes",...j(e),includes:t})}function Ou(t,e){return new $m({check:"string_format",format:"starts_with",...j(e),prefix:t})}function Cu(t,e){return new Pm({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Yr(t){return new Rm({check:"overwrite",tx:t})}function Iu(t){return Yr(e=>e.normalize(t))}function zu(){return Yr(t=>t.trim())}function Nu(){return Yr(t=>t.toLowerCase())}function Au(){return Yr(t=>t.toUpperCase())}function Xm(t,e,r){return new t({type:"array",element:e,...j(r)})}function ju(t,e,r){let n=j(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Mu(t,e,r){return new t({type:"custom",check:"custom",fn:e,...j(r)})}var ti=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??ur,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)a.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let m=a.schema;switch(o.type){case"string":{let p=m;p.type="string";let{minimum:h,maximum:g,format:_,patterns:x,contentEncoding:S}=e._zod.bag;if(typeof h=="number"&&(p.minLength=h),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),S&&(p.contentEncoding=S),x&&x.size>0){let w=[...x];w.length===1?p.pattern=w[0].source:w.length>1&&(a.schema.allOf=[...w.map(z=>({...this.target==="draft-7"?{type:"string"}:{},pattern:z.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:_,multipleOf:x,exclusiveMaximum:S,exclusiveMinimum:w}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof w=="number"&&(p.exclusiveMinimum=w),typeof h=="number"&&(p.minimum=h,typeof w=="number"&&(w>=h?delete p.minimum:delete p.exclusiveMinimum)),typeof S=="number"&&(p.exclusiveMaximum=S),typeof g=="number"&&(p.maximum=g,typeof S=="number"&&(S<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof x=="number"&&(p.multipleOf=x);break}case"boolean":{let p=m;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{m.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{m.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=m,{minimum:h,maximum:g}=e._zod.bag;typeof h=="number"&&(p.minItems=h),typeof g=="number"&&(p.maxItems=g),p.type="array",p.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let p=m;p.type="object",p.properties={};let h=o.shape;for(let x in h)p.properties[x]=this.process(h[x],{...d,path:[...d.path,"properties",x]});let g=new Set(Object.keys(h)),_=new Set([...g].filter(x=>{let S=o.shape[x]._zod;return this.io==="input"?S.optin===void 0:S.optout===void 0}));_.size>0&&(p.required=Array.from(_)),o.catchall?._zod.def.type==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{let p=m;p.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=m,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=S=>"allOf"in S&&Object.keys(S).length===1,x=[..._(h)?h.allOf:[h],..._(g)?g.allOf:[g]];p.allOf=x;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((x,S)=>this.process(x,{...d,path:[...d.path,"prefixItems",S]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let x=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=x:p.additionalItems=x}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:_}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof _=="number"&&(p.maxItems=_);break}case"record":{let p=m;p.type="object",p.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let p=m,h=xo(o.entries);h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),p.enum=h;break}case"literal":{let p=m,h=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){let g=h[0];p.type=g===null?"null":typeof g,p.const=g}else h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),h.every(g=>typeof g=="boolean")&&(p.type="string"),h.every(g=>g===null)&&(p.type="null"),p.enum=h;break}case"file":{let p=m,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:x}=e._zod.bag;g!==void 0&&(h.minLength=g),_!==void 0&&(h.maxLength=_),x?x.length===1?(h.contentMediaType=x[0],Object.assign(p,h)):p.anyOf=x.map(S=>({...h,contentMediaType:S})):Object.assign(p,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let p=this.process(o.innerType,d);m.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=m;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,m.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(m._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}m.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let p=m,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=h.source;break}case"pipe":{let p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,m.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let p=e._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&Pe(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(l[0])?.id,g=n.external.uri??(x=>x);if(h)return{ref:g(h)};let _=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=_,{defId:_,ref:`${g("__shared")}#/${d}/${_}`}}if(l[1]===o)return{ref:"#"};let m=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:m+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:m}=s(l);d.def={...d.schema},m&&(d.defId=m);let p=d.schema;for(let h in p)delete p[h];p.$ref=f};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/ + })));`),f.write(`newResult[${Kr(x)}] = ${S}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let _=f.compile();return(x,S)=>_(d,x,S)},o,s=$n,i=!Ds.jitless,c=i&&Ja.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let p=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let S=l.shape;for(let w of l.keys){let z=S[w],de=z._zod.run({value:m[w],issues:[]},f),Te=z._zod.optin==="optional"&&z._zod.optout==="optional";de instanceof Promise?p.push(de.then(K=>Te?Im(K,d,w,m):Bs(K,d,w))):Te?Im(de,d,w,m):Bs(de,d,w)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,_=u._zod,x=_.def.type;for(let S of Object.keys(m)){if(g.has(S))continue;if(x==="never"){h.push(S);continue}let w=_.run({value:m[S],issues:[]},f);w instanceof Promise?p.push(w.then(z=>Bs(z,d,S))):Bs(w,d,S)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:m,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function zm(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>xt(s,n,ot())))}),e}var Js=v("$ZodUnion",(t,e)=>{ne.init(t,e),ce(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ce(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ce(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),ce(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>ko(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>zm(i,r,t,n)):zm(s,r,t,n)}}),Mc=v("$ZodDiscriminatedUnion",(t,e)=>{Js.init(t,e);let r=t._zod.parse;ce(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=vo(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(o,s)=>{let i=o.value;if(!$n(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),Dc=v("$ZodIntersection",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Nm(r,c,u)):Nm(r,s,i)}});function dc(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Pn(t)&&Pn(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=dc(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n{ne.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Pn(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Nt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Nt(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>xt(u,n,ot())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Nt(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Nt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Zc=v("$ZodEnum",(t,e)=>{ne.init(t,e);let r=xo(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Wa.has(typeof n)).map(n=>typeof n=="string"?cr(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),Uc=v("$ZodLiteral",(t,e)=>{ne.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?cr(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var Hc=v("$ZodTransform",(t,e)=>{ne.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new Gt;return r.value=o,r}}),Fc=v("$ZodOptional",(t,e)=>{ne.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${ko(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),qc=v("$ZodNullable",(t,e)=>{ne.init(t,e),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${ko(r.source)}|null)$`):void 0}),ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Bc=v("$ZodDefault",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Am(s,e)):Am(o,e)}});function Am(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Vc=v("$ZodPrefault",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Kc=v("$ZodNonOptional",(t,e)=>{ne.init(t,e),ce(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>jm(s,t)):jm(o,t)}});function jm(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Jc=v("$ZodCatch",(t,e)=>{ne.init(t,e),t._zod.optin="optional",ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>xt(i,n,ot()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>xt(s,n,ot()))},input:r.value}),r.issues=[]),r)}});var Wc=v("$ZodPipe",(t,e)=>{ne.init(t,e),ce(t._zod,"values",()=>e.in._zod.values),ce(t._zod,"optin",()=>e.in._zod.optin),ce(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>Mm(s,e,n)):Mm(o,e,n)}});function Mm(t,e,r){return Jr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Gc=v("$ZodReadonly",(t,e)=>{ne.init(t,e),ce(t._zod,"propValues",()=>e.innerType._zod.propValues),ce(t._zod,"values",()=>e.innerType._zod.values),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(Dm):Dm(o)}});function Dm(t){return t.value=Object.freeze(t.value),t}var Yc=v("$ZodCustom",(t,e)=>{Ie.init(t,e),ne.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>Lm(s,r,n,t));Lm(o,r,n,t)}});function Lm(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(Xa(o))}}var nb=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},ob=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${nb(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Us(n.values[0])}`:`Invalid option: expected one of ${Ls(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=e(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Ls(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function Bm(){return{localeError:ob()}}var $o=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Vm(){return new $o}var ur=Vm();function Xc(t,e){return new t({type:"string",...j(e)})}function Qc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...j(e)})}function Ws(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...j(e)})}function eu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...j(e)})}function tu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(e)})}function ru(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(e)})}function nu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(e)})}function ou(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...j(e)})}function su(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...j(e)})}function iu(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(e)})}function au(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...j(e)})}function cu(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(e)})}function uu(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...j(e)})}function lu(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...j(e)})}function du(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(e)})}function pu(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(e)})}function fu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(e)})}function mu(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(e)})}function hu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(e)})}function gu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...j(e)})}function _u(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...j(e)})}function yu(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...j(e)})}function xu(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...j(e)})}function Km(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function Jm(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function Wm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function Gm(t,e){return new t({type:"string",format:"duration",check:"string_format",...j(e)})}function vu(t,e){return new t({type:"number",checks:[],...j(e)})}function Su(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...j(e)})}function ku(t,e){return new t({type:"boolean",...j(e)})}function bu(t,e){return new t({type:"null",...j(e)})}function wu(t){return new t({type:"unknown"})}function Eu(t,e){return new t({type:"never",...j(e)})}function Gs(t,e){return new uc({check:"less_than",...j(e),value:t,inclusive:!1})}function Po(t,e){return new uc({check:"less_than",...j(e),value:t,inclusive:!0})}function Ys(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!1})}function Ro(t,e){return new lc({check:"greater_than",...j(e),value:t,inclusive:!0})}function Xs(t,e){return new _m({check:"multiple_of",...j(e),value:t})}function Qs(t,e){return new xm({check:"max_length",...j(e),maximum:t})}function Rn(t,e){return new vm({check:"min_length",...j(e),minimum:t})}function ei(t,e){return new Sm({check:"length_equals",...j(e),length:t})}function Tu(t,e){return new km({check:"string_format",format:"regex",...j(e),pattern:t})}function $u(t){return new bm({check:"string_format",format:"lowercase",...j(t)})}function Pu(t){return new wm({check:"string_format",format:"uppercase",...j(t)})}function Ru(t,e){return new Em({check:"string_format",format:"includes",...j(e),includes:t})}function Ou(t,e){return new Tm({check:"string_format",format:"starts_with",...j(e),prefix:t})}function Cu(t,e){return new $m({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Yr(t){return new Pm({check:"overwrite",tx:t})}function Iu(t){return Yr(e=>e.normalize(t))}function zu(){return Yr(t=>t.trim())}function Nu(){return Yr(t=>t.toLowerCase())}function Au(){return Yr(t=>t.toUpperCase())}function Ym(t,e,r){return new t({type:"array",element:e,...j(r)})}function ju(t,e,r){let n=j(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Mu(t,e,r){return new t({type:"custom",check:"custom",fn:e,...j(r)})}var ti=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??ur,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)a.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let m=a.schema;switch(o.type){case"string":{let p=m;p.type="string";let{minimum:h,maximum:g,format:_,patterns:x,contentEncoding:S}=e._zod.bag;if(typeof h=="number"&&(p.minLength=h),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),S&&(p.contentEncoding=S),x&&x.size>0){let w=[...x];w.length===1?p.pattern=w[0].source:w.length>1&&(a.schema.allOf=[...w.map(z=>({...this.target==="draft-7"?{type:"string"}:{},pattern:z.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:_,multipleOf:x,exclusiveMaximum:S,exclusiveMinimum:w}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof w=="number"&&(p.exclusiveMinimum=w),typeof h=="number"&&(p.minimum=h,typeof w=="number"&&(w>=h?delete p.minimum:delete p.exclusiveMinimum)),typeof S=="number"&&(p.exclusiveMaximum=S),typeof g=="number"&&(p.maximum=g,typeof S=="number"&&(S<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof x=="number"&&(p.multipleOf=x);break}case"boolean":{let p=m;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{m.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{m.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=m,{minimum:h,maximum:g}=e._zod.bag;typeof h=="number"&&(p.minItems=h),typeof g=="number"&&(p.maxItems=g),p.type="array",p.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let p=m;p.type="object",p.properties={};let h=o.shape;for(let x in h)p.properties[x]=this.process(h[x],{...d,path:[...d.path,"properties",x]});let g=new Set(Object.keys(h)),_=new Set([...g].filter(x=>{let S=o.shape[x]._zod;return this.io==="input"?S.optin===void 0:S.optout===void 0}));_.size>0&&(p.required=Array.from(_)),o.catchall?._zod.def.type==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{let p=m;p.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=m,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=S=>"allOf"in S&&Object.keys(S).length===1,x=[..._(h)?h.allOf:[h],..._(g)?g.allOf:[g]];p.allOf=x;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((x,S)=>this.process(x,{...d,path:[...d.path,"prefixItems",S]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let x=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=x:p.additionalItems=x}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:_}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof _=="number"&&(p.maxItems=_);break}case"record":{let p=m;p.type="object",p.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let p=m,h=xo(o.entries);h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),p.enum=h;break}case"literal":{let p=m,h=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){let g=h[0];p.type=g===null?"null":typeof g,p.const=g}else h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),h.every(g=>typeof g=="boolean")&&(p.type="string"),h.every(g=>g===null)&&(p.type="null"),p.enum=h;break}case"file":{let p=m,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:x}=e._zod.bag;g!==void 0&&(h.minLength=g),_!==void 0&&(h.maxLength=_),x?x.length===1?(h.contentMediaType=x[0],Object.assign(p,h)):p.anyOf=x.map(S=>({...h,contentMediaType:S})):Object.assign(p,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let p=this.process(o.innerType,d);m.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=m;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,m.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(m._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}m.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let p=m,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=h.source;break}case"pipe":{let p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,m.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let p=e._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&Pe(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(l[0])?.id,g=n.external.uri??(x=>x);if(h)return{ref:g(h)};let _=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=_,{defId:_,ref:`${g("__shared")}#/${d}/${_}`}}if(l[1]===o)return{ref:"#"};let m=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:m+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:m}=s(l);d.def={...d.schema},m&&(d.defId=m);let p=d.schema;for(let h in p)delete p[h];p.$ref=f};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let m=n.external.registry.get(l[0])?.id;if(e!==l[0]&&m){i(l);continue}}if(this.metadataRegistry.get(l[0])?.id){i(l);continue}if(d.cycle){i(l);continue}if(d.count>1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let f=this.seen.get(l),m=f.def??f.schema,p={...m};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(m.allOf=m.allOf??[],m.allOf.push(g)):(Object.assign(m,g),Object.assign(m,p))}f.isParent||this.override({zodSchema:l,jsonSchema:m,path:f.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Du(t,e){if(t instanceof $o){let n=new ti(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new ti(e);return r.process(t),r.emit(t,e)}function Pe(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Pe(o.element,r);case"object":{for(let s in o.shape)if(Pe(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(Pe(s,r))return!0;return!1}case"intersection":return Pe(o.left,r)||Pe(o.right,r);case"tuple":{for(let s of o.items)if(Pe(s,r))return!0;return!!(o.rest&&Pe(o.rest,r))}case"record":return Pe(o.keyType,r)||Pe(o.valueType,r);case"map":return Pe(o.keyType,r)||Pe(o.valueType,r);case"set":return Pe(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Pe(o.innerType,r);case"lazy":return Pe(o.getter(),r);case"default":return Pe(o.innerType,r);case"prefault":return Pe(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Pe(o.in,r)||Pe(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Lb=v("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(t,e),t.def=e,t.parse=(r,n)=>rc(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Wr(t,r,n),t.parseAsync=async(r,n)=>oc(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Gr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>st(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var Zb=v("ZodMiniObject",(t,e)=>{Ks.init(t,e),Lb.init(t,e),W.defineLazy(t,"shape",()=>e.shape)});function Lu(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new Zb(r)}function ut(t){return!!t._zod}function Qr(t){let e=Object.values(t);if(e.length===0)return Lu({});let r=e.every(ut),n=e.every(o=>!ut(o));if(r)return Lu(t);if(n)return Ha(t);throw new Error("Mixed Zod versions detected in object shape.")}function lr(t,e){return ut(t)?Wr(t,e):t.safeParse(e)}async function ri(t,e){return ut(t)?await Gr(t,e):await t.safeParseAsync(e)}function dr(t){if(!t)return;let e;if(ut(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function On(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Qr(t)}}if(ut(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function ni(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function eh(t){return t.description}function th(t){if(ut(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function oi(t){if(ut(t)){let s=t._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var Oo={};We(Oo,{ZodISODate:()=>nh,ZodISODateTime:()=>rh,ZodISODuration:()=>sh,ZodISOTime:()=>oh,date:()=>Uu,datetime:()=>Zu,duration:()=>qu,time:()=>Hu});var rh=v("ZodISODateTime",(t,e)=>{Um.init(t,e),ge.init(t,e)});function Zu(t){return Jm(rh,t)}var nh=v("ZodISODate",(t,e)=>{Hm.init(t,e),ge.init(t,e)});function Uu(t){return Wm(nh,t)}var oh=v("ZodISOTime",(t,e)=>{qm.init(t,e),ge.init(t,e)});function Hu(t){return Gm(oh,t)}var sh=v("ZodISODuration",(t,e)=>{Fm.init(t,e),ge.init(t,e)});function qu(t){return Ym(sh,t)}var ih=(t,e)=>{Hs.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>ec(t,r)},flatten:{value:r=>Qa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},GN=v("ZodError",ih),Co=v("ZodError",ih,{Parent:Error});var ah=tc(Co),ch=nc(Co),uh=sc(Co),lh=ic(Co);var ve=v("ZodType",(t,e)=>(ne.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>st(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>ah(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>uh(t,r,n),t.parseAsync=async(r,n)=>ch(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>lh(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Mw(r,n)),t.superRefine=r=>t.check(Dw(r)),t.overwrite=r=>t.check(Yr(r)),t.optional=()=>ye(t),t.nullable=()=>fh(t),t.nullish=()=>ye(fh(t)),t.nonoptional=r=>Ow(t,r),t.array=()=>G(t),t.or=r=>pe([t,r]),t.and=r=>ii(t,r),t.transform=r=>Bu(t,xh(r)),t.default=r=>$w(t,r),t.prefault=r=>Rw(t,r),t.catch=r=>Iw(t,r),t.pipe=r=>Bu(t,r),t.readonly=()=>Aw(t),t.describe=r=>{let n=t.clone();return ur.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return ur.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ur.get(t);let n=t.clone();return ur.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),mh=v("_ZodString",(t,e)=>{To.init(t,e),ve.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Tu(...n)),t.includes=(...n)=>t.check(Ru(...n)),t.startsWith=(...n)=>t.check(Ou(...n)),t.endsWith=(...n)=>t.check(Cu(...n)),t.min=(...n)=>t.check(Rn(...n)),t.max=(...n)=>t.check(Qs(...n)),t.length=(...n)=>t.check(ei(...n)),t.nonempty=(...n)=>t.check(Rn(1,...n)),t.lowercase=n=>t.check($u(n)),t.uppercase=n=>t.check(Pu(n)),t.trim=()=>t.check(zu()),t.normalize=(...n)=>t.check(Iu(...n)),t.toLowerCase=()=>t.check(Nu()),t.toUpperCase=()=>t.check(Au())}),Wb=v("ZodString",(t,e)=>{To.init(t,e),mh.init(t,e),t.email=r=>t.check(Qc(Gb,r)),t.url=r=>t.check(ou(Yb,r)),t.jwt=r=>t.check(xu(pw,r)),t.emoji=r=>t.check(su(Xb,r)),t.guid=r=>t.check(Ws(dh,r)),t.uuid=r=>t.check(eu(si,r)),t.uuidv4=r=>t.check(tu(si,r)),t.uuidv6=r=>t.check(ru(si,r)),t.uuidv7=r=>t.check(nu(si,r)),t.nanoid=r=>t.check(iu(Qb,r)),t.guid=r=>t.check(Ws(dh,r)),t.cuid=r=>t.check(au(ew,r)),t.cuid2=r=>t.check(cu(tw,r)),t.ulid=r=>t.check(uu(rw,r)),t.base64=r=>t.check(gu(uw,r)),t.base64url=r=>t.check(_u(lw,r)),t.xid=r=>t.check(lu(nw,r)),t.ksuid=r=>t.check(du(ow,r)),t.ipv4=r=>t.check(pu(sw,r)),t.ipv6=r=>t.check(fu(iw,r)),t.cidrv4=r=>t.check(mu(aw,r)),t.cidrv6=r=>t.check(hu(cw,r)),t.e164=r=>t.check(yu(dw,r)),t.datetime=r=>t.check(Zu(r)),t.date=r=>t.check(Uu(r)),t.time=r=>t.check(Hu(r)),t.duration=r=>t.check(qu(r))});function y(t){return Xc(Wb,t)}var ge=v("ZodStringFormat",(t,e)=>{ue.init(t,e),mh.init(t,e)}),Gb=v("ZodEmail",(t,e)=>{mc.init(t,e),ge.init(t,e)});var dh=v("ZodGUID",(t,e)=>{pc.init(t,e),ge.init(t,e)});var si=v("ZodUUID",(t,e)=>{fc.init(t,e),ge.init(t,e)});var Yb=v("ZodURL",(t,e)=>{hc.init(t,e),ge.init(t,e)});var Xb=v("ZodEmoji",(t,e)=>{gc.init(t,e),ge.init(t,e)});var Qb=v("ZodNanoID",(t,e)=>{_c.init(t,e),ge.init(t,e)});var ew=v("ZodCUID",(t,e)=>{yc.init(t,e),ge.init(t,e)});var tw=v("ZodCUID2",(t,e)=>{xc.init(t,e),ge.init(t,e)});var rw=v("ZodULID",(t,e)=>{vc.init(t,e),ge.init(t,e)});var nw=v("ZodXID",(t,e)=>{Sc.init(t,e),ge.init(t,e)});var ow=v("ZodKSUID",(t,e)=>{kc.init(t,e),ge.init(t,e)});var sw=v("ZodIPv4",(t,e)=>{bc.init(t,e),ge.init(t,e)});var iw=v("ZodIPv6",(t,e)=>{wc.init(t,e),ge.init(t,e)});var aw=v("ZodCIDRv4",(t,e)=>{Ec.init(t,e),ge.init(t,e)});var cw=v("ZodCIDRv6",(t,e)=>{Tc.init(t,e),ge.init(t,e)});var uw=v("ZodBase64",(t,e)=>{$c.init(t,e),ge.init(t,e)});var lw=v("ZodBase64URL",(t,e)=>{Pc.init(t,e),ge.init(t,e)});var dw=v("ZodE164",(t,e)=>{Rc.init(t,e),ge.init(t,e)});var pw=v("ZodJWT",(t,e)=>{Oc.init(t,e),ge.init(t,e)});var hh=v("ZodNumber",(t,e)=>{Vs.init(t,e),ve.init(t,e),t.gt=(n,o)=>t.check(Ys(n,o)),t.gte=(n,o)=>t.check(Ro(n,o)),t.min=(n,o)=>t.check(Ro(n,o)),t.lt=(n,o)=>t.check(Gs(n,o)),t.lte=(n,o)=>t.check(Po(n,o)),t.max=(n,o)=>t.check(Po(n,o)),t.int=n=>t.check(ph(n)),t.safe=n=>t.check(ph(n)),t.positive=n=>t.check(Ys(0,n)),t.nonnegative=n=>t.check(Ro(0,n)),t.negative=n=>t.check(Gs(0,n)),t.nonpositive=n=>t.check(Po(0,n)),t.multipleOf=(n,o)=>t.check(Xs(n,o)),t.step=(n,o)=>t.check(Xs(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function re(t){return vu(hh,t)}var fw=v("ZodNumberFormat",(t,e)=>{Cc.init(t,e),hh.init(t,e)});function ph(t){return Su(fw,t)}var mw=v("ZodBoolean",(t,e)=>{Ic.init(t,e),ve.init(t,e)});function Oe(t){return ku(mw,t)}var hw=v("ZodNull",(t,e)=>{zc.init(t,e),ve.init(t,e)});function gh(t){return bu(hw,t)}var gw=v("ZodUnknown",(t,e)=>{Nc.init(t,e),ve.init(t,e)});function _e(){return wu(gw)}var _w=v("ZodNever",(t,e)=>{Ac.init(t,e),ve.init(t,e)});function yw(t){return Eu(_w,t)}var xw=v("ZodArray",(t,e)=>{jc.init(t,e),ve.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Rn(r,n)),t.nonempty=r=>t.check(Rn(1,r)),t.max=(r,n)=>t.check(Qs(r,n)),t.length=(r,n)=>t.check(ei(r,n)),t.unwrap=()=>t.element});function G(t,e){return Xm(xw,t,e)}var _h=v("ZodObject",(t,e)=>{Ks.init(t,e),ve.init(t,e),W.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Qe(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:_e()}),t.loose=()=>t.clone({...t._zod.def,catchall:_e()}),t.strict=()=>t.clone({...t._zod.def,catchall:yw()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>W.extend(t,r),t.merge=r=>W.merge(t,r),t.pick=r=>W.pick(t,r),t.omit=r=>W.omit(t,r),t.partial=(...r)=>W.partial(vh,t,r[0]),t.required=(...r)=>W.required(Sh,t,r[0])});function P(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new _h(r)}function Fe(t,e){return new _h({type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},catchall:_e(),...W.normalizeParams(e)})}var yh=v("ZodUnion",(t,e)=>{Js.init(t,e),ve.init(t,e),t.options=e.options});function pe(t,e){return new yh({type:"union",options:t,...W.normalizeParams(e)})}var vw=v("ZodDiscriminatedUnion",(t,e)=>{yh.init(t,e),Mc.init(t,e)});function Vu(t,e,r){return new vw({type:"union",options:e,discriminator:t,...W.normalizeParams(r)})}var Sw=v("ZodIntersection",(t,e)=>{Dc.init(t,e),ve.init(t,e)});function ii(t,e){return new Sw({type:"intersection",left:t,right:e})}var kw=v("ZodRecord",(t,e)=>{Lc.init(t,e),ve.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function le(t,e,r){return new kw({type:"record",keyType:t,valueType:e,...W.normalizeParams(r)})}var Fu=v("ZodEnum",(t,e)=>{Zc.init(t,e),ve.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Fu({...e,checks:[],...W.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Fu({...e,checks:[],...W.normalizeParams(o),entries:s})}});function Qe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Fu({type:"enum",entries:r,...W.normalizeParams(e)})}var bw=v("ZodLiteral",(t,e)=>{Uc.init(t,e),ve.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function C(t,e){return new bw({type:"literal",values:Array.isArray(t)?t:[t],...W.normalizeParams(e)})}var ww=v("ZodTransform",(t,e)=>{Hc.init(t,e),ve.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(W.issue(s,r.value,e));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!0),r.issues.push(W.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function xh(t){return new ww({type:"transform",transform:t})}var vh=v("ZodOptional",(t,e)=>{qc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function ye(t){return new vh({type:"optional",innerType:t})}var Ew=v("ZodNullable",(t,e)=>{Fc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function fh(t){return new Ew({type:"nullable",innerType:t})}var Tw=v("ZodDefault",(t,e)=>{Bc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function $w(t,e){return new Tw({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Pw=v("ZodPrefault",(t,e)=>{Vc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Rw(t,e){return new Pw({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Sh=v("ZodNonOptional",(t,e)=>{Kc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Ow(t,e){return new Sh({type:"nonoptional",innerType:t,...W.normalizeParams(e)})}var Cw=v("ZodCatch",(t,e)=>{Jc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Iw(t,e){return new Cw({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var zw=v("ZodPipe",(t,e)=>{Wc.init(t,e),ve.init(t,e),t.in=e.in,t.out=e.out});function Bu(t,e){return new zw({type:"pipe",in:t,out:e})}var Nw=v("ZodReadonly",(t,e)=>{Gc.init(t,e),ve.init(t,e)});function Aw(t){return new Nw({type:"readonly",innerType:t})}var kh=v("ZodCustom",(t,e)=>{Yc.init(t,e),ve.init(t,e)});function jw(t){let e=new Ie({check:"custom"});return e._zod.check=t,e}function bh(t,e){return ju(kh,t??(()=>!0),e)}function Mw(t,e={}){return Mu(kh,t,e)}function Dw(t){let e=jw(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(W.issue(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(W.issue(o))}},t(r.value,r)));return e}function Ku(t,e){return Bu(xh(t),e)}ot(Vm());var Wu="2025-11-25";var wh=[Wu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],pr="io.modelcontextprotocol/related-task",ci="2.0",Re=bh(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Eh=pe([y(),re().int()]),Th=y(),lA=Fe({ttl:re().optional(),pollInterval:re().optional()}),Lw=P({ttl:re().optional()}),Zw=P({taskId:y()}),Gu=Fe({progressToken:Eh.optional(),[pr]:Zw.optional()}),it=P({_meta:Gu.optional()}),Io=it.extend({task:Lw.optional()}),$h=t=>Io.safeParse(t).success,ze=P({method:y(),params:it.loose().optional()}),lt=P({_meta:Gu.optional()}),dt=P({method:y(),params:lt.loose().optional()}),Ne=Fe({_meta:Gu.optional()}),ui=pe([y(),re().int()]),Ph=P({jsonrpc:C(ci),id:ui,...ze.shape}).strict(),Yu=t=>Ph.safeParse(t).success,Rh=P({jsonrpc:C(ci),...dt.shape}).strict(),Oh=t=>Rh.safeParse(t).success,Xu=P({jsonrpc:C(ci),id:ui,result:Ne}).strict(),zo=t=>Xu.safeParse(t).success;var N;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(N||(N={}));var Qu=P({jsonrpc:C(ci),id:ui.optional(),error:P({code:re().int(),message:y(),data:_e().optional()})}).strict();var Ch=t=>Qu.safeParse(t).success;var Ih=pe([Ph,Rh,Xu,Qu]),dA=pe([Xu,Qu]),li=Ne.strict(),Uw=lt.extend({requestId:ui.optional(),reason:y().optional()}),di=dt.extend({method:C("notifications/cancelled"),params:Uw}),Hw=P({src:y(),mimeType:y().optional(),sizes:G(y()).optional(),theme:Qe(["light","dark"]).optional()}),No=P({icons:G(Hw).optional()}),Cn=P({name:y(),title:y().optional()}),zh=Cn.extend({...Cn.shape,...No.shape,version:y(),websiteUrl:y().optional(),description:y().optional()}),qw=ii(P({applyDefaults:Oe().optional()}),le(y(),_e())),Fw=Ku(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,ii(P({form:qw.optional(),url:Re.optional()}),le(y(),_e()).optional())),Bw=Fe({list:Re.optional(),cancel:Re.optional(),requests:Fe({sampling:Fe({createMessage:Re.optional()}).optional(),elicitation:Fe({create:Re.optional()}).optional()}).optional()}),Vw=Fe({list:Re.optional(),cancel:Re.optional(),requests:Fe({tools:Fe({call:Re.optional()}).optional()}).optional()}),Kw=P({experimental:le(y(),Re).optional(),sampling:P({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:Fw.optional(),roots:P({listChanged:Oe().optional()}).optional(),tasks:Bw.optional(),extensions:le(y(),Re).optional()}),Jw=it.extend({protocolVersion:y(),capabilities:Kw,clientInfo:zh}),el=ze.extend({method:C("initialize"),params:Jw});var Ww=P({experimental:le(y(),Re).optional(),logging:Re.optional(),completions:Re.optional(),prompts:P({listChanged:Oe().optional()}).optional(),resources:P({subscribe:Oe().optional(),listChanged:Oe().optional()}).optional(),tools:P({listChanged:Oe().optional()}).optional(),tasks:Vw.optional(),extensions:le(y(),Re).optional()}),Gw=Ne.extend({protocolVersion:y(),capabilities:Ww,serverInfo:zh,instructions:y().optional()}),tl=dt.extend({method:C("notifications/initialized"),params:lt.optional()});var pi=ze.extend({method:C("ping"),params:it.optional()}),Yw=P({progress:re(),total:ye(re()),message:ye(y())}),Xw=P({...lt.shape,...Yw.shape,progressToken:Eh}),fi=dt.extend({method:C("notifications/progress"),params:Xw}),Qw=it.extend({cursor:Th.optional()}),Ao=ze.extend({params:Qw.optional()}),jo=Ne.extend({nextCursor:Th.optional()}),eE=Qe(["working","input_required","completed","failed","cancelled"]),Mo=P({taskId:y(),status:eE,ttl:pe([re(),gh()]),createdAt:y(),lastUpdatedAt:y(),pollInterval:ye(re()),statusMessage:ye(y())}),In=Ne.extend({task:Mo}),tE=lt.merge(Mo),Do=dt.extend({method:C("notifications/tasks/status"),params:tE}),mi=ze.extend({method:C("tasks/get"),params:it.extend({taskId:y()})}),hi=Ne.merge(Mo),gi=ze.extend({method:C("tasks/result"),params:it.extend({taskId:y()})}),pA=Ne.loose(),_i=Ao.extend({method:C("tasks/list")}),yi=jo.extend({tasks:G(Mo)}),xi=ze.extend({method:C("tasks/cancel"),params:it.extend({taskId:y()})}),Nh=Ne.merge(Mo),Ah=P({uri:y(),mimeType:ye(y()),_meta:le(y(),_e()).optional()}),jh=Ah.extend({text:y()}),rl=y().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Mh=Ah.extend({blob:rl}),Lo=Qe(["user","assistant"]),zn=P({audience:G(Lo).optional(),priority:re().min(0).max(1).optional(),lastModified:Oo.datetime({offset:!0}).optional()}),Dh=P({...Cn.shape,...No.shape,uri:y(),description:ye(y()),mimeType:ye(y()),size:ye(re()),annotations:zn.optional(),_meta:ye(Fe({}))}),rE=P({...Cn.shape,...No.shape,uriTemplate:y(),description:ye(y()),mimeType:ye(y()),annotations:zn.optional(),_meta:ye(Fe({}))}),Nn=Ao.extend({method:C("resources/list")}),nE=jo.extend({resources:G(Dh)}),An=Ao.extend({method:C("resources/templates/list")}),oE=jo.extend({resourceTemplates:G(rE)}),nl=it.extend({uri:y()}),sE=nl,vi=ze.extend({method:C("resources/read"),params:sE}),iE=Ne.extend({contents:G(pe([jh,Mh]))}),aE=dt.extend({method:C("notifications/resources/list_changed"),params:lt.optional()}),cE=nl,uE=ze.extend({method:C("resources/subscribe"),params:cE}),lE=nl,dE=ze.extend({method:C("resources/unsubscribe"),params:lE}),pE=lt.extend({uri:y()}),fE=dt.extend({method:C("notifications/resources/updated"),params:pE}),mE=P({name:y(),description:ye(y()),required:ye(Oe())}),hE=P({...Cn.shape,...No.shape,description:ye(y()),arguments:ye(G(mE)),_meta:ye(Fe({}))}),jn=Ao.extend({method:C("prompts/list")}),gE=jo.extend({prompts:G(hE)}),_E=it.extend({name:y(),arguments:le(y(),y()).optional()}),Si=ze.extend({method:C("prompts/get"),params:_E}),ol=P({type:C("text"),text:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),sl=P({type:C("image"),data:rl,mimeType:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),il=P({type:C("audio"),data:rl,mimeType:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),yE=P({type:C("tool_use"),name:y(),id:y(),input:le(y(),_e()),_meta:le(y(),_e()).optional()}),xE=P({type:C("resource"),resource:pe([jh,Mh]),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),vE=Dh.extend({type:C("resource_link")}),al=pe([ol,sl,il,vE,xE]),SE=P({role:Lo,content:al}),kE=Ne.extend({description:y().optional(),messages:G(SE)}),bE=dt.extend({method:C("notifications/prompts/list_changed"),params:lt.optional()}),wE=P({title:y().optional(),readOnlyHint:Oe().optional(),destructiveHint:Oe().optional(),idempotentHint:Oe().optional(),openWorldHint:Oe().optional()}),EE=P({taskSupport:Qe(["required","optional","forbidden"]).optional()}),Lh=P({...Cn.shape,...No.shape,description:y().optional(),inputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(_e()),outputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(_e()).optional(),annotations:wE.optional(),execution:EE.optional(),_meta:le(y(),_e()).optional()}),ki=Ao.extend({method:C("tools/list")}),TE=jo.extend({tools:G(Lh)}),bi=Ne.extend({content:G(al).default([]),structuredContent:le(y(),_e()).optional(),isError:Oe().optional()}),fA=bi.or(Ne.extend({toolResult:_e()})),$E=Io.extend({name:y(),arguments:le(y(),_e()).optional()}),Mn=ze.extend({method:C("tools/call"),params:$E}),PE=dt.extend({method:C("notifications/tools/list_changed"),params:lt.optional()}),mA=P({autoRefresh:Oe().default(!0),debounceMs:re().int().nonnegative().default(300)}),Zo=Qe(["debug","info","notice","warning","error","critical","alert","emergency"]),RE=it.extend({level:Zo}),cl=ze.extend({method:C("logging/setLevel"),params:RE}),OE=lt.extend({level:Zo,logger:y().optional(),data:_e()}),CE=dt.extend({method:C("notifications/message"),params:OE}),IE=P({name:y().optional()}),zE=P({hints:G(IE).optional(),costPriority:re().min(0).max(1).optional(),speedPriority:re().min(0).max(1).optional(),intelligencePriority:re().min(0).max(1).optional()}),NE=P({mode:Qe(["auto","required","none"]).optional()}),AE=P({type:C("tool_result"),toolUseId:y().describe("The unique identifier for the corresponding tool call."),content:G(al).default([]),structuredContent:P({}).loose().optional(),isError:Oe().optional(),_meta:le(y(),_e()).optional()}),jE=Vu("type",[ol,sl,il]),ai=Vu("type",[ol,sl,il,yE,AE]),ME=P({role:Lo,content:pe([ai,G(ai)]),_meta:le(y(),_e()).optional()}),DE=Io.extend({messages:G(ME),modelPreferences:zE.optional(),systemPrompt:y().optional(),includeContext:Qe(["none","thisServer","allServers"]).optional(),temperature:re().optional(),maxTokens:re().int(),stopSequences:G(y()).optional(),metadata:Re.optional(),tools:G(Lh).optional(),toolChoice:NE.optional()}),LE=ze.extend({method:C("sampling/createMessage"),params:DE}),Uo=Ne.extend({model:y(),stopReason:ye(Qe(["endTurn","stopSequence","maxTokens"]).or(y())),role:Lo,content:jE}),ul=Ne.extend({model:y(),stopReason:ye(Qe(["endTurn","stopSequence","maxTokens","toolUse"]).or(y())),role:Lo,content:pe([ai,G(ai)])}),ZE=P({type:C("boolean"),title:y().optional(),description:y().optional(),default:Oe().optional()}),UE=P({type:C("string"),title:y().optional(),description:y().optional(),minLength:re().optional(),maxLength:re().optional(),format:Qe(["email","uri","date","date-time"]).optional(),default:y().optional()}),HE=P({type:Qe(["number","integer"]),title:y().optional(),description:y().optional(),minimum:re().optional(),maximum:re().optional(),default:re().optional()}),qE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),default:y().optional()}),FE=P({type:C("string"),title:y().optional(),description:y().optional(),oneOf:G(P({const:y(),title:y()})),default:y().optional()}),BE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),enumNames:G(y()).optional(),default:y().optional()}),VE=pe([qE,FE]),KE=P({type:C("array"),title:y().optional(),description:y().optional(),minItems:re().optional(),maxItems:re().optional(),items:P({type:C("string"),enum:G(y())}),default:G(y()).optional()}),JE=P({type:C("array"),title:y().optional(),description:y().optional(),minItems:re().optional(),maxItems:re().optional(),items:P({anyOf:G(P({const:y(),title:y()}))}),default:G(y()).optional()}),WE=pe([KE,JE]),GE=pe([BE,VE,WE]),YE=pe([GE,ZE,UE,HE]),XE=Io.extend({mode:C("form").optional(),message:y(),requestedSchema:P({type:C("object"),properties:le(y(),YE),required:G(y()).optional()})}),QE=Io.extend({mode:C("url"),message:y(),elicitationId:y(),url:y().url()}),eT=pe([XE,QE]),tT=ze.extend({method:C("elicitation/create"),params:eT}),rT=lt.extend({elicitationId:y()}),nT=dt.extend({method:C("notifications/elicitation/complete"),params:rT}),Dn=Ne.extend({action:Qe(["accept","decline","cancel"]),content:Ku(t=>t===null?void 0:t,le(y(),pe([y(),re(),Oe(),G(y())])).optional())}),oT=P({type:C("ref/resource"),uri:y()});var sT=P({type:C("ref/prompt"),name:y()}),iT=it.extend({ref:pe([sT,oT]),argument:P({name:y(),value:y()}),context:P({arguments:le(y(),y()).optional()}).optional()}),wi=ze.extend({method:C("completion/complete"),params:iT});function Zh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function Uh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var aT=Ne.extend({completion:Fe({values:G(y()).max(100),total:ye(re().int()),hasMore:ye(Oe())})}),cT=P({uri:y().startsWith("file://"),name:y().optional(),_meta:le(y(),_e()).optional()}),uT=ze.extend({method:C("roots/list"),params:it.optional()}),ll=Ne.extend({roots:G(cT)}),lT=dt.extend({method:C("notifications/roots/list_changed"),params:lt.optional()}),hA=pe([pi,el,wi,cl,Si,jn,Nn,An,vi,uE,dE,Mn,ki,mi,gi,_i,xi]),gA=pe([di,fi,tl,lT,Do]),_A=pe([li,Uo,ul,Dn,ll,hi,yi,In]),yA=pe([pi,LE,tT,uT,mi,gi,_i,xi]),xA=pe([di,fi,CE,fE,aE,PE,bE,Do,nT]),vA=pe([li,Gw,aT,kE,gE,nE,oE,iE,bi,TE,hi,yi,In]),O=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===N.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Ju(o.elicitations,r)}return new t(e,r,n)}},Ju=class extends O{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function fr(t){return t==="completed"||t==="failed"||t==="cancelled"}var qh=Symbol("Let zodToJsonSchema decide on which parser to use");var Hh={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},Fh=t=>typeof t=="string"?{...Hh,name:t}:{...Hh,...t};var Bh=t=>{let e=Fh(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function dl(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function Y(t,e,r,n,o){t[e]=r,dl(t,e,n,o)}var Ei=(t,e)=>{let r=0;for(;rM(t.innerType._def,e);function pl(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>pl(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return dT(t,e)}}var dT=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":Y(r,"minimum",n.value,n.message,e);break;case"max":Y(r,"maximum",n.value,n.message,e);break}return r};function Gh(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function Yh(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):xe(e)}function Xh(t){return{type:"string",enum:Array.from(t.values)}}var pT=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Qh(t,e){let r=[M(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),M(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(pT(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function eg(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var fl,vt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(fl===void 0&&(fl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),fl),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function $i(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":Y(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":Y(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":St(r,"email",n.message,e);break;case"format:idn-email":St(r,"idn-email",n.message,e);break;case"pattern:zod":Be(r,vt.email,n.message,e);break}break;case"url":St(r,"uri",n.message,e);break;case"uuid":St(r,"uuid",n.message,e);break;case"regex":Be(r,n.regex,n.message,e);break;case"cuid":Be(r,vt.cuid,n.message,e);break;case"cuid2":Be(r,vt.cuid2,n.message,e);break;case"startsWith":Be(r,RegExp(`^${ml(n.value,e)}`),n.message,e);break;case"endsWith":Be(r,RegExp(`${ml(n.value,e)}$`),n.message,e);break;case"datetime":St(r,"date-time",n.message,e);break;case"date":St(r,"date",n.message,e);break;case"time":St(r,"time",n.message,e);break;case"duration":St(r,"duration",n.message,e);break;case"length":Y(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),Y(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Be(r,RegExp(ml(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&St(r,"ipv4",n.message,e),n.version!=="v4"&&St(r,"ipv6",n.message,e);break}case"base64url":Be(r,vt.base64url,n.message,e);break;case"jwt":Be(r,vt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Be(r,vt.ipv4Cidr,n.message,e),n.version!=="v4"&&Be(r,vt.ipv6Cidr,n.message,e);break}case"emoji":Be(r,vt.emoji(),n.message,e);break;case"ulid":{Be(r,vt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{St(r,"binary",n.message,e);break}case"contentEncoding:base64":{Y(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Be(r,vt.base64,n.message,e);break}}break}case"nanoid":Be(r,vt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function ml(t,e){return e.patternStrategy==="escape"?mT(t):t}var fT=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function mT(t){let e="";for(let r=0;ro.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):Y(t,"format",e,r,n)}function Be(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:tg(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):Y(t,"pattern",tg(e,n),r,n)}function tg(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let f=this.seen.get(l),m=f.def??f.schema,p={...m};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(m.allOf=m.allOf??[],m.allOf.push(g)):(Object.assign(m,g),Object.assign(m,p))}f.isParent||this.override({zodSchema:l,jsonSchema:m,path:f.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Du(t,e){if(t instanceof $o){let n=new ti(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new ti(e);return r.process(t),r.emit(t,e)}function Pe(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Pe(o.element,r);case"object":{for(let s in o.shape)if(Pe(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(Pe(s,r))return!0;return!1}case"intersection":return Pe(o.left,r)||Pe(o.right,r);case"tuple":{for(let s of o.items)if(Pe(s,r))return!0;return!!(o.rest&&Pe(o.rest,r))}case"record":return Pe(o.keyType,r)||Pe(o.valueType,r);case"map":return Pe(o.keyType,r)||Pe(o.valueType,r);case"set":return Pe(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Pe(o.innerType,r);case"lazy":return Pe(o.getter(),r);case"default":return Pe(o.innerType,r);case"prefault":return Pe(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Pe(o.in,r)||Pe(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Lb=v("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(t,e),t.def=e,t.parse=(r,n)=>rc(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Wr(t,r,n),t.parseAsync=async(r,n)=>oc(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Gr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>st(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var Zb=v("ZodMiniObject",(t,e)=>{Ks.init(t,e),Lb.init(t,e),W.defineLazy(t,"shape",()=>e.shape)});function Lu(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new Zb(r)}function ut(t){return!!t._zod}function Qr(t){let e=Object.values(t);if(e.length===0)return Lu({});let r=e.every(ut),n=e.every(o=>!ut(o));if(r)return Lu(t);if(n)return Ha(t);throw new Error("Mixed Zod versions detected in object shape.")}function lr(t,e){return ut(t)?Wr(t,e):t.safeParse(e)}async function ri(t,e){return ut(t)?await Gr(t,e):await t.safeParseAsync(e)}function dr(t){if(!t)return;let e;if(ut(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function On(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Qr(t)}}if(ut(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function ni(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function Qm(t){return t.description}function eh(t){if(ut(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function oi(t){if(ut(t)){let s=t._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var Oo={};We(Oo,{ZodISODate:()=>rh,ZodISODateTime:()=>th,ZodISODuration:()=>oh,ZodISOTime:()=>nh,date:()=>Uu,datetime:()=>Zu,duration:()=>Fu,time:()=>Hu});var th=v("ZodISODateTime",(t,e)=>{Zm.init(t,e),ge.init(t,e)});function Zu(t){return Km(th,t)}var rh=v("ZodISODate",(t,e)=>{Um.init(t,e),ge.init(t,e)});function Uu(t){return Jm(rh,t)}var nh=v("ZodISOTime",(t,e)=>{Hm.init(t,e),ge.init(t,e)});function Hu(t){return Wm(nh,t)}var oh=v("ZodISODuration",(t,e)=>{Fm.init(t,e),ge.init(t,e)});function Fu(t){return Gm(oh,t)}var sh=(t,e)=>{Hs.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>ec(t,r)},flatten:{value:r=>Qa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},YN=v("ZodError",sh),Co=v("ZodError",sh,{Parent:Error});var ih=tc(Co),ah=nc(Co),ch=sc(Co),uh=ic(Co);var ve=v("ZodType",(t,e)=>(ne.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>st(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>ih(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>ch(t,r,n),t.parseAsync=async(r,n)=>ah(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>uh(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Mw(r,n)),t.superRefine=r=>t.check(Dw(r)),t.overwrite=r=>t.check(Yr(r)),t.optional=()=>ye(t),t.nullable=()=>ph(t),t.nullish=()=>ye(ph(t)),t.nonoptional=r=>Ow(t,r),t.array=()=>G(t),t.or=r=>pe([t,r]),t.and=r=>ii(t,r),t.transform=r=>Bu(t,yh(r)),t.default=r=>$w(t,r),t.prefault=r=>Rw(t,r),t.catch=r=>Iw(t,r),t.pipe=r=>Bu(t,r),t.readonly=()=>Aw(t),t.describe=r=>{let n=t.clone();return ur.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return ur.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ur.get(t);let n=t.clone();return ur.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),fh=v("_ZodString",(t,e)=>{To.init(t,e),ve.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Tu(...n)),t.includes=(...n)=>t.check(Ru(...n)),t.startsWith=(...n)=>t.check(Ou(...n)),t.endsWith=(...n)=>t.check(Cu(...n)),t.min=(...n)=>t.check(Rn(...n)),t.max=(...n)=>t.check(Qs(...n)),t.length=(...n)=>t.check(ei(...n)),t.nonempty=(...n)=>t.check(Rn(1,...n)),t.lowercase=n=>t.check($u(n)),t.uppercase=n=>t.check(Pu(n)),t.trim=()=>t.check(zu()),t.normalize=(...n)=>t.check(Iu(...n)),t.toLowerCase=()=>t.check(Nu()),t.toUpperCase=()=>t.check(Au())}),Wb=v("ZodString",(t,e)=>{To.init(t,e),fh.init(t,e),t.email=r=>t.check(Qc(Gb,r)),t.url=r=>t.check(ou(Yb,r)),t.jwt=r=>t.check(xu(pw,r)),t.emoji=r=>t.check(su(Xb,r)),t.guid=r=>t.check(Ws(lh,r)),t.uuid=r=>t.check(eu(si,r)),t.uuidv4=r=>t.check(tu(si,r)),t.uuidv6=r=>t.check(ru(si,r)),t.uuidv7=r=>t.check(nu(si,r)),t.nanoid=r=>t.check(iu(Qb,r)),t.guid=r=>t.check(Ws(lh,r)),t.cuid=r=>t.check(au(ew,r)),t.cuid2=r=>t.check(cu(tw,r)),t.ulid=r=>t.check(uu(rw,r)),t.base64=r=>t.check(gu(uw,r)),t.base64url=r=>t.check(_u(lw,r)),t.xid=r=>t.check(lu(nw,r)),t.ksuid=r=>t.check(du(ow,r)),t.ipv4=r=>t.check(pu(sw,r)),t.ipv6=r=>t.check(fu(iw,r)),t.cidrv4=r=>t.check(mu(aw,r)),t.cidrv6=r=>t.check(hu(cw,r)),t.e164=r=>t.check(yu(dw,r)),t.datetime=r=>t.check(Zu(r)),t.date=r=>t.check(Uu(r)),t.time=r=>t.check(Hu(r)),t.duration=r=>t.check(Fu(r))});function y(t){return Xc(Wb,t)}var ge=v("ZodStringFormat",(t,e)=>{ue.init(t,e),fh.init(t,e)}),Gb=v("ZodEmail",(t,e)=>{mc.init(t,e),ge.init(t,e)});var lh=v("ZodGUID",(t,e)=>{pc.init(t,e),ge.init(t,e)});var si=v("ZodUUID",(t,e)=>{fc.init(t,e),ge.init(t,e)});var Yb=v("ZodURL",(t,e)=>{hc.init(t,e),ge.init(t,e)});var Xb=v("ZodEmoji",(t,e)=>{gc.init(t,e),ge.init(t,e)});var Qb=v("ZodNanoID",(t,e)=>{_c.init(t,e),ge.init(t,e)});var ew=v("ZodCUID",(t,e)=>{yc.init(t,e),ge.init(t,e)});var tw=v("ZodCUID2",(t,e)=>{xc.init(t,e),ge.init(t,e)});var rw=v("ZodULID",(t,e)=>{vc.init(t,e),ge.init(t,e)});var nw=v("ZodXID",(t,e)=>{Sc.init(t,e),ge.init(t,e)});var ow=v("ZodKSUID",(t,e)=>{kc.init(t,e),ge.init(t,e)});var sw=v("ZodIPv4",(t,e)=>{bc.init(t,e),ge.init(t,e)});var iw=v("ZodIPv6",(t,e)=>{wc.init(t,e),ge.init(t,e)});var aw=v("ZodCIDRv4",(t,e)=>{Ec.init(t,e),ge.init(t,e)});var cw=v("ZodCIDRv6",(t,e)=>{Tc.init(t,e),ge.init(t,e)});var uw=v("ZodBase64",(t,e)=>{$c.init(t,e),ge.init(t,e)});var lw=v("ZodBase64URL",(t,e)=>{Pc.init(t,e),ge.init(t,e)});var dw=v("ZodE164",(t,e)=>{Rc.init(t,e),ge.init(t,e)});var pw=v("ZodJWT",(t,e)=>{Oc.init(t,e),ge.init(t,e)});var mh=v("ZodNumber",(t,e)=>{Vs.init(t,e),ve.init(t,e),t.gt=(n,o)=>t.check(Ys(n,o)),t.gte=(n,o)=>t.check(Ro(n,o)),t.min=(n,o)=>t.check(Ro(n,o)),t.lt=(n,o)=>t.check(Gs(n,o)),t.lte=(n,o)=>t.check(Po(n,o)),t.max=(n,o)=>t.check(Po(n,o)),t.int=n=>t.check(dh(n)),t.safe=n=>t.check(dh(n)),t.positive=n=>t.check(Ys(0,n)),t.nonnegative=n=>t.check(Ro(0,n)),t.negative=n=>t.check(Gs(0,n)),t.nonpositive=n=>t.check(Po(0,n)),t.multipleOf=(n,o)=>t.check(Xs(n,o)),t.step=(n,o)=>t.check(Xs(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function re(t){return vu(mh,t)}var fw=v("ZodNumberFormat",(t,e)=>{Cc.init(t,e),mh.init(t,e)});function dh(t){return Su(fw,t)}var mw=v("ZodBoolean",(t,e)=>{Ic.init(t,e),ve.init(t,e)});function Oe(t){return ku(mw,t)}var hw=v("ZodNull",(t,e)=>{zc.init(t,e),ve.init(t,e)});function hh(t){return bu(hw,t)}var gw=v("ZodUnknown",(t,e)=>{Nc.init(t,e),ve.init(t,e)});function _e(){return wu(gw)}var _w=v("ZodNever",(t,e)=>{Ac.init(t,e),ve.init(t,e)});function yw(t){return Eu(_w,t)}var xw=v("ZodArray",(t,e)=>{jc.init(t,e),ve.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Rn(r,n)),t.nonempty=r=>t.check(Rn(1,r)),t.max=(r,n)=>t.check(Qs(r,n)),t.length=(r,n)=>t.check(ei(r,n)),t.unwrap=()=>t.element});function G(t,e){return Ym(xw,t,e)}var gh=v("ZodObject",(t,e)=>{Ks.init(t,e),ve.init(t,e),W.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Qe(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:_e()}),t.loose=()=>t.clone({...t._zod.def,catchall:_e()}),t.strict=()=>t.clone({...t._zod.def,catchall:yw()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>W.extend(t,r),t.merge=r=>W.merge(t,r),t.pick=r=>W.pick(t,r),t.omit=r=>W.omit(t,r),t.partial=(...r)=>W.partial(xh,t,r[0]),t.required=(...r)=>W.required(vh,t,r[0])});function P(t,e){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},...W.normalizeParams(e)};return new gh(r)}function qe(t,e){return new gh({type:"object",get shape(){return W.assignProp(this,"shape",{...t}),this.shape},catchall:_e(),...W.normalizeParams(e)})}var _h=v("ZodUnion",(t,e)=>{Js.init(t,e),ve.init(t,e),t.options=e.options});function pe(t,e){return new _h({type:"union",options:t,...W.normalizeParams(e)})}var vw=v("ZodDiscriminatedUnion",(t,e)=>{_h.init(t,e),Mc.init(t,e)});function Vu(t,e,r){return new vw({type:"union",options:e,discriminator:t,...W.normalizeParams(r)})}var Sw=v("ZodIntersection",(t,e)=>{Dc.init(t,e),ve.init(t,e)});function ii(t,e){return new Sw({type:"intersection",left:t,right:e})}var kw=v("ZodRecord",(t,e)=>{Lc.init(t,e),ve.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function le(t,e,r){return new kw({type:"record",keyType:t,valueType:e,...W.normalizeParams(r)})}var qu=v("ZodEnum",(t,e)=>{Zc.init(t,e),ve.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new qu({...e,checks:[],...W.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new qu({...e,checks:[],...W.normalizeParams(o),entries:s})}});function Qe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new qu({type:"enum",entries:r,...W.normalizeParams(e)})}var bw=v("ZodLiteral",(t,e)=>{Uc.init(t,e),ve.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function C(t,e){return new bw({type:"literal",values:Array.isArray(t)?t:[t],...W.normalizeParams(e)})}var ww=v("ZodTransform",(t,e)=>{Hc.init(t,e),ve.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(W.issue(s,r.value,e));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!0),r.issues.push(W.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function yh(t){return new ww({type:"transform",transform:t})}var xh=v("ZodOptional",(t,e)=>{Fc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function ye(t){return new xh({type:"optional",innerType:t})}var Ew=v("ZodNullable",(t,e)=>{qc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function ph(t){return new Ew({type:"nullable",innerType:t})}var Tw=v("ZodDefault",(t,e)=>{Bc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function $w(t,e){return new Tw({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Pw=v("ZodPrefault",(t,e)=>{Vc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Rw(t,e){return new Pw({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var vh=v("ZodNonOptional",(t,e)=>{Kc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Ow(t,e){return new vh({type:"nonoptional",innerType:t,...W.normalizeParams(e)})}var Cw=v("ZodCatch",(t,e)=>{Jc.init(t,e),ve.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Iw(t,e){return new Cw({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var zw=v("ZodPipe",(t,e)=>{Wc.init(t,e),ve.init(t,e),t.in=e.in,t.out=e.out});function Bu(t,e){return new zw({type:"pipe",in:t,out:e})}var Nw=v("ZodReadonly",(t,e)=>{Gc.init(t,e),ve.init(t,e)});function Aw(t){return new Nw({type:"readonly",innerType:t})}var Sh=v("ZodCustom",(t,e)=>{Yc.init(t,e),ve.init(t,e)});function jw(t){let e=new Ie({check:"custom"});return e._zod.check=t,e}function kh(t,e){return ju(Sh,t??(()=>!0),e)}function Mw(t,e={}){return Mu(Sh,t,e)}function Dw(t){let e=jw(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(W.issue(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(W.issue(o))}},t(r.value,r)));return e}function Ku(t,e){return Bu(yh(t),e)}ot(Bm());var Wu="2025-11-25";var bh=[Wu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],pr="io.modelcontextprotocol/related-task",ci="2.0",Re=kh(t=>t!==null&&(typeof t=="object"||typeof t=="function")),wh=pe([y(),re().int()]),Eh=y(),dA=qe({ttl:re().optional(),pollInterval:re().optional()}),Lw=P({ttl:re().optional()}),Zw=P({taskId:y()}),Gu=qe({progressToken:wh.optional(),[pr]:Zw.optional()}),it=P({_meta:Gu.optional()}),Io=it.extend({task:Lw.optional()}),Th=t=>Io.safeParse(t).success,ze=P({method:y(),params:it.loose().optional()}),lt=P({_meta:Gu.optional()}),dt=P({method:y(),params:lt.loose().optional()}),Ne=qe({_meta:Gu.optional()}),ui=pe([y(),re().int()]),$h=P({jsonrpc:C(ci),id:ui,...ze.shape}).strict(),Yu=t=>$h.safeParse(t).success,Ph=P({jsonrpc:C(ci),...dt.shape}).strict(),Rh=t=>Ph.safeParse(t).success,Xu=P({jsonrpc:C(ci),id:ui,result:Ne}).strict(),zo=t=>Xu.safeParse(t).success;var N;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(N||(N={}));var Qu=P({jsonrpc:C(ci),id:ui.optional(),error:P({code:re().int(),message:y(),data:_e().optional()})}).strict();var Oh=t=>Qu.safeParse(t).success;var Ch=pe([$h,Ph,Xu,Qu]),pA=pe([Xu,Qu]),li=Ne.strict(),Uw=lt.extend({requestId:ui.optional(),reason:y().optional()}),di=dt.extend({method:C("notifications/cancelled"),params:Uw}),Hw=P({src:y(),mimeType:y().optional(),sizes:G(y()).optional(),theme:Qe(["light","dark"]).optional()}),No=P({icons:G(Hw).optional()}),Cn=P({name:y(),title:y().optional()}),Ih=Cn.extend({...Cn.shape,...No.shape,version:y(),websiteUrl:y().optional(),description:y().optional()}),Fw=ii(P({applyDefaults:Oe().optional()}),le(y(),_e())),qw=Ku(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,ii(P({form:Fw.optional(),url:Re.optional()}),le(y(),_e()).optional())),Bw=qe({list:Re.optional(),cancel:Re.optional(),requests:qe({sampling:qe({createMessage:Re.optional()}).optional(),elicitation:qe({create:Re.optional()}).optional()}).optional()}),Vw=qe({list:Re.optional(),cancel:Re.optional(),requests:qe({tools:qe({call:Re.optional()}).optional()}).optional()}),Kw=P({experimental:le(y(),Re).optional(),sampling:P({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:qw.optional(),roots:P({listChanged:Oe().optional()}).optional(),tasks:Bw.optional(),extensions:le(y(),Re).optional()}),Jw=it.extend({protocolVersion:y(),capabilities:Kw,clientInfo:Ih}),el=ze.extend({method:C("initialize"),params:Jw});var Ww=P({experimental:le(y(),Re).optional(),logging:Re.optional(),completions:Re.optional(),prompts:P({listChanged:Oe().optional()}).optional(),resources:P({subscribe:Oe().optional(),listChanged:Oe().optional()}).optional(),tools:P({listChanged:Oe().optional()}).optional(),tasks:Vw.optional(),extensions:le(y(),Re).optional()}),Gw=Ne.extend({protocolVersion:y(),capabilities:Ww,serverInfo:Ih,instructions:y().optional()}),tl=dt.extend({method:C("notifications/initialized"),params:lt.optional()});var pi=ze.extend({method:C("ping"),params:it.optional()}),Yw=P({progress:re(),total:ye(re()),message:ye(y())}),Xw=P({...lt.shape,...Yw.shape,progressToken:wh}),fi=dt.extend({method:C("notifications/progress"),params:Xw}),Qw=it.extend({cursor:Eh.optional()}),Ao=ze.extend({params:Qw.optional()}),jo=Ne.extend({nextCursor:Eh.optional()}),eE=Qe(["working","input_required","completed","failed","cancelled"]),Mo=P({taskId:y(),status:eE,ttl:pe([re(),hh()]),createdAt:y(),lastUpdatedAt:y(),pollInterval:ye(re()),statusMessage:ye(y())}),In=Ne.extend({task:Mo}),tE=lt.merge(Mo),Do=dt.extend({method:C("notifications/tasks/status"),params:tE}),mi=ze.extend({method:C("tasks/get"),params:it.extend({taskId:y()})}),hi=Ne.merge(Mo),gi=ze.extend({method:C("tasks/result"),params:it.extend({taskId:y()})}),fA=Ne.loose(),_i=Ao.extend({method:C("tasks/list")}),yi=jo.extend({tasks:G(Mo)}),xi=ze.extend({method:C("tasks/cancel"),params:it.extend({taskId:y()})}),zh=Ne.merge(Mo),Nh=P({uri:y(),mimeType:ye(y()),_meta:le(y(),_e()).optional()}),Ah=Nh.extend({text:y()}),rl=y().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),jh=Nh.extend({blob:rl}),Lo=Qe(["user","assistant"]),zn=P({audience:G(Lo).optional(),priority:re().min(0).max(1).optional(),lastModified:Oo.datetime({offset:!0}).optional()}),Mh=P({...Cn.shape,...No.shape,uri:y(),description:ye(y()),mimeType:ye(y()),size:ye(re()),annotations:zn.optional(),_meta:ye(qe({}))}),rE=P({...Cn.shape,...No.shape,uriTemplate:y(),description:ye(y()),mimeType:ye(y()),annotations:zn.optional(),_meta:ye(qe({}))}),Nn=Ao.extend({method:C("resources/list")}),nE=jo.extend({resources:G(Mh)}),An=Ao.extend({method:C("resources/templates/list")}),oE=jo.extend({resourceTemplates:G(rE)}),nl=it.extend({uri:y()}),sE=nl,vi=ze.extend({method:C("resources/read"),params:sE}),iE=Ne.extend({contents:G(pe([Ah,jh]))}),aE=dt.extend({method:C("notifications/resources/list_changed"),params:lt.optional()}),cE=nl,uE=ze.extend({method:C("resources/subscribe"),params:cE}),lE=nl,dE=ze.extend({method:C("resources/unsubscribe"),params:lE}),pE=lt.extend({uri:y()}),fE=dt.extend({method:C("notifications/resources/updated"),params:pE}),mE=P({name:y(),description:ye(y()),required:ye(Oe())}),hE=P({...Cn.shape,...No.shape,description:ye(y()),arguments:ye(G(mE)),_meta:ye(qe({}))}),jn=Ao.extend({method:C("prompts/list")}),gE=jo.extend({prompts:G(hE)}),_E=it.extend({name:y(),arguments:le(y(),y()).optional()}),Si=ze.extend({method:C("prompts/get"),params:_E}),ol=P({type:C("text"),text:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),sl=P({type:C("image"),data:rl,mimeType:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),il=P({type:C("audio"),data:rl,mimeType:y(),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),yE=P({type:C("tool_use"),name:y(),id:y(),input:le(y(),_e()),_meta:le(y(),_e()).optional()}),xE=P({type:C("resource"),resource:pe([Ah,jh]),annotations:zn.optional(),_meta:le(y(),_e()).optional()}),vE=Mh.extend({type:C("resource_link")}),al=pe([ol,sl,il,vE,xE]),SE=P({role:Lo,content:al}),kE=Ne.extend({description:y().optional(),messages:G(SE)}),bE=dt.extend({method:C("notifications/prompts/list_changed"),params:lt.optional()}),wE=P({title:y().optional(),readOnlyHint:Oe().optional(),destructiveHint:Oe().optional(),idempotentHint:Oe().optional(),openWorldHint:Oe().optional()}),EE=P({taskSupport:Qe(["required","optional","forbidden"]).optional()}),Dh=P({...Cn.shape,...No.shape,description:y().optional(),inputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(_e()),outputSchema:P({type:C("object"),properties:le(y(),Re).optional(),required:G(y()).optional()}).catchall(_e()).optional(),annotations:wE.optional(),execution:EE.optional(),_meta:le(y(),_e()).optional()}),ki=Ao.extend({method:C("tools/list")}),TE=jo.extend({tools:G(Dh)}),bi=Ne.extend({content:G(al).default([]),structuredContent:le(y(),_e()).optional(),isError:Oe().optional()}),mA=bi.or(Ne.extend({toolResult:_e()})),$E=Io.extend({name:y(),arguments:le(y(),_e()).optional()}),Mn=ze.extend({method:C("tools/call"),params:$E}),PE=dt.extend({method:C("notifications/tools/list_changed"),params:lt.optional()}),hA=P({autoRefresh:Oe().default(!0),debounceMs:re().int().nonnegative().default(300)}),Zo=Qe(["debug","info","notice","warning","error","critical","alert","emergency"]),RE=it.extend({level:Zo}),cl=ze.extend({method:C("logging/setLevel"),params:RE}),OE=lt.extend({level:Zo,logger:y().optional(),data:_e()}),CE=dt.extend({method:C("notifications/message"),params:OE}),IE=P({name:y().optional()}),zE=P({hints:G(IE).optional(),costPriority:re().min(0).max(1).optional(),speedPriority:re().min(0).max(1).optional(),intelligencePriority:re().min(0).max(1).optional()}),NE=P({mode:Qe(["auto","required","none"]).optional()}),AE=P({type:C("tool_result"),toolUseId:y().describe("The unique identifier for the corresponding tool call."),content:G(al).default([]),structuredContent:P({}).loose().optional(),isError:Oe().optional(),_meta:le(y(),_e()).optional()}),jE=Vu("type",[ol,sl,il]),ai=Vu("type",[ol,sl,il,yE,AE]),ME=P({role:Lo,content:pe([ai,G(ai)]),_meta:le(y(),_e()).optional()}),DE=Io.extend({messages:G(ME),modelPreferences:zE.optional(),systemPrompt:y().optional(),includeContext:Qe(["none","thisServer","allServers"]).optional(),temperature:re().optional(),maxTokens:re().int(),stopSequences:G(y()).optional(),metadata:Re.optional(),tools:G(Dh).optional(),toolChoice:NE.optional()}),LE=ze.extend({method:C("sampling/createMessage"),params:DE}),Uo=Ne.extend({model:y(),stopReason:ye(Qe(["endTurn","stopSequence","maxTokens"]).or(y())),role:Lo,content:jE}),ul=Ne.extend({model:y(),stopReason:ye(Qe(["endTurn","stopSequence","maxTokens","toolUse"]).or(y())),role:Lo,content:pe([ai,G(ai)])}),ZE=P({type:C("boolean"),title:y().optional(),description:y().optional(),default:Oe().optional()}),UE=P({type:C("string"),title:y().optional(),description:y().optional(),minLength:re().optional(),maxLength:re().optional(),format:Qe(["email","uri","date","date-time"]).optional(),default:y().optional()}),HE=P({type:Qe(["number","integer"]),title:y().optional(),description:y().optional(),minimum:re().optional(),maximum:re().optional(),default:re().optional()}),FE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),default:y().optional()}),qE=P({type:C("string"),title:y().optional(),description:y().optional(),oneOf:G(P({const:y(),title:y()})),default:y().optional()}),BE=P({type:C("string"),title:y().optional(),description:y().optional(),enum:G(y()),enumNames:G(y()).optional(),default:y().optional()}),VE=pe([FE,qE]),KE=P({type:C("array"),title:y().optional(),description:y().optional(),minItems:re().optional(),maxItems:re().optional(),items:P({type:C("string"),enum:G(y())}),default:G(y()).optional()}),JE=P({type:C("array"),title:y().optional(),description:y().optional(),minItems:re().optional(),maxItems:re().optional(),items:P({anyOf:G(P({const:y(),title:y()}))}),default:G(y()).optional()}),WE=pe([KE,JE]),GE=pe([BE,VE,WE]),YE=pe([GE,ZE,UE,HE]),XE=Io.extend({mode:C("form").optional(),message:y(),requestedSchema:P({type:C("object"),properties:le(y(),YE),required:G(y()).optional()})}),QE=Io.extend({mode:C("url"),message:y(),elicitationId:y(),url:y().url()}),eT=pe([XE,QE]),tT=ze.extend({method:C("elicitation/create"),params:eT}),rT=lt.extend({elicitationId:y()}),nT=dt.extend({method:C("notifications/elicitation/complete"),params:rT}),Dn=Ne.extend({action:Qe(["accept","decline","cancel"]),content:Ku(t=>t===null?void 0:t,le(y(),pe([y(),re(),Oe(),G(y())])).optional())}),oT=P({type:C("ref/resource"),uri:y()});var sT=P({type:C("ref/prompt"),name:y()}),iT=it.extend({ref:pe([sT,oT]),argument:P({name:y(),value:y()}),context:P({arguments:le(y(),y()).optional()}).optional()}),wi=ze.extend({method:C("completion/complete"),params:iT});function Lh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function Zh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var aT=Ne.extend({completion:qe({values:G(y()).max(100),total:ye(re().int()),hasMore:ye(Oe())})}),cT=P({uri:y().startsWith("file://"),name:y().optional(),_meta:le(y(),_e()).optional()}),uT=ze.extend({method:C("roots/list"),params:it.optional()}),ll=Ne.extend({roots:G(cT)}),lT=dt.extend({method:C("notifications/roots/list_changed"),params:lt.optional()}),gA=pe([pi,el,wi,cl,Si,jn,Nn,An,vi,uE,dE,Mn,ki,mi,gi,_i,xi]),_A=pe([di,fi,tl,lT,Do]),yA=pe([li,Uo,ul,Dn,ll,hi,yi,In]),xA=pe([pi,LE,tT,uT,mi,gi,_i,xi]),vA=pe([di,fi,CE,fE,aE,PE,bE,Do,nT]),SA=pe([li,Gw,aT,kE,gE,nE,oE,iE,bi,TE,hi,yi,In]),O=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===N.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Ju(o.elicitations,r)}return new t(e,r,n)}},Ju=class extends O{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function fr(t){return t==="completed"||t==="failed"||t==="cancelled"}var Hh=Symbol("Let zodToJsonSchema decide on which parser to use");var Uh={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},Fh=t=>typeof t=="string"?{...Uh,name:t}:{...Uh,...t};var qh=t=>{let e=Fh(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function dl(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function Y(t,e,r,n,o){t[e]=r,dl(t,e,n,o)}var Ei=(t,e)=>{let r=0;for(;rM(t.innerType._def,e);function pl(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>pl(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return dT(t,e)}}var dT=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":Y(r,"minimum",n.value,n.message,e);break;case"max":Y(r,"maximum",n.value,n.message,e);break}return r};function Wh(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function Gh(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):xe(e)}function Yh(t){return{type:"string",enum:Array.from(t.values)}}var pT=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Xh(t,e){let r=[M(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),M(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(pT(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function Qh(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var fl,vt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(fl===void 0&&(fl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),fl),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function $i(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":Y(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":Y(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":St(r,"email",n.message,e);break;case"format:idn-email":St(r,"idn-email",n.message,e);break;case"pattern:zod":Be(r,vt.email,n.message,e);break}break;case"url":St(r,"uri",n.message,e);break;case"uuid":St(r,"uuid",n.message,e);break;case"regex":Be(r,n.regex,n.message,e);break;case"cuid":Be(r,vt.cuid,n.message,e);break;case"cuid2":Be(r,vt.cuid2,n.message,e);break;case"startsWith":Be(r,RegExp(`^${ml(n.value,e)}`),n.message,e);break;case"endsWith":Be(r,RegExp(`${ml(n.value,e)}$`),n.message,e);break;case"datetime":St(r,"date-time",n.message,e);break;case"date":St(r,"date",n.message,e);break;case"time":St(r,"time",n.message,e);break;case"duration":St(r,"duration",n.message,e);break;case"length":Y(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),Y(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Be(r,RegExp(ml(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&St(r,"ipv4",n.message,e),n.version!=="v4"&&St(r,"ipv6",n.message,e);break}case"base64url":Be(r,vt.base64url,n.message,e);break;case"jwt":Be(r,vt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Be(r,vt.ipv4Cidr,n.message,e),n.version!=="v4"&&Be(r,vt.ipv6Cidr,n.message,e);break}case"emoji":Be(r,vt.emoji(),n.message,e);break;case"ulid":{Be(r,vt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{St(r,"binary",n.message,e);break}case"contentEncoding:base64":{Y(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Be(r,vt.base64,n.message,e);break}}break}case"nanoid":Be(r,vt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function ml(t,e){return e.patternStrategy==="escape"?mT(t):t}var fT=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function mT(t){let e="";for(let r=0;ro.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):Y(t,"format",e,r,n)}function Be(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:eg(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):Y(t,"pattern",eg(e,n),r,n)}function eg(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c({...n,[o]:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??xe(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===b.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=$i(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===b.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===b.ZodBranded&&t.keyType._def.type._def.typeName===b.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=Ti(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function rg(t,e){if(e.mapStrategy==="record")return Pi(t,e);let r=M(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||xe(e),n=M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||xe(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function ng(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function og(t){return t.target==="openAi"?void 0:{not:xe({...t,currentPath:[...t.currentPath,"not"]})}}function sg(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Ho={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ag(t,e){if(e.target==="openApi3")return ig(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Ho&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Ho[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return ig(t,e)}var ig=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>M(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function cg(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:Ho[t.innerType._def.typeName],nullable:!0}:{type:[Ho[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=M(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function ug(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",dl(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?Y(r,"minimum",n.value,n.message,e):Y(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Y(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?Y(r,"maximum",n.value,n.message,e):Y(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Y(r,"maximum",n.value,n.message,e));break;case"multipleOf":Y(r,"multipleOf",n.value,n.message,e);break}return r}function lg(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=gT(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=M(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=hT(t,e);return i!==void 0&&(n.additionalProperties=i),n}function hT(t,e){if(t.catchall._def.typeName!=="ZodNever")return M(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function gT(t){try{return t.isOptional()}catch{return!0}}var dg=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return M(t.innerType._def,e);let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:xe(e)},r]}:xe(e)};var pg=(t,e)=>{if(e.pipeStrategy==="input")return M(t.in._def,e);if(e.pipeStrategy==="output")return M(t.out._def,e);let r=M(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=M(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function fg(t,e){return M(t.type._def,e)}function mg(t,e){let n={type:"array",uniqueItems:!0,items:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Y(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Y(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function hg(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:M(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function gg(t){return{not:xe(t)}}function _g(t){return xe(t)}var yg=(t,e)=>M(t.innerType._def,e);var xg=(t,e,r)=>{switch(e){case b.ZodString:return $i(t,r);case b.ZodNumber:return ug(t,r);case b.ZodObject:return lg(t,r);case b.ZodBigInt:return Kh(t,r);case b.ZodBoolean:return Jh();case b.ZodDate:return pl(t,r);case b.ZodUndefined:return gg(r);case b.ZodNull:return sg(r);case b.ZodArray:return Vh(t,r);case b.ZodUnion:case b.ZodDiscriminatedUnion:return ag(t,r);case b.ZodIntersection:return Qh(t,r);case b.ZodTuple:return hg(t,r);case b.ZodRecord:return Pi(t,r);case b.ZodLiteral:return eg(t,r);case b.ZodEnum:return Xh(t);case b.ZodNativeEnum:return ng(t);case b.ZodNullable:return cg(t,r);case b.ZodOptional:return dg(t,r);case b.ZodMap:return rg(t,r);case b.ZodSet:return mg(t,r);case b.ZodLazy:return()=>t.getter()._def;case b.ZodPromise:return fg(t,r);case b.ZodNaN:case b.ZodNever:return og(r);case b.ZodEffects:return Yh(t,r);case b.ZodAny:return xe(r);case b.ZodUnknown:return _g(r);case b.ZodDefault:return Gh(t,r);case b.ZodBranded:return Ti(t,r);case b.ZodReadonly:return yg(t,r);case b.ZodCatch:return Wh(t,r);case b.ZodPipeline:return pg(t,r);case b.ZodFunction:case b.ZodVoid:case b.ZodSymbol:return;default:return(n=>{})(e)}};function M(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==qh)return a}if(n&&!r){let a=_T(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=xg(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&yT(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var _T=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Ei(e.currentPath,t.path)};case"none":case"seen":return t.path.lengthe.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),xe(e)):e.$refStrategy==="seen"?xe(e):void 0}},yT=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var hl=(t,e)=>{let r=Bh(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:M(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??xe(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=M(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??xe(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function xT(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function gl(t,e){return ut(t)?Du(t,{target:xT(e?.target),io:e?.pipeStrategy??"input"}):hl(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function _l(t){let r=dr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=oi(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function yl(t,e){let r=lr(t,e);if(!r.success)throw r.error;return r.data}var vT=6e4,Ri=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(di,r=>{this._oncancel(r)}),this.setNotificationHandler(fi,r=>{this._onprogress(r)}),this.setRequestHandler(pi,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(mi,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(gi,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,f=new O(d.error.code,d.error.message,d.error.data);l(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new O(N.InvalidParams,`Task not found: ${s}`);if(!fr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(fr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[pr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(_i,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new O(N.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(xi,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(fr(o.status))throw new O(N.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new O(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof O?o:new O(N.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),O.fromError(N.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),zo(s)||Ch(s)?this._onresponse(s):Yu(s)?this._onrequest(s,i):Oh(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=O.fromError(N.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[pr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:N.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=$h(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(i.signal.aborted)throw new O(N.ConnectionClosed,"Request was cancelled");let m={...f,relatedRequestId:e.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let p=m.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:N.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),zo(e))n(e);else{let i=new O(e.error.code,e.error.message,e.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(zo(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),zo(e))o(e);else{let i=O.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,In,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new O(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},fr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new O(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new O(N.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=x=>{l(x)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(x){d(x);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[pr]:c}});let p=x=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(x)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>this._onerror(new Error(`Failed to send cancellation: ${w}`)));let S=x instanceof O?x:new O(N.RequestTimeout,String(x));l(S)};this._responseHandlers.set(f,x=>{if(!n?.signal?.aborted){if(x instanceof Error)return l(x);try{let S=lr(r,x.result);S.success?u(S.data):l(S.error)}catch(S){l(S)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let h=n?.timeout??vT,g=()=>p(O.fromError(N.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let x=S=>{let w=this._responseHandlers.get(f);w?w(S):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,x),this._enqueueTaskMessage(_,{type:"request",message:m,timestamp:Date.now()}).catch(S=>{this._cleanupTimeout(f),l(S)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(x=>{this._cleanupTimeout(f),l(x)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},hi,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},yi,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Nh,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[pr]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[pr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[pr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=_l(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=yl(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=_l(e);this._notificationHandlers.set(n,o=>{let s=yl(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&Yu(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new O(N.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new O(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new O(N.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new O(N.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=Do.parse({method:"notifications/tasks/status",params:a});await this.notification(c),fr(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new O(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(fr(a.status))throw new O(N.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=Do.parse({method:"notifications/tasks/status",params:c});await this.notification(u),fr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function vg(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Sg(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];vg(i)&&vg(s)?r[o]={...i,...s}:r[o]=s}return r}var ax=Tf(np(),1),cx=Tf(ix(),1);function dC(){let t=new ax.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,cx.default)(t),t}var da=class{constructor(e){this._ajv=e??dC()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var pa=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(f=>f.type==="tool_use").map(f=>f.id)),d=new Set(s.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(l.size!==d.size||![...l].every(f=>d.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},Uo,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},Dn,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function ux(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function lx(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var fa=class extends Ri{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Zo.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)this._oninitialize(n)),this.setNotificationHandler(tl,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(cl,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Zo.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new pa(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Sg(this._capabilities,e)}setRequestHandler(e,r){let o=dr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(ut(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let l=lr(Mn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new O(N.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=lr(In,f);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new O(N.InvalidParams,`Invalid task creation result: ${h}`)}return p.data}let m=lr(bi,f);if(!m.success){let p=m.error instanceof Error?m.error.message:String(m.error);throw new O(N.InvalidParams,`Invalid tools/call result: ${p}`)}return m.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){lx(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&ux(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:wh.includes(r)?r:Wu,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},li)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},ul,r):this.request({method:"sampling/createMessage",params:e},Uo,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},Dn,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},Dn,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new O(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof O?i:new O(N.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},ll,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var px=Symbol.for("mcp.completable");function dp(t){return!!t&&typeof t=="object"&&px in t}function fx(t){return t[px]?.complete}var dx;(function(t){t.Completable="McpCompletable"})(dx||(dx={}));var pC=/^[A-Za-z0-9._-]{1,128}$/;function fC(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!pC.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function mC(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function pp(t){let e=fC(t);return mC(t,e.warnings),e.isValid}var ma=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var ha=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new fa(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ma(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(ki)),this.server.assertCanSetRequestHandler(kr(Mn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ki,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=On(r.inputSchema);return o?gl(o,{strictUnions:!0,pipeStrategy:"input"}):hC})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=On(r.outputSchema);o&&(n.outputSchema=gl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Mn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new O(N.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new O(N.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new O(N.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof O&&n.code===N.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=On(e.inputSchema)??e.inputSchema,i=await ri(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ni(a);throw new O(N.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new O(N.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=On(e.outputSchema),s=await ri(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ni(i);throw new O(N.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(f=>setTimeout(f,l));let d=await n.taskStore.getTask(c);if(!d)throw new O(N.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(kr(wi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(wi,async e=>{switch(e.params.ref.type){case"ref/prompt":return Zh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return Uh(e),this.handleResourceCompletion(e,e.params.ref);default:throw new O(N.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new O(N.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return ys;let s=dr(n.argsSchema)?.[e.params.argument.name];if(!dp(s))return ys;let i=fx(s);if(!i)return ys;let a=await i(e.params.argument.value,e.params.context);return hx(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return ys;throw new O(N.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return ys;let s=await o(e.params.argument.value,e.params.context);return hx(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(Nn)),this.server.assertCanSetRequestHandler(kr(An)),this.server.assertCanSetRequestHandler(kr(vi)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Nn,async(e,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(An,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(vi,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new O(N.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new O(N.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(jn)),this.server.assertCanSetRequestHandler(kr(Si)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(jn,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?gC(r.argsSchema):void 0}))})),this.server.setRequestHandler(Si,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new O(N.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=On(n.argsSchema),s=await ri(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ni(c);throw new O(N.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Qr(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==e&&(delete this._registeredPrompts[e],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=Qr(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof Ye?c._def?.innerType:c;return dp(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){pp(e);let l={title:r,description:n,inputSchema:mx(o),outputSchema:mx(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&pp(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Qr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Qr(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(fp(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!fp(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var hC={type:"object",properties:{}};function gx(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function _x(t){return"_def"in t||"_zod"in t||gx(t)}function fp(t){return typeof t!="object"||t===null||_x(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(gx)}function mx(t){if(t){if(fp(t))return Qr(t);if(!_x(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function gC(t){let e=dr(t);return e?Object.entries(e).map(([r,n])=>{let o=eh(n),s=th(n);return{name:r,description:o,required:!s}}):[]}function kr(t){let r=dr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=oi(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function hx(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var ys={completion:{values:[],hasMore:!1}};import xx from"node:process";var ga=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` -`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),_C(r)}clear(){this._buffer=void 0}};function _C(t){return Ih.parse(JSON.parse(t))}function yx(t){return JSON.stringify(t)+` -`}var _a=class{constructor(e=xx.stdin,r=xx.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new ga,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=yx(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as pS}from"node:module";import{createHash as VI}from"node:crypto";import{existsSync as Je,unlinkSync as Tr,readdirSync as KI,readFileSync as fS,writeFileSync as mS,rmSync as gf,mkdirSync as yf,cpSync as JI,statSync as aS}from"node:fs";import{execSync as Er}from"node:child_process";import{join as he,dirname as $r,resolve as nr}from"node:path";import{fileURLToPath as WI}from"node:url";import{homedir as xf,tmpdir as vf}from"node:os";import{request as GI}from"node:https";import{spawn as vC,execSync as SC,execFileSync as Px}from"node:child_process";import{mkdtempSync as kC,writeFileSync as Ex,rmSync as Tx,existsSync as $x}from"node:fs";import{join as va,resolve as Rx}from"node:path";import{tmpdir as bC}from"node:os";import{execSync as mp}from"node:child_process";import{existsSync as vx}from"node:fs";var hp=process.platform==="win32";function Me(t){try{let e=hp?`where ${t}`:`command -v ${t}`;return mp(e,{stdio:"pipe"}),!0}catch{return!1}}function Sx(){if(Me("bun"))return!0;if(!hp){let t=process.env.HOME??process.env.USERPROFILE??"";if(t&&vx(`${t}/.bun/bin/bun`))return!0}return!1}function yC(){return Me("bun")?"bun":`${process.env.HOME??process.env.USERPROFILE??""}/.bun/bin/bun`}function xC(){let t=["C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\usr\\bin\\bash.exe"];for(let e of t)if(vx(e))return e;try{let r=mp("where bash",{encoding:"utf-8",stdio:"pipe"}).trim().split(/\r?\n/).map(n=>n.trim()).filter(Boolean);for(let n of r){let o=n.toLowerCase();if(!(o.includes("system32")||o.includes("windowsapps")))return n}return null}catch{return null}}function $t(t){try{return mp(`${t} --version`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function ya(){let e=Sx()?yC():null;return{javascript:e??process.execPath,typescript:e||(Me("tsx")?"tsx":Me("ts-node")?"ts-node":null),python:Me("python3")?"python3":Me("python")?"python":null,shell:hp?xC()??(Me("sh")?"sh":Me("powershell")?"powershell":"cmd.exe"):Me("bash")?"bash":"sh",ruby:Me("ruby")?"ruby":null,go:Me("go")?"go":null,rust:Me("rustc")?"rustc":null,php:Me("php")?"php":null,perl:Me("perl")?"perl":null,r:Me("Rscript")?"Rscript":Me("r")?"r":null,elixir:Me("elixir")?"elixir":null}}function xa(){return Sx()}function kx(t){let e=[],r=t.javascript?.endsWith("bun")??!1;return e.push(` JavaScript: ${t.javascript} (${$t(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${$t(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${$t(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${$t(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${$t(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${$t(t.go)})`),t.rust&&e.push(` Rust: ${t.rust} (${$t(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${$t(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${$t(t.perl)})`),t.r&&e.push(` R: ${t.r} (${$t(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${$t(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(` -`)}function bx(t){let e=["javascript","shell"];return t.typescript&&e.push("typescript"),t.python&&e.push("python"),t.ruby&&e.push("ruby"),t.go&&e.push("go"),t.rust&&e.push("rust"),t.php&&e.push("php"),t.perl&&e.push("perl"),t.r&&e.push("r"),t.elixir&&e.push("elixir"),e}function wx(t,e,r){switch(e){case"javascript":return t.javascript.endsWith("bun")?[t.javascript,"run",r]:[t.javascript,r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript?.endsWith("bun")?[t.typescript,"run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}var gt=process.platform==="win32",wC=(()=>{if(gt)return process.env.TEMP??process.env.TMP??bC();try{let t=Px(process.platform==="darwin"?"getconf":"mktemp",process.platform==="darwin"?["DARWIN_USER_TEMP_DIR"]:["-u","-d"],{env:{...process.env,TMPDIR:void 0},encoding:"utf-8"}).trim(),e=process.platform==="darwin"?t:Rx(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();function gp(t){if(gt&&t.pid)try{SC(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var xs=class{#e;#t;#n;#o=new Set;constructor(e){this.#e=e?.hardCapBytes??100*1024*1024,this.#t=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??ya()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(gt?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=kC(va(wC,".ctx-mode-"));try{let a=this.#i(i,n,r),c=wx(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#t:i,l=await this.#s(c,u,i,o,s);if(!l.backgrounded)try{Tx(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{Tx(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=Rx(this.#t,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main +]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function Pi(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===b.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??xe(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===b.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=$i(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===b.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===b.ZodBranded&&t.keyType._def.type._def.typeName===b.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=Ti(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function tg(t,e){if(e.mapStrategy==="record")return Pi(t,e);let r=M(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||xe(e),n=M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||xe(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function rg(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 ng(t){return t.target==="openAi"?void 0:{not:xe({...t,currentPath:[...t.currentPath,"not"]})}}function og(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Ho={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ig(t,e){if(e.target==="openApi3")return sg(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Ho&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Ho[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return sg(t,e)}var sg=(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 ag(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:Ho[t.innerType._def.typeName],nullable:!0}:{type:[Ho[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=M(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function cg(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",dl(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?Y(r,"minimum",n.value,n.message,e):Y(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Y(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?Y(r,"maximum",n.value,n.message,e):Y(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Y(r,"maximum",n.value,n.message,e));break;case"multipleOf":Y(r,"multipleOf",n.value,n.message,e);break}return r}function ug(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=gT(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=M(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=hT(t,e);return i!==void 0&&(n.additionalProperties=i),n}function hT(t,e){if(t.catchall._def.typeName!=="ZodNever")return M(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function gT(t){try{return t.isOptional()}catch{return!0}}var lg=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return M(t.innerType._def,e);let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:xe(e)},r]}:xe(e)};var dg=(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 pg(t,e){return M(t.type._def,e)}function fg(t,e){let n={type:"array",uniqueItems:!0,items:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Y(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Y(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function mg(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 hg(t){return{not:xe(t)}}function gg(t){return xe(t)}var _g=(t,e)=>M(t.innerType._def,e);var yg=(t,e,r)=>{switch(e){case b.ZodString:return $i(t,r);case b.ZodNumber:return cg(t,r);case b.ZodObject:return ug(t,r);case b.ZodBigInt:return Vh(t,r);case b.ZodBoolean:return Kh();case b.ZodDate:return pl(t,r);case b.ZodUndefined:return hg(r);case b.ZodNull:return og(r);case b.ZodArray:return Bh(t,r);case b.ZodUnion:case b.ZodDiscriminatedUnion:return ig(t,r);case b.ZodIntersection:return Xh(t,r);case b.ZodTuple:return mg(t,r);case b.ZodRecord:return Pi(t,r);case b.ZodLiteral:return Qh(t,r);case b.ZodEnum:return Yh(t);case b.ZodNativeEnum:return rg(t);case b.ZodNullable:return ag(t,r);case b.ZodOptional:return lg(t,r);case b.ZodMap:return tg(t,r);case b.ZodSet:return fg(t,r);case b.ZodLazy:return()=>t.getter()._def;case b.ZodPromise:return pg(t,r);case b.ZodNaN:case b.ZodNever:return ng(r);case b.ZodEffects:return Gh(t,r);case b.ZodAny:return xe(r);case b.ZodUnknown:return gg(r);case b.ZodDefault:return Wh(t,r);case b.ZodBranded:return Ti(t,r);case b.ZodReadonly:return _g(t,r);case b.ZodCatch:return Jh(t,r);case b.ZodPipeline:return dg(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!==Hh)return a}if(n&&!r){let a=_T(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=yg(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&yT(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var _T=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Ei(e.currentPath,t.path)};case"none":case"seen":return t.path.lengthe.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),xe(e)):e.$refStrategy==="seen"?xe(e):void 0}},yT=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var hl=(t,e)=>{let r=qh(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:M(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??xe(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=M(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??xe(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function xT(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function gl(t,e){return ut(t)?Du(t,{target:xT(e?.target),io:e?.pipeStrategy??"input"}):hl(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function _l(t){let r=dr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=oi(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function yl(t,e){let r=lr(t,e);if(!r.success)throw r.error;return r.data}var vT=6e4,Ri=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(di,r=>{this._oncancel(r)}),this.setNotificationHandler(fi,r=>{this._onprogress(r)}),this.setRequestHandler(pi,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(mi,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(gi,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,f=new O(d.error.code,d.error.message,d.error.data);l(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new O(N.InvalidParams,`Task not found: ${s}`);if(!fr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(fr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[pr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(_i,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new O(N.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(xi,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(fr(o.status))throw new O(N.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new O(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof O?o:new O(N.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),O.fromError(N.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),zo(s)||Oh(s)?this._onresponse(s):Yu(s)?this._onrequest(s,i):Rh(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=O.fromError(N.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[pr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:N.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=Th(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(i.signal.aborted)throw new O(N.ConnectionClosed,"Request was cancelled");let m={...f,relatedRequestId:e.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let p=m.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:N.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),zo(e))n(e);else{let i=new O(e.error.code,e.error.message,e.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(zo(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),zo(e))o(e);else{let i=O.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,In,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new O(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},fr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new O(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new O(N.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=x=>{l(x)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(x){d(x);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[pr]:c}});let p=x=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(x)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>this._onerror(new Error(`Failed to send cancellation: ${w}`)));let S=x instanceof O?x:new O(N.RequestTimeout,String(x));l(S)};this._responseHandlers.set(f,x=>{if(!n?.signal?.aborted){if(x instanceof Error)return l(x);try{let S=lr(r,x.result);S.success?u(S.data):l(S.error)}catch(S){l(S)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let h=n?.timeout??vT,g=()=>p(O.fromError(N.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let x=S=>{let w=this._responseHandlers.get(f);w?w(S):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,x),this._enqueueTaskMessage(_,{type:"request",message:m,timestamp:Date.now()}).catch(S=>{this._cleanupTimeout(f),l(S)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(x=>{this._cleanupTimeout(f),l(x)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},hi,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},yi,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},zh,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[pr]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[pr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[pr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=_l(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=yl(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=_l(e);this._notificationHandlers.set(n,o=>{let s=yl(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&Yu(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new O(N.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new O(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new O(N.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new O(N.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=Do.parse({method:"notifications/tasks/status",params:a});await this.notification(c),fr(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new O(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(fr(a.status))throw new O(N.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=Do.parse({method:"notifications/tasks/status",params:c});await this.notification(u),fr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function xg(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function vg(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];xg(i)&&xg(s)?r[o]={...i,...s}:r[o]=s}return r}var ix=Ef(np(),1),ax=Ef(sx(),1);function dC(){let t=new ix.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,ax.default)(t),t}var da=class{constructor(e){this._ajv=e??dC()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var pa=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(f=>f.type==="tool_use").map(f=>f.id)),d=new Set(s.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(l.size!==d.size||![...l].every(f=>d.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},Uo,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},Dn,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function cx(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 ux(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var fa=class extends Ri{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Zo.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)this._oninitialize(n)),this.setNotificationHandler(tl,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(cl,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Zo.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new pa(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=vg(this._capabilities,e)}setRequestHandler(e,r){let o=dr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(ut(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let l=lr(Mn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new O(N.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=lr(In,f);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new O(N.InvalidParams,`Invalid task creation result: ${h}`)}return p.data}let m=lr(bi,f);if(!m.success){let p=m.error instanceof Error?m.error.message:String(m.error);throw new O(N.InvalidParams,`Invalid tools/call result: ${p}`)}return m.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){ux(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&cx(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:bh.includes(r)?r:Wu,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},li)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},ul,r):this.request({method:"sampling/createMessage",params:e},Uo,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},Dn,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},Dn,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new O(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof O?i:new O(N.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},ll,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var dx=Symbol.for("mcp.completable");function dp(t){return!!t&&typeof t=="object"&&dx in t}function px(t){return t[dx]?.complete}var lx;(function(t){t.Completable="McpCompletable"})(lx||(lx={}));var pC=/^[A-Za-z0-9._-]{1,128}$/;function fC(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!pC.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function mC(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function pp(t){let e=fC(t);return mC(t,e.warnings),e.isValid}var ma=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var ha=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new fa(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ma(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(ki)),this.server.assertCanSetRequestHandler(kr(Mn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ki,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=On(r.inputSchema);return o?gl(o,{strictUnions:!0,pipeStrategy:"input"}):hC})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=On(r.outputSchema);o&&(n.outputSchema=gl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Mn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new O(N.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new O(N.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new O(N.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof O&&n.code===N.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=On(e.inputSchema)??e.inputSchema,i=await ri(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ni(a);throw new O(N.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new O(N.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=On(e.outputSchema),s=await ri(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ni(i);throw new O(N.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(f=>setTimeout(f,l));let d=await n.taskStore.getTask(c);if(!d)throw new O(N.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(kr(wi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(wi,async e=>{switch(e.params.ref.type){case"ref/prompt":return Lh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return Zh(e),this.handleResourceCompletion(e,e.params.ref);default:throw new O(N.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new O(N.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return ys;let s=dr(n.argsSchema)?.[e.params.argument.name];if(!dp(s))return ys;let i=px(s);if(!i)return ys;let a=await i(e.params.argument.value,e.params.context);return mx(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return ys;throw new O(N.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return ys;let s=await o(e.params.argument.value,e.params.context);return mx(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(Nn)),this.server.assertCanSetRequestHandler(kr(An)),this.server.assertCanSetRequestHandler(kr(vi)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Nn,async(e,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(An,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(vi,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new O(N.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new O(N.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(kr(jn)),this.server.assertCanSetRequestHandler(kr(Si)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(jn,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?gC(r.argsSchema):void 0}))})),this.server.setRequestHandler(Si,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new O(N.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=On(n.argsSchema),s=await ri(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ni(c);throw new O(N.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Qr(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==e&&(delete this._registeredPrompts[e],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=Qr(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof Ye?c._def?.innerType:c;return dp(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){pp(e);let l={title:r,description:n,inputSchema:fx(o),outputSchema:fx(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&pp(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Qr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Qr(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(fp(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!fp(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var hC={type:"object",properties:{}};function hx(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function gx(t){return"_def"in t||"_zod"in t||hx(t)}function fp(t){return typeof t!="object"||t===null||gx(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(hx)}function fx(t){if(t){if(fp(t))return Qr(t);if(!gx(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function gC(t){let e=dr(t);return e?Object.entries(e).map(([r,n])=>{let o=Qm(n),s=eh(n);return{name:r,description:o,required:!s}}):[]}function kr(t){let r=dr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=oi(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function mx(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var ys={completion:{values:[],hasMore:!1}};import yx from"node:process";var ga=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` +`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),_C(r)}clear(){this._buffer=void 0}};function _C(t){return Ch.parse(JSON.parse(t))}function _x(t){return JSON.stringify(t)+` +`}var _a=class{constructor(e=yx.stdin,r=yx.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new ga,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=_x(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as pS}from"node:module";import{createHash as KI}from"node:crypto";import{existsSync as Je,unlinkSync as Tr,readdirSync as JI,readFileSync as fS,writeFileSync as mS,rmSync as hf,mkdirSync as _f,cpSync as WI,statSync as aS}from"node:fs";import{execSync as Er}from"node:child_process";import{join as he,dirname as $r,resolve as nr}from"node:path";import{fileURLToPath as GI}from"node:url";import{homedir as yf,tmpdir as xf}from"node:os";import{request as YI}from"node:https";import{spawn as SC,execSync as kC,execFileSync as Px}from"node:child_process";import{mkdtempSync as bC,writeFileSync as Ex,rmSync as Tx,existsSync as $x}from"node:fs";import{join as va,resolve as Rx}from"node:path";import{tmpdir as wC}from"node:os";import{execFileSync as yC,execSync as xx}from"node:child_process";import{existsSync as vx}from"node:fs";var mp=process.platform==="win32";function Me(t){try{let e=mp?`where ${t}`:`command -v ${t}`;return xx(e,{stdio:"pipe"}),!0}catch{return!1}}function Sx(){if(Me("bun"))return!0;if(!mp){let t=process.env.HOME??process.env.USERPROFILE??"";if(t&&vx(`${t}/.bun/bin/bun`))return!0}return!1}function xC(){return Me("bun")?"bun":`${process.env.HOME??process.env.USERPROFILE??""}/.bun/bin/bun`}function vC(){let t=["C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\usr\\bin\\bash.exe"];for(let e of t)if(vx(e))return e;try{let r=xx("where bash",{encoding:"utf-8",stdio:"pipe"}).trim().split(/\r?\n/).map(n=>n.trim()).filter(Boolean);for(let n of r){let o=n.toLowerCase();if(!(o.includes("system32")||o.includes("windowsapps")))return n}return null}catch{return null}}function $t(t,e=["--version"]){try{return yC(t,e,{encoding:"utf-8",shell:process.platform==="win32",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function ya(){let e=Sx()?xC():null;return{javascript:e??process.execPath,typescript:e||(Me("tsx")?"tsx":Me("ts-node")?"ts-node":null),python:Me("python3")?"python3":Me("python")?"python":null,shell:mp?vC()??(Me("sh")?"sh":Me("powershell")?"powershell":"cmd.exe"):Me("bash")?"bash":"sh",ruby:Me("ruby")?"ruby":null,go:Me("go")?"go":null,rust:Me("rustc")?"rustc":null,php:Me("php")?"php":null,perl:Me("perl")?"perl":null,r:Me("Rscript")?"Rscript":Me("r")?"r":null,elixir:Me("elixir")?"elixir":null}}function xa(){return Sx()}function kx(t){let e=[],r=t.javascript?.endsWith("bun")??!1;return e.push(` JavaScript: ${t.javascript} (${$t(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${$t(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${$t(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${$t(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${$t(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${$t(t.go,["version"])})`),t.rust&&e.push(` Rust: ${t.rust} (${$t(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${$t(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${$t(t.perl)})`),t.r&&e.push(` R: ${t.r} (${$t(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${$t(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(` +`)}function bx(t){let e=["javascript","shell"];return t.typescript&&e.push("typescript"),t.python&&e.push("python"),t.ruby&&e.push("ruby"),t.go&&e.push("go"),t.rust&&e.push("rust"),t.php&&e.push("php"),t.perl&&e.push("perl"),t.r&&e.push("r"),t.elixir&&e.push("elixir"),e}function wx(t,e,r){switch(e){case"javascript":return t.javascript.endsWith("bun")?[t.javascript,"run",r]:[t.javascript,r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript?.endsWith("bun")?[t.typescript,"run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}var gt=process.platform==="win32",EC=(()=>{if(gt)return process.env.TEMP??process.env.TMP??wC();try{let t=Px(process.platform==="darwin"?"getconf":"mktemp",process.platform==="darwin"?["DARWIN_USER_TEMP_DIR"]:["-u","-d"],{env:{...process.env,TMPDIR:void 0},encoding:"utf-8"}).trim(),e=process.platform==="darwin"?t:Rx(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();function hp(t){if(gt&&t.pid)try{kC(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var xs=class{#e;#t;#n;#o=new Set;constructor(e){this.#e=e?.hardCapBytes??100*1024*1024,this.#t=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??ya()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(gt?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=bC(va(EC,".ctx-mode-"));try{let a=this.#i(i,n,r),c=wx(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#t:i,l=await this.#s(c,u,i,o,s);if(!l.backgrounded)try{Tx(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{Tx(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=Rx(this.#t,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main import "fmt" @@ -69,7 +69,7 @@ ${r}`),n==="elixir"&&$x(va(this.#t,"mix.exs"))&&(r=`Path.wildcard(Path.join(${JS |> Enum.each(&Code.prepend_path/1) ${r}`);let s=va(e,`script.${o[n]}`);return n==="shell"?Ex(s,r,{encoding:"utf-8",mode:448}):Ex(s,r,"utf-8"),s}async#a(e,r,n){let o=gt?".exe":"",s=e.replace(/\.rs$/,"")+o;try{Px("rustc",[e,"-o",s],{cwd:r,timeout:Math.min(n,6e4),encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(i){return{stdout:"",stderr:`Compilation failed: -${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,r,n)}async#s(e,r,n,o,s=!1){return new Promise(i=>{let a=gt&&["tsx","ts-node","elixir"].includes(e[0]),c=e[0],u;gt&&e.length===2&&e[1]?u=[e[1].replace(/\\/g,"/")]:u=gt?e.slice(1).map(x=>x.replace(/\\/g,"/")):e.slice(1);let l=vC(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(n),shell:a,detached:!gt}),d=!1,f=!1,m=setTimeout(()=>{if(d=!0,s){f=!0,l.pid&&this.#o.add(l.pid),l.unref(),l.stdout.destroy(),l.stderr.destroy();let x=Buffer.concat(p).toString("utf-8"),S=Buffer.concat(h).toString("utf-8");i({stdout:x,stderr:S,exitCode:0,timedOut:!0,backgrounded:!0})}else gp(l)},o),p=[],h=[],g=0,_=!1;l.stdout.on("data",x=>{g+=x.length,g<=this.#e?p.push(x):_||(_=!0,gp(l))}),l.stderr.on("data",x=>{g+=x.length,g<=this.#e?h.push(x):_||(_=!0,gp(l))}),l.on("close",x=>{if(clearTimeout(m),f)return;let S=Buffer.concat(p).toString("utf-8"),w=Buffer.concat(h).toString("utf-8");_&&(w+=` +${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,r,n)}async#s(e,r,n,o,s=!1){return new Promise(i=>{let a=gt&&["tsx","ts-node","elixir"].includes(e[0]),c=e[0],u;gt&&e.length===2&&e[1]?u=[e[1].replace(/\\/g,"/")]:u=gt?e.slice(1).map(x=>x.replace(/\\/g,"/")):e.slice(1);let l=SC(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(n),shell:a,detached:!gt}),d=!1,f=!1,m=setTimeout(()=>{if(d=!0,s){f=!0,l.pid&&this.#o.add(l.pid),l.unref(),l.stdout.destroy(),l.stderr.destroy();let x=Buffer.concat(p).toString("utf-8"),S=Buffer.concat(h).toString("utf-8");i({stdout:x,stderr:S,exitCode:0,timedOut:!0,backgrounded:!0})}else hp(l)},o),p=[],h=[],g=0,_=!1;l.stdout.on("data",x=>{g+=x.length,g<=this.#e?p.push(x):_||(_=!0,hp(l))}),l.stderr.on("data",x=>{g+=x.length,g<=this.#e?h.push(x):_||(_=!0,hp(l))}),l.on("close",x=>{if(clearTimeout(m),f)return;let S=Buffer.concat(p).toString("utf-8"),w=Buffer.concat(h).toString("utf-8");_&&(w+=` [output capped at ${(this.#e/1024/1024).toFixed(0)}MB \u2014 process killed]`),i({stdout:S,stderr:w,exitCode:d?1:x??1,timedOut:d})}),l.on("error",x=>{clearTimeout(m),!f&&i({stdout:"",stderr:x.message,exitCode:1,timedOut:!1})})})}#c(e){let r=process.env.HOME??process.env.USERPROFILE??e,n=new Set(["BASH_ENV","ENV","PROMPT_COMMAND","PS4","SHELLOPTS","BASHOPTS","CDPATH","INPUTRC","BASH_XTRACEFD","NODE_OPTIONS","NODE_PATH","PYTHONSTARTUP","PYTHONHOME","PYTHONWARNINGS","PYTHONBREAKPOINT","PYTHONINSPECT","RUBYOPT","RUBYLIB","PERL5OPT","PERL5LIB","PERLLIB","PERL5DB","ERL_AFLAGS","ERL_FLAGS","ELIXIR_ERL_OPTIONS","ERL_LIBS","GOFLAGS","CGO_CFLAGS","CGO_LDFLAGS","RUSTC","RUSTC_WRAPPER","RUSTC_WORKSPACE_WRAPPER","CARGO_BUILD_RUSTC","CARGO_BUILD_RUSTC_WRAPPER","RUSTFLAGS","PHPRC","PHP_INI_SCAN_DIR","R_PROFILE","R_PROFILE_USER","R_HOME","LD_PRELOAD","DYLD_INSERT_LIBRARIES","OPENSSL_CONF","OPENSSL_ENGINES","CC","CXX","AR","GIT_TEMPLATE_DIR","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_EXEC_PATH","GIT_SSH","GIT_SSH_COMMAND","GIT_ASKPASS"]),o={};for(let[s,i]of Object.entries(process.env))i!==void 0&&!n.has(s)&&!s.startsWith("BASH_FUNC_")&&(o[s]=i);if(o.TMPDIR=e,o.HOME=r,o.LANG="en_US.UTF-8",o.PYTHONDONTWRITEBYTECODE="1",o.PYTHONUNBUFFERED="1",o.PYTHONUTF8="1",o.NO_COLOR="1",gt&&!o.PATH&&o.Path&&(o.PATH=o.Path,delete o.Path),o.PATH||(o.PATH=gt?"":"/usr/local/bin:/usr/bin:/bin"),gt){o.MSYS_NO_PATHCONV="1",o.MSYS2_ARG_CONV_EXCL="*";let s="C:\\Program Files\\Git\\usr\\bin",i="C:\\Program Files\\Git\\bin";o.PATH.includes(s)||(o.PATH=`${s};${i};${o.PATH}`)}if(!o.SSL_CERT_FILE){let s=gt?[]:["/etc/ssl/cert.pem","/etc/ssl/certs/ca-certificates.crt","/etc/pki/tls/certs/ca-bundle.crt","/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"];for(let i of s)if($x(i)){o.SSL_CERT_FILE=i;break}}return o}#u(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o}; const file_path = FILE_CONTENT_PATH; const FILE_CONTENT = require("fs").readFileSync(FILE_CONTENT_PATH, "utf-8"); @@ -125,7 +125,7 @@ FILE_CONTENT <- paste(FILE_CONTENT, collapse="\\n") ${n}`;case"elixir":return`file_content_path = ${o} file_path = file_content_path file_content = File.read!(file_content_path) -${n}`}}};import{createRequire as EC}from"node:module";import{existsSync as TC,unlinkSync as Ox,renameSync as $L}from"node:fs";var _p=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){let r="",n=null;for(let s=0;sr.run(...n),get:(...n)=>{let o=r.get(...n);return o===null?void 0:o},all:(...n)=>r.all(...n),iterate:(...n)=>r.iterate(...n)}}transaction(e){return this.#e.transaction(e)}close(){this.#e.close()}},yp=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){return this.#e.exec(e),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.run(...n),get:(...n)=>r.get(...n),all:(...n)=>r.all(...n),iterate:(...n)=>typeof r.iterate=="function"?r.iterate(...n):r.all(...n)[Symbol.iterator]()}}transaction(e){return(...r)=>{this.#e.exec("BEGIN");try{let n=e(...r);return this.#e.exec("COMMIT"),n}catch(n){throw this.#e.exec("ROLLBACK"),n}}}close(){this.#e.close()}},ro=null;function Ss(){if(!ro){let t=EC(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;ro=function(n,o){let s=new e(n,{readonly:o?.readonly,create:!0}),i=new _p(s);return o?.timeout&&i.pragma(`busy_timeout = ${o.timeout}`),i}}else if(process.platform==="linux")try{let{DatabaseSync:e}=t(["node","sqlite"].join(":"));ro=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new yp(s)}}catch{ro=t("better-sqlite3")}else ro=t("better-sqlite3")}return ro}function xp(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function vp(t){if(!TC(t))for(let e of["-wal","-shm"])try{Ox(t+e)}catch{}}function Cx(t){for(let e of["","-wal","-shm"])try{Ox(t+e)}catch{}}function Sp(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function no(t,e=[100,500,2e3]){let r;for(let n=0;n<=e.length;n++)try{return t()}catch(o){let s=o instanceof Error?o.message:String(o);if(!s.includes("SQLITE_BUSY")&&!s.includes("database is locked"))throw o;if(r=o instanceof Error?o:new Error(s),n{let t=globalThis;return t[vs]||(t[vs]=new Set,process.on("exit",()=>{for(let e of t[vs])Sp(e);t[vs].clear()})),t[vs]})();import{readFileSync as $C,readdirSync as Ax,unlinkSync as bp,existsSync as zx,statSync as kp}from"node:fs";import{tmpdir as jx}from"node:os";import{join as wp}from"node:path";var oo=new Set(["the","and","for","are","but","not","you","all","can","had","her","was","one","our","out","has","his","how","its","may","new","now","old","see","way","who","did","get","got","let","say","she","too","use","will","with","this","that","from","they","been","have","many","some","them","than","each","make","like","just","over","such","take","into","year","your","good","could","would","about","which","their","there","other","after","should","through","also","more","most","only","very","when","what","then","these","those","being","does","done","both","same","still","while","where","here","were","much","update","updates","updated","deps","dev","tests","test","add","added","fix","fixed","run","running","using"]);function Mx(t){let e=new Set,r=[];for(let n of t){let o=n.toLowerCase();e.has(o)||(e.add(o),r.push(n))}return r}function PC(t,e="AND"){let r=Mx(t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(s=>s.length>0&&!["AND","OR","NOT","NEAR"].includes(s.toUpperCase())));if(r.length===0)return'""';let n=r.filter(s=>!oo.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function RC(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=Mx(r.split(/\s+/).filter(i=>i.length>=3));if(n.length===0)return"";let o=n.filter(i=>!oo.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function OC(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=Array.from({length:e.length+1},(n,o)=>o);for(let n=1;n<=t.length;n++){let o=[n];for(let s=1;s<=e.length;s++)o[s]=t[n-1]===e[s-1]?r[s-1]:1+Math.min(r[s],o[s-1],r[s-1]);r=o}return r[e.length]}function CC(t){return t<=4?1:t<=12?2:3}var Nx=4096;function Ep(){let t=jx(),e=0;try{let r=Ax(t);for(let n of r){let o=n.match(/^context-mode-(\d+)\.db$/);if(!o)continue;let s=parseInt(o[1],10);if(s!==process.pid)try{process.kill(s,0)}catch{let i=wp(t,n);for(let a of["","-wal","-shm"])try{bp(i+a)}catch{}e++}}}catch{}return e}function Tp(t,e){let r=0;try{if(!zx(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=Ax(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=wp(t,s),c=kp(i).mtimeMs0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{bp(i+u)}catch{}r++}}catch{}}catch{}return r}function IC(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function zC(t){if(t.length===0)return 1/0;if(t.length===1)return 0;let e=t.map(o=>[...o].sort((s,i)=>s-i)),r=new Array(e.length).fill(0),n=1/0;for(;;){let o=1/0,s=-1/0,i=0;for(let c=0;cs&&(s=u)}let a=s-o;if(a=e[i].length)break}return n}var Sa=class t{#e;#t;#n;#o;#i;#a;#s;#c;#u;#p;#f;#m;#h;#g;#_;#y;#x;#v;#S;#k;#b;#w;#E;#T;#$;#P;#R;#O;#C;#I;#z;#N;#A=0;static OPTIMIZE_EVERY=50;#r=new Map;static FUZZY_CACHE_SIZE=256;constructor(e){let r=Ss();this.#t=e??wp(jx(),`context-mode-${process.pid}.db`),vp(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),xp(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(Ix(s)){Cx(this.#t),vp(this.#t);try{n=new r(this.#t,{timeout:3e4}),xp(n)}catch(i){throw new Error(`Failed to create fresh DB after deleting corrupt file: ${i instanceof Error?i.message:String(i)}`)}}else throw o}this.#e=n,this.#U(),this.#H()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{bp(this.#t+e)}catch{}}#U(){this.#e.exec(` +${n}`}}};import{createRequire as TC}from"node:module";import{existsSync as $C,unlinkSync as Ox,renameSync as PL}from"node:fs";var gp=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){let r="",n=null;for(let s=0;sr.run(...n),get:(...n)=>{let o=r.get(...n);return o===null?void 0:o},all:(...n)=>r.all(...n),iterate:(...n)=>r.iterate(...n)}}transaction(e){return this.#e.transaction(e)}close(){this.#e.close()}},_p=class{#e;constructor(e){this.#e=e}pragma(e){let n=this.#e.prepare(`PRAGMA ${e}`).all();if(!n||n.length===0)return;if(n.length>1)return n;let o=Object.values(n[0]);return o.length===1?o[0]:n[0]}exec(e){return this.#e.exec(e),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.run(...n),get:(...n)=>r.get(...n),all:(...n)=>r.all(...n),iterate:(...n)=>typeof r.iterate=="function"?r.iterate(...n):r.all(...n)[Symbol.iterator]()}}transaction(e){return(...r)=>{this.#e.exec("BEGIN");try{let n=e(...r);return this.#e.exec("COMMIT"),n}catch(n){throw this.#e.exec("ROLLBACK"),n}}}close(){this.#e.close()}},ro=null;function Ss(){if(!ro){let t=TC(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;ro=function(n,o){let s=new e(n,{readonly:o?.readonly,create:!0}),i=new gp(s);return o?.timeout&&i.pragma(`busy_timeout = ${o.timeout}`),i}}else if(process.platform==="linux")try{let{DatabaseSync:e}=t(["node","sqlite"].join(":"));ro=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new _p(s)}}catch{ro=t("better-sqlite3")}else ro=t("better-sqlite3")}return ro}function yp(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function xp(t){if(!$C(t))for(let e of["-wal","-shm"])try{Ox(t+e)}catch{}}function Cx(t){for(let e of["","-wal","-shm"])try{Ox(t+e)}catch{}}function vp(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function no(t,e=[100,500,2e3]){let r;for(let n=0;n<=e.length;n++)try{return t()}catch(o){let s=o instanceof Error?o.message:String(o);if(!s.includes("SQLITE_BUSY")&&!s.includes("database is locked"))throw o;if(r=o instanceof Error?o:new Error(s),n{let t=globalThis;return t[vs]||(t[vs]=new Set,process.on("exit",()=>{for(let e of t[vs])vp(e);t[vs].clear()})),t[vs]})();import{readFileSync as PC,readdirSync as Ax,unlinkSync as kp,existsSync as zx,statSync as Sp}from"node:fs";import{tmpdir as jx}from"node:os";import{join as bp}from"node:path";var oo=new Set(["the","and","for","are","but","not","you","all","can","had","her","was","one","our","out","has","his","how","its","may","new","now","old","see","way","who","did","get","got","let","say","she","too","use","will","with","this","that","from","they","been","have","many","some","them","than","each","make","like","just","over","such","take","into","year","your","good","could","would","about","which","their","there","other","after","should","through","also","more","most","only","very","when","what","then","these","those","being","does","done","both","same","still","while","where","here","were","much","update","updates","updated","deps","dev","tests","test","add","added","fix","fixed","run","running","using"]);function Mx(t){let e=new Set,r=[];for(let n of t){let o=n.toLowerCase();e.has(o)||(e.add(o),r.push(n))}return r}function RC(t,e="AND"){let r=Mx(t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(s=>s.length>0&&!["AND","OR","NOT","NEAR"].includes(s.toUpperCase())));if(r.length===0)return'""';let n=r.filter(s=>!oo.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function OC(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=Mx(r.split(/\s+/).filter(i=>i.length>=3));if(n.length===0)return"";let o=n.filter(i=>!oo.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function CC(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 IC(t){return t<=4?1:t<=12?2:3}var Nx=4096;function wp(){let t=jx(),e=0;try{let r=Ax(t);for(let n of r){let o=n.match(/^context-mode-(\d+)\.db$/);if(!o)continue;let s=parseInt(o[1],10);if(s!==process.pid)try{process.kill(s,0)}catch{let i=bp(t,n);for(let a of["","-wal","-shm"])try{kp(i+a)}catch{}e++}}}catch{}return e}function Ep(t,e){let r=0;try{if(!zx(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=Ax(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=bp(t,s),c=Sp(i).mtimeMs0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{kp(i+u)}catch{}r++}}catch{}}catch{}return r}function zC(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function NC(t){if(t.length===0)return 1/0;if(t.length===1)return 0;let e=t.map(o=>[...o].sort((s,i)=>s-i)),r=new Array(e.length).fill(0),n=1/0;for(;;){let o=1/0,s=-1/0,i=0;for(let c=0;cs&&(s=u)}let a=s-o;if(a=e[i].length)break}return n}var Sa=class t{#e;#t;#n;#o;#i;#a;#s;#c;#u;#p;#f;#m;#h;#g;#_;#y;#x;#v;#S;#k;#b;#w;#E;#T;#$;#P;#R;#O;#C;#I;#z;#N;#A=0;static OPTIMIZE_EVERY=50;#r=new Map;static FUZZY_CACHE_SIZE=256;constructor(e){let r=Ss();this.#t=e??bp(jx(),`context-mode-${process.pid}.db`),xp(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),yp(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(Ix(s)){Cx(this.#t),xp(this.#t);try{n=new r(this.#t,{timeout:3e4}),yp(n)}catch(i){throw new Error(`Failed to create fresh DB after deleting corrupt file: ${i instanceof Error?i.message:String(i)}`)}}else throw o}this.#e=n,this.#U(),this.#H()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{kp(this.#t+e)}catch{}}#U(){this.#e.exec(` CREATE TABLE IF NOT EXISTS sources ( id INTEGER PRIMARY KEY AUTOINCREMENT, label TEXT NOT NULL, @@ -320,7 +320,7 @@ ${n}`}}};import{createRequire as EC}from"node:module";import{existsSync as TC,un (SELECT COUNT(*) FROM sources) AS sources, (SELECT COUNT(*) FROM chunks) AS chunks, (SELECT COUNT(*) FROM chunks WHERE content_type = 'code') AS codeChunks - `),this.#I=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#z=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#N=this.#e.prepare("DELETE FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days')")}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??$C(n,"utf-8"),i=o??n??"untitled",a=this.#F(s);return no(()=>this.#l(a,i,s))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#B(e,n);return no(()=>this.#l(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=Nx){if(!e||e.trim().length===0)return this.indexPlainText("",r);let o;try{o=JSON.parse(e)}catch{return this.indexPlainText(e,r)}let s=[];return this.#Z(o,[],s,n),s.length===0?this.indexPlainText(e,r):no(()=>this.#l(s,r,e))}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#c.run(r),this.#u.run(r),this.#p.run(r),e.length===0){let u=this.#n.run(r);return Number(u.lastInsertRowid)}let a=this.#o.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#i.run(u.title,u.content,c,l),this.#a.run(u.title,u.content,c,l)}return c})();return n&&this.#q(n),this.#A++,this.#A%t.OPTIMIZE_EVERY===0&&this.#L(),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}#j(e){return e.map(r=>({title:r.title,content:r.content,source:r.label,rank:r.rank,contentType:r.content_type,highlighted:r.highlighted}))}#d(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=PC(e,o),c,u;return n&&s?(c=i==="exact"?this.#k:this.#S,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#h:this.#m,u=[a,this.#d(n,i),r]):s?(c=this.#v,u=[a,s,r]):(c=this.#f,u=[a,r]),no(()=>this.#j(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=RC(e,o);if(!a)return[];let c,u;return n&&s?(c=i==="exact"?this.#E:this.#w,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#y:this.#_,u=[a,this.#d(n,i),r]):s?(c=this.#b,u=[a,s,r]):(c=this.#g,u=[a,r]),no(()=>this.#j(c.all(...u)))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;if(this.#r.has(r)){let u=this.#r.get(r)??null;return this.#r.delete(r),this.#r.set(r,u),u}let n=CC(r.length),o=this.#x.all(r.length-n,r.length+n),s=null,i=n+1,a=!1;for(let{word:u}of o){if(u===r){a=!0;break}let l=OC(r,u);l=t.FUZZY_CACHE_SIZE){let u=this.#r.keys().next().value;u!==void 0&&this.#r.delete(u)}return this.#r.set(r,c),c}#M(e,r,n,o,s="like"){let a=Math.max(r*2,10),c=this.search(e,a,n,"OR",o,s),u=this.searchTrigram(e,a,n,"OR",o,s),l=new Map,d=f=>`${f.source}::${f.title}`;for(let[f,m]of c.entries()){let p=d(m),h=l.get(p);h?h.score+=1/(60+f+1):l.set(p,{result:m,score:1/(60+f+1)})}for(let[f,m]of u.entries()){let p=d(m),h=l.get(p);h?h.score+=1/(60+f+1):l.set(p,{result:m,score:1/(60+f+1)})}return Array.from(l.values()).sort((f,m)=>m.score-f.score).slice(0,r).map(({result:f,score:m})=>({...f,rank:-m}))}#D(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!oo.has(i)),s=o.length>0?o:n;return e.map(i=>{let a=i.title.toLowerCase(),c=s.filter(f=>a.includes(f)).length,u=i.contentType==="code"?.6:.3,l=c>0?u*(c/s.length):0,d=0;if(s.length>=2){let f=i.content.toLowerCase(),m=s.map(p=>IC(f,p));m.some(p=>p.length===0)||(d=1/(1+zC(m)/Math.max(f.length,1)))}return{result:i,boost:l+d}}).sort((i,a)=>a.boost-i.boost||i.result.rank-a.result.rank).map(({result:i})=>i)}searchWithFallback(e,r=3,n,o,s="like"){let i=this.#M(e,r,n,o,s);if(i.length>0)return this.#D(i,e).map(f=>({...f,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!oo.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#M(l,r,n,o,s);if(d.length>0)return this.#D(d,l).map(m=>({...m,matchLayer:"rrf-fuzzy"}))}return[]}getSourceMeta(e){let r=this.#C.get(e);return r?{label:r.label,chunkCount:r.chunk_count,codeChunkCount:r.code_chunk_count,indexedAt:r.indexed_at}:null}listSources(){return this.#T.all()}getChunksBySource(e){return this.#$.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#P.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#R.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!oo.has(f)));for(let f of d)a.set(f,(a.get(f)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let f=Math.log(o/d),m=Math.min(l.length/20,.5),p=/[_]/.test(l),h=l.length>=12,g=p?1.5:h?.8:0;return{word:l,score:f+m+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#O.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}cleanupStaleSources(e){return this.#e.transaction(o=>(this.#I.run(o),this.#z.run(o),this.#N.run(o)))(e).changes}getDBSizeBytes(){try{return kp(this.#t).size}catch{return 0}}#L(){try{this.#e.exec("INSERT INTO chunks(chunks) VALUES('optimize')"),this.#e.exec("INSERT INTO chunks_trigram(chunks_trigram) VALUES('optimize')")}catch{}}close(){this.#L(),Sp(this.#e)}#q(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(s=>s.length>=3&&!oo.has(s)),n=[...new Set(r)],o=0;this.#e.transaction(()=>{for(let s of n){let i=this.#s.run(s);o+=i.changes}})(),o>0&&this.#r.clear()}#F(e,r=Nx){let n=[],o=e.split(` + `),this.#I=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#z=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days'))"),this.#N=this.#e.prepare("DELETE FROM sources WHERE datetime(indexed_at) < datetime('now', '-' || ? || ' days')")}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??PC(n,"utf-8"),i=o??n??"untitled",a=this.#q(s);return no(()=>this.#l(a,i,s))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#B(e,n);return no(()=>this.#l(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=Nx){if(!e||e.trim().length===0)return this.indexPlainText("",r);let o;try{o=JSON.parse(e)}catch{return this.indexPlainText(e,r)}let s=[];return this.#Z(o,[],s,n),s.length===0?this.indexPlainText(e,r):no(()=>this.#l(s,r,e))}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#c.run(r),this.#u.run(r),this.#p.run(r),e.length===0){let u=this.#n.run(r);return Number(u.lastInsertRowid)}let a=this.#o.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#i.run(u.title,u.content,c,l),this.#a.run(u.title,u.content,c,l)}return c})();return n&&this.#F(n),this.#A++,this.#A%t.OPTIMIZE_EVERY===0&&this.#L(),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}#j(e){return e.map(r=>({title:r.title,content:r.content,source:r.label,rank:r.rank,contentType:r.content_type,highlighted:r.highlighted}))}#d(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=RC(e,o),c,u;return n&&s?(c=i==="exact"?this.#k:this.#S,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#h:this.#m,u=[a,this.#d(n,i),r]):s?(c=this.#v,u=[a,s,r]):(c=this.#f,u=[a,r]),no(()=>this.#j(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=OC(e,o);if(!a)return[];let c,u;return n&&s?(c=i==="exact"?this.#E:this.#w,u=[a,this.#d(n,i),s,r]):n?(c=i==="exact"?this.#y:this.#_,u=[a,this.#d(n,i),r]):s?(c=this.#b,u=[a,s,r]):(c=this.#g,u=[a,r]),no(()=>this.#j(c.all(...u)))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;if(this.#r.has(r)){let u=this.#r.get(r)??null;return this.#r.delete(r),this.#r.set(r,u),u}let n=IC(r.length),o=this.#x.all(r.length-n,r.length+n),s=null,i=n+1,a=!1;for(let{word:u}of o){if(u===r){a=!0;break}let l=CC(r,u);l=t.FUZZY_CACHE_SIZE){let u=this.#r.keys().next().value;u!==void 0&&this.#r.delete(u)}return this.#r.set(r,c),c}#M(e,r,n,o,s="like"){let a=Math.max(r*2,10),c=this.search(e,a,n,"OR",o,s),u=this.searchTrigram(e,a,n,"OR",o,s),l=new Map,d=f=>`${f.source}::${f.title}`;for(let[f,m]of c.entries()){let p=d(m),h=l.get(p);h?h.score+=1/(60+f+1):l.set(p,{result:m,score:1/(60+f+1)})}for(let[f,m]of u.entries()){let p=d(m),h=l.get(p);h?h.score+=1/(60+f+1):l.set(p,{result:m,score:1/(60+f+1)})}return Array.from(l.values()).sort((f,m)=>m.score-f.score).slice(0,r).map(({result:f,score:m})=>({...f,rank:-m}))}#D(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!oo.has(i)),s=o.length>0?o:n;return e.map(i=>{let a=i.title.toLowerCase(),c=s.filter(f=>a.includes(f)).length,u=i.contentType==="code"?.6:.3,l=c>0?u*(c/s.length):0,d=0;if(s.length>=2){let f=i.content.toLowerCase(),m=s.map(p=>zC(f,p));m.some(p=>p.length===0)||(d=1/(1+NC(m)/Math.max(f.length,1)))}return{result:i,boost:l+d}}).sort((i,a)=>a.boost-i.boost||i.result.rank-a.result.rank).map(({result:i})=>i)}searchWithFallback(e,r=3,n,o,s="like"){let i=this.#M(e,r,n,o,s);if(i.length>0)return this.#D(i,e).map(f=>({...f,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!oo.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#M(l,r,n,o,s);if(d.length>0)return this.#D(d,l).map(m=>({...m,matchLayer:"rrf-fuzzy"}))}return[]}getSourceMeta(e){let r=this.#C.get(e);return r?{label:r.label,chunkCount:r.chunk_count,codeChunkCount:r.code_chunk_count,indexedAt:r.indexed_at}:null}listSources(){return this.#T.all()}getChunksBySource(e){return this.#$.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#P.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#R.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!oo.has(f)));for(let f of d)a.set(f,(a.get(f)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let f=Math.log(o/d),m=Math.min(l.length/20,.5),p=/[_]/.test(l),h=l.length>=12,g=p?1.5:h?.8:0;return{word:l,score:f+m+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#O.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}cleanupStaleSources(e){return this.#e.transaction(o=>(this.#I.run(o),this.#z.run(o),this.#N.run(o)))(e).changes}getDBSizeBytes(){try{return Sp(this.#t).size}catch{return 0}}#L(){try{this.#e.exec("INSERT INTO chunks(chunks) VALUES('optimize')"),this.#e.exec("INSERT INTO chunks_trigram(chunks_trigram) VALUES('optimize')")}catch{}}close(){this.#L(),vp(this.#e)}#F(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(s=>s.length>=3&&!oo.has(s)),n=[...new Set(r)],o=0;this.#e.transaction(()=>{for(let s of n){let i=this.#s.run(s);o+=i.changes}})(),o>0&&this.#r.clear()}#q(e,r=Nx){let n=[],o=e.split(` `),s=[],i=[],a="",c=()=>{let l=i.join(` `).trim();if(l.length===0)return;let d=this.#W(s,a),f=i.some(_=>/^`{3,}/.test(_));if(Buffer.byteLength(l)<=r){n.push({title:d,content:l,hasCode:f}),i=[];return}let m=l.split(/\n\n+/),p=[],h=1,g=()=>{if(p.length===0)return;let _=p.join(` @@ -329,31 +329,31 @@ ${n}`}}};import{createRequire as EC}from"node:module";import{existsSync as TC,un `);Buffer.byteLength(x)>r&&p.length>1&&(p.pop(),g(),p=[_])}g(),i=[]},u=0;for(;u0&&s[s.length-1].level>=m;)s.pop();s.push({level:m,text:p}),a=p,i.push(l),u++;continue}let f=l.match(/^(`{3,})(.*)?$/);if(f){let m=f[1],p=[l];for(u++;u=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(` `)[0].slice(0,80)||`Section ${u+1}`,content:l}}).filter(c=>c.content.length>0);let o=e.split(` `);if(o.length<=r)return[{title:"Output",content:e}];let s=[],a=Math.max(r-2,1);for(let c=0;c0?r.join(" > "):"(root)",i=JSON.stringify(e,null,2);if(Buffer.byteLength(i)<=o&&!(typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.values(e).some(c=>typeof c=="object"&&c!==null))){n.push({title:s,content:i,hasCode:!0});return}if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let a=Object.entries(e);if(a.length>0){for(let[c,u]of a)this.#Z(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#J(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#V(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#K(e,r,n,o,s){let i=e?`${e} > `:"";if(!s)return r===n?`${i}[${r}]`:`${i}[${r}-${n}]`;let a=c=>String(c[s]);return o.length===1?`${i}${a(o[0])}`:o.length<=3?i+o.map(a).join(", "):`${i}${a(o[0])}\u2026${a(o[o.length-1])}`}#J(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#V(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#K(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;lo&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#W(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as Lx}from"node:fs";import{resolve as so}from"node:path";import{homedir as Zx}from"node:os";function Ux(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function NC(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function AC(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function Dx(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function jC(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=AC(o),a=Dx(s);r=`^${i}(\\s${a})?$`}else r=`^${Dx(t)}$`;return new RegExp(r,e?"i":"")}function MC(t,e=!1){let r="",n=0;for(;n0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function $p(t){let e;try{e=Lx(t,"utf-8")}catch{return null}let r;try{r=JSON.parse(e)}catch{return null}let n=r?.permissions;if(!n||typeof n!="object")return null;let o=s=>Array.isArray(s)?s.filter(i=>typeof i=="string"&&Ux(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Pp(t,e){let r=[];if(t){let s=so(t,".claude","settings.local.json"),i=$p(s);i&&r.push(i);let a=so(t,".claude","settings.json"),c=$p(a);c&&r.push(c)}let n=e??so(Zx(),".claude","settings.json"),o=$p(n);return o&&r.push(o),r}function Hx(t,e,r){let n=[],o=a=>{let c;try{c=Lx(a,"utf-8")}catch{return null}let u;try{u=JSON.parse(c)}catch{return null}let l=u?.permissions?.deny;if(!Array.isArray(l))return[];let d=[];for(let f of l){if(typeof f!="string")continue;let m=NC(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(so(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(so(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??so(Zx(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Rp(t,e,r=process.platform==="win32"){let n=LC(t);for(let o of n)for(let s of e){let i=DC(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function qx(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(MC(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var ZC={python:[/os\.system\(\s*(['"])(.*?)\1\s*\)/g,/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*(['"])(.*?)\1/g],javascript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],typescript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],ruby:[/system\(\s*(['"])(.*?)\1/g,/`(.*?)`/g],go:[/exec\.Command\(\s*(['"`])(.*?)\1/g],php:[/shell_exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])system\(\s*(['"`])(.*?)\1/g,/passthru\(\s*(['"`])(.*?)\1/g,/proc_open\(\s*(['"`])(.*?)\1/g],rust:[/Command::new\(\s*(['"`])(.*?)\1/g]};function UC(t){let e=[],r=/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*\[([^\]]+)\]/g,n;for(;(n=r.exec(t))!==null;){let s=[...n[1].matchAll(/(['"])(.*?)\1/g)].map(i=>i[2]);s.length>0&&e.push(s.join(" "))}return e}function Fx(t,e){let r=ZC[e];if(!r&&e!=="python")return[];let n=[];if(r)for(let o of r){o.lastIndex=0;let s;for(;(s=o.exec(t))!==null;){let i=s[s.length-1];i&&n.push(i)}}return e==="python"&&n.push(...UC(t)),n}function Op(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r} +`)})}return s}#Z(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=JSON.stringify(e,null,2);if(Buffer.byteLength(i)<=o&&!(typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.values(e).some(c=>typeof c=="object"&&c!==null))){n.push({title:s,content:i,hasCode:!0});return}if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let a=Object.entries(e);if(a.length>0){for(let[c,u]of a)this.#Z(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#J(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#V(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#K(e,r,n,o,s){let i=e?`${e} > `:"";if(!s)return r===n?`${i}[${r}]`:`${i}[${r}-${n}]`;let a=c=>String(c[s]);return o.length===1?`${i}${a(o[0])}`:o.length<=3?i+o.map(a).join(", "):`${i}${a(o[0])}\u2026${a(o[o.length-1])}`}#J(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#V(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#K(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;lo&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#W(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as Lx}from"node:fs";import{resolve as so}from"node:path";import{homedir as Zx}from"node:os";function Ux(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function AC(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function jC(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function Dx(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function MC(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=jC(o),a=Dx(s);r=`^${i}(\\s${a})?$`}else r=`^${Dx(t)}$`;return new RegExp(r,e?"i":"")}function DC(t,e=!1){let r="",n=0;for(;n0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function Tp(t){let e;try{e=Lx(t,"utf-8")}catch{return null}let r;try{r=JSON.parse(e)}catch{return null}let n=r?.permissions;if(!n||typeof n!="object")return null;let o=s=>Array.isArray(s)?s.filter(i=>typeof i=="string"&&Ux(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function $p(t,e){let r=[];if(t){let s=so(t,".claude","settings.local.json"),i=Tp(s);i&&r.push(i);let a=so(t,".claude","settings.json"),c=Tp(a);c&&r.push(c)}let n=e??so(Zx(),".claude","settings.json"),o=Tp(n);return o&&r.push(o),r}function Hx(t,e,r){let n=[],o=a=>{let c;try{c=Lx(a,"utf-8")}catch{return null}let u;try{u=JSON.parse(c)}catch{return null}let l=u?.permissions?.deny;if(!Array.isArray(l))return[];let d=[];for(let f of l){if(typeof f!="string")continue;let m=AC(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(so(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(so(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??so(Zx(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Pp(t,e,r=process.platform==="win32"){let n=ZC(t);for(let o of n)for(let s of e){let i=LC(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function Fx(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(DC(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var UC={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 HC(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 qx(t,e){let r=UC[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(...HC(t)),n}function Rp(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r} stdout: ${n} stderr: -${o}`}}var HC=process.ppid;function qC(){let t=process.ppid;return!(t!==HC||t===0||t===1)}function Bx(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??qC,n=!1,o=()=>{n||(n=!0,t.onShutdown())},s=setInterval(()=>{r()||o()},e);s.unref();let i=["SIGTERM","SIGINT"];process.platform!=="win32"&&i.push("SIGHUP");for(let a of i)process.on(a,o);return()=>{n=!0,clearInterval(s);for(let a of i)process.removeListener(a,o)}}import{createHash as FC}from"node:crypto";import{execFileSync as BC}from"node:child_process";function Cp(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=BC("git",["worktree","list","--porcelain"],{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).split(/\r?\n/).find(n=>n.startsWith("worktree "))?.replace("worktree ","")?.trim();if(r&&e!==r)return`__${FC("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var VC={file:"Files tracked",rule:"Project rules (CLAUDE.md)",prompt:"Your requests saved",mcp:"Plugin tools used",git:"Git operations",env:"Environment setup",error:"Errors caught",task:"Tasks in progress",decision:"Your decisions",cwd:"Working directory",skill:"Skills used",subagent:"Delegated work",intent:"Session mode",data:"Data references",role:"Behavioral directives"},KC={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won\u2019t ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"},io=class{db;constructor(e){this.db=e}static contextSavingsTotal(e,r){let n=e-r,o=e>0?Math.round(n/e*1e3)/10:0;return{rawBytes:e,contextBytes:r,savedBytes:n,savedPercent:o}}static thinkInCodeComparison(e,r){let n=r>0?Math.round(e/r*10)/10:0;return{fileBytes:e,outputBytes:r,ratio:n}}static toolSavings(e){return e.map(r=>({...r,savedBytes:r.rawBytes-r.contextBytes}))}static sandboxIO(e,r){return{inputBytes:e,outputBytes:r}}queryAll(e){let n=this.db.prepare("SELECT session_id FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.session_id??"",o=Object.values(e.bytesReturned).reduce((K,Le)=>K+Le,0),s=Object.values(e.calls).reduce((K,Le)=>K+Le,0),i=e.bytesIndexed+e.bytesSandboxed,a=i+o,c=a/Math.max(o,1),u=a>0?Math.round((1-o/a)*100):0,l=new Set([...Object.keys(e.calls),...Object.keys(e.bytesReturned)]),d=Array.from(l).sort().map(K=>({tool:K,calls:e.calls[K]||0,context_kb:Math.round((e.bytesReturned[K]||0)/1024*10)/10,tokens:Math.round((e.bytesReturned[K]||0)/4)})),m=((Date.now()-e.sessionStart)/6e4).toFixed(1),p;if(e.cacheHits>0||e.cacheBytesSaved>0){let K=a+e.cacheBytesSaved,Le=K/Math.max(o,1),Se=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:Se,total_with_cache:K,total_savings_ratio:Le}}let h=this.db.prepare("SELECT COUNT(*) as cnt FROM session_events").get().cnt,g=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),x=this.db.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.compact_count??0,S=this.db.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get(),w=S?!S.consumed:!1,z=this.db.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),de=new Map;for(let K of z){de.has(K.category)||de.set(K.category,new Set);let Le=de.get(K.category);if(Le.size<5){let Se=K.data;K.category==="file"?Se=K.data.split("/").pop()||K.data:K.category==="prompt"&&(Se=Se.length>50?Se.slice(0,47)+"...":Se),Se.length>40&&(Se=Se.slice(0,37)+"..."),Le.add(Se)}}let Te=g.map(K=>({category:K.category,count:K.cnt,label:VC[K.category]||K.category,preview:de.get(K.category)?Array.from(de.get(K.category)).join(", "):"",why:KC[K.category]||"Survives context resets"}));return{savings:{processed_kb:Math.round(a/1024*10)/10,entered_kb:Math.round(o/1024*10)/10,saved_kb:Math.round(i/1024*10)/10,pct:u,savings_ratio:Math.round(c*10)/10,by_tool:d,total_calls:s,total_bytes_returned:o,kept_out:i,total_processed:a},cache:p,session:{id:n,uptime_min:m},continuity:{total_events:h,by_category:Te,compact_count:x,resume_ready:w}}}};function ks(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${t} B`}function JC(t){let e=parseFloat(t);if(isNaN(e)||e<1)return"< 1 min";if(e<60)return`${Math.round(e)} min`;let r=Math.floor(e/60),n=Math.round(e%60);return n>0?`${r}h ${n}m`:`${r}h`}function WC(t,e){let n="#".repeat(40),o=t>0?Math.max(1,Math.round(e/t*40)):40,s="#".repeat(o)+" ".repeat(40-o);return{withoutBar:n,withBar:s}}function ka(t,e,r){let n=[],o=JC(t.session.uptime_min),s=t.savings.kept_out+(t.cache?t.cache.bytes_saved:0),i=t.savings.total_bytes_returned,a=t.savings.total_calls;if(s===0){if(n.push(`context-mode -- session (${o})`),n.push(""),a===0)n.push("No tool calls yet.");else{let _=a===1?"1 tool call":`${a} tool calls`;n.push(`${_} | ${ks(i)} in context | no savings yet`)}return n.push(""),n.push("Tip: Use ctx_execute to analyze files in sandbox -- savings start there."),n.push(""),n.push(e?`v${e}`:"context-mode"),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(` -`)}let c=s+i,u=c>0?(s/c*100).toFixed(1):"0.0",l=Math.round(s/4/1e3);n.push(`context-mode -- session (${o})`),n.push("");let{withoutBar:d,withBar:f}=WC(c,i);n.push(`Without context-mode: |${d}| ${ks(c)} in your conversation`),n.push(`With context-mode: |${f}| ${ks(i)} in your conversation`),n.push("");let m=`${ks(s)} processed in sandbox, never entered your conversation. (${u}% reduction)`;if(n.push(m),l>0){let _=l>=60?`+${Math.floor(l/60)}h ${l%60}m`:`+${l}m`;n.push(`${_} session time gained.`)}let p=t.savings.by_tool.filter(_=>_.calls>0);if(p.length>=2){n.push("");for(let _ of p){let x=_.context_kb*1024,S=`${_.calls} call${_.calls!==1?"s":""}`;n.push(` ${_.tool.padEnd(22)} ${S.padEnd(10)} ${ks(x)} used`)}}if(t.continuity.by_category.length>0){n.push(""),n.push(`Session continuity: ${t.continuity.total_events} events preserved across ${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),n.push("");for(let _ of t.continuity.by_category){let x=_.category.padEnd(9),S=String(_.count).padStart(3),w=_.preview.length>45?_.preview.slice(0,42)+"...":_.preview;n.push(` ${x} ${S} ${w.padEnd(47)} ${_.why}`)}}let h=[];t.continuity.by_category.length===0&&t.continuity.compact_count>0&&h.push(`${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),t.continuity.by_category.length===0&&t.continuity.total_events>0&&h.push(`${t.continuity.total_events} event${t.continuity.total_events!==1?"s":""} preserved`);let g=e?`v${e}`:"context-mode";return h.push(g),n.push(""),n.push(h.join(" | ")),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(` -`)}var Bt=$r(WI(import.meta.url)),Pr=(()=>{for(let t of["../package.json","./package.json"]){let e=nr(Bt,t);if(Je(e))try{return JSON.parse(fS(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t} +${o}`}}var FC=process.ppid;function qC(){let t=process.ppid;return!(t!==FC||t===0||t===1)}function Bx(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??qC,n=!1,o=()=>{n||(n=!0,t.onShutdown())},s=setInterval(()=>{r()||o()},e);s.unref();let i=["SIGTERM","SIGINT"];process.platform!=="win32"&&i.push("SIGHUP");for(let a of i)process.on(a,o);return()=>{n=!0,clearInterval(s);for(let a of i)process.removeListener(a,o)}}import{createHash as BC}from"node:crypto";import{execFileSync as VC}from"node:child_process";function Op(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=VC("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`__${BC("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var KC={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"},JC={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won\u2019t ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"},io=class{db;constructor(e){this.db=e}static contextSavingsTotal(e,r){let n=e-r,o=e>0?Math.round(n/e*1e3)/10:0;return{rawBytes:e,contextBytes:r,savedBytes:n,savedPercent:o}}static thinkInCodeComparison(e,r){let n=r>0?Math.round(e/r*10)/10:0;return{fileBytes:e,outputBytes:r,ratio:n}}static toolSavings(e){return e.map(r=>({...r,savedBytes:r.rawBytes-r.contextBytes}))}static sandboxIO(e,r){return{inputBytes:e,outputBytes:r}}queryAll(e){let n=this.db.prepare("SELECT session_id FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.session_id??"",o=Object.values(e.bytesReturned).reduce((K,Le)=>K+Le,0),s=Object.values(e.calls).reduce((K,Le)=>K+Le,0),i=e.bytesIndexed+e.bytesSandboxed,a=i+o,c=a/Math.max(o,1),u=a>0?Math.round((1-o/a)*100):0,l=new Set([...Object.keys(e.calls),...Object.keys(e.bytesReturned)]),d=Array.from(l).sort().map(K=>({tool:K,calls:e.calls[K]||0,context_kb:Math.round((e.bytesReturned[K]||0)/1024*10)/10,tokens:Math.round((e.bytesReturned[K]||0)/4)})),m=((Date.now()-e.sessionStart)/6e4).toFixed(1),p;if(e.cacheHits>0||e.cacheBytesSaved>0){let K=a+e.cacheBytesSaved,Le=K/Math.max(o,1),Se=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:Se,total_with_cache:K,total_savings_ratio:Le}}let h=this.db.prepare("SELECT COUNT(*) as cnt FROM session_events").get().cnt,g=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),x=this.db.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get()?.compact_count??0,S=this.db.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get(),w=S?!S.consumed:!1,z=this.db.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),de=new Map;for(let K of z){de.has(K.category)||de.set(K.category,new Set);let Le=de.get(K.category);if(Le.size<5){let Se=K.data;K.category==="file"?Se=K.data.split("/").pop()||K.data:K.category==="prompt"&&(Se=Se.length>50?Se.slice(0,47)+"...":Se),Se.length>40&&(Se=Se.slice(0,37)+"..."),Le.add(Se)}}let Te=g.map(K=>({category:K.category,count:K.cnt,label:KC[K.category]||K.category,preview:de.get(K.category)?Array.from(de.get(K.category)).join(", "):"",why:JC[K.category]||"Survives context resets"}));return{savings:{processed_kb:Math.round(a/1024*10)/10,entered_kb:Math.round(o/1024*10)/10,saved_kb:Math.round(i/1024*10)/10,pct:u,savings_ratio:Math.round(c*10)/10,by_tool:d,total_calls:s,total_bytes_returned:o,kept_out:i,total_processed:a},cache:p,session:{id:n,uptime_min:m},continuity:{total_events:h,by_category:Te,compact_count:x,resume_ready:w}}}};function ks(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${t} B`}function WC(t){let e=parseFloat(t);if(isNaN(e)||e<1)return"< 1 min";if(e<60)return`${Math.round(e)} min`;let r=Math.floor(e/60),n=Math.round(e%60);return n>0?`${r}h ${n}m`:`${r}h`}function GC(t,e){let n="#".repeat(40),o=t>0?Math.max(1,Math.round(e/t*40)):40,s="#".repeat(o)+" ".repeat(40-o);return{withoutBar:n,withBar:s}}function ka(t,e,r){let n=[],o=WC(t.session.uptime_min),s=t.savings.kept_out+(t.cache?t.cache.bytes_saved:0),i=t.savings.total_bytes_returned,a=t.savings.total_calls;if(s===0){if(n.push(`context-mode -- session (${o})`),n.push(""),a===0)n.push("No tool calls yet.");else{let _=a===1?"1 tool call":`${a} tool calls`;n.push(`${_} | ${ks(i)} in context | no savings yet`)}return n.push(""),n.push("Tip: Use ctx_execute to analyze files in sandbox -- savings start there."),n.push(""),n.push(e?`v${e}`:"context-mode"),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(` +`)}let c=s+i,u=c>0?(s/c*100).toFixed(1):"0.0",l=Math.round(s/4/1e3);n.push(`context-mode -- session (${o})`),n.push("");let{withoutBar:d,withBar:f}=GC(c,i);n.push(`Without context-mode: |${d}| ${ks(c)} in your conversation`),n.push(`With context-mode: |${f}| ${ks(i)} in your conversation`),n.push("");let m=`${ks(s)} processed in sandbox, never entered your conversation. (${u}% reduction)`;if(n.push(m),l>0){let _=l>=60?`+${Math.floor(l/60)}h ${l%60}m`:`+${l}m`;n.push(`${_} session time gained.`)}let p=t.savings.by_tool.filter(_=>_.calls>0);if(p.length>=2){n.push("");for(let _ of p){let x=_.context_kb*1024,S=`${_.calls} call${_.calls!==1?"s":""}`;n.push(` ${_.tool.padEnd(22)} ${S.padEnd(10)} ${ks(x)} used`)}}if(t.continuity.by_category.length>0){n.push(""),n.push(`Session continuity: ${t.continuity.total_events} events preserved across ${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),n.push("");for(let _ of t.continuity.by_category){let x=_.category.padEnd(9),S=String(_.count).padStart(3),w=_.preview.length>45?_.preview.slice(0,42)+"...":_.preview;n.push(` ${x} ${S} ${w.padEnd(47)} ${_.why}`)}}let h=[];t.continuity.by_category.length===0&&t.continuity.compact_count>0&&h.push(`${t.continuity.compact_count} compaction${t.continuity.compact_count!==1?"s":""}`),t.continuity.by_category.length===0&&t.continuity.total_events>0&&h.push(`${t.continuity.total_events} event${t.continuity.total_events!==1?"s":""} preserved`);let g=e?`v${e}`:"context-mode";return h.push(g),n.push(""),n.push(h.join(" | ")),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | Run: ctx_upgrade`),n.join(` +`)}var Bt=$r(GI(import.meta.url)),Pr=(()=>{for(let t of["../package.json","./package.json"]){let e=nr(Bt,t);if(Je(e))try{return JSON.parse(fS(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t} `)});process.on("uncaughtException",t=>{process.stderr.write(`[context-mode] uncaughtException: ${t?.message??t} -`)});var Ma=ya(),Ia=bx(Ma),De=new ha({name:"context-mode",version:Pr});De.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});De.server.setRequestHandler(jn,async()=>({prompts:[]}));De.server.setRequestHandler(Nn,async()=>({resources:[]}));De.server.setRequestHandler(An,async()=>({resourceTemplates:[]}));var Is=new xs({runtimes:Ma,projectRoot:process.env.CLAUDE_PROJECT_DIR}),Sf=he(vf(),`cm-fs-preload-${process.pid}.js`);mS(Sf,`(function(){var __cm_fs=0;process.on('exit',function(){if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch(e){}});try{var f=require('fs');var ors=f.readFileSync;f.readFileSync=function(){var r=ors.apply(this,arguments);if(Buffer.isBuffer(r))__cm_fs+=r.length;else if(typeof r==='string')__cm_fs+=Buffer.byteLength(r);return r;};}catch(e){}})(); -`);var Ft=null;function YI(t){try{let e=_n();if(!Je(e))return;let r=KI(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=he(e,n);try{t.index({path:o,source:"session-events"}),Tr(o)}catch{}}}catch{}}var za=null;function _n(){if(za)return za.getSessionDir();let t=he(xf(),".claude","context-mode","sessions");return yf(t,{recursive:!0}),t}function XI(){return process.env.CLAUDE_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||process.env.VSCODE_CWD||process.env.OPENCODE_PROJECT_DIR||process.env.PI_PROJECT_DIR||process.env.CONTEXT_MODE_PROJECT_DIR||process.cwd()}function Na(){let e=XI().replace(/\\/g,"/");return VI("sha256").update(e).digest("hex").slice(0,16)}function _f(){let t=Na(),e=_n(),r=he($r(e),"content");return yf(r,{recursive:!0}),he(r,`${t}.db`)}function yn(){if(!Ft){let t=_f();Ft=new Sa(t);try{let e=$r(_f());Tp(e,14),Ft.cleanupStaleSources(14);let r=he(xf(),".context-mode","content");Je(r)&&Tp(r,0)}catch{}Ep()}return YI(Ft),Ft}var Ee={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},Rr=null,Ca=0,cS=0,QI=3,ez=3600*1e3;async function tz(){return new Promise(t=>{let e=GI("https://registry.npmjs.org/context-mode/latest",{headers:{Connection:"close"}},r=>{let n="";r.on("data",o=>{n+=o}),r.on("end",()=>{try{let o=JSON.parse(n);t(o.version??"unknown")}catch{t("unknown")}})});e.on("error",()=>t("unknown")),e.setTimeout(5e3,()=>{e.destroy(),t("unknown")}),e.end()})}function rz(){let t=za?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function nz(){return!Rr||Rr==="unknown"?!1:Rr!==Pr}function oz(){if(!nz())return!1;let t=Date.now();if(Ca>=QI){if(t-cS0){let n=rz();e.content[0].text=`\u26A0\uFE0F context-mode v${Pr} outdated \u2192 v${Rr} available. Upgrade: ${n} +`)});var Ma=ya(),Ia=bx(Ma),De=new ha({name:"context-mode",version:Pr});De.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});De.server.setRequestHandler(jn,async()=>({prompts:[]}));De.server.setRequestHandler(Nn,async()=>({resources:[]}));De.server.setRequestHandler(An,async()=>({resourceTemplates:[]}));var Is=new xs({runtimes:Ma,projectRoot:process.env.CLAUDE_PROJECT_DIR}),vf=he(xf(),`cm-fs-preload-${process.pid}.js`);mS(vf,`(function(){var __cm_fs=0;process.on('exit',function(){if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch(e){}});try{var f=require('fs');var ors=f.readFileSync;f.readFileSync=function(){var r=ors.apply(this,arguments);if(Buffer.isBuffer(r))__cm_fs+=r.length;else if(typeof r==='string')__cm_fs+=Buffer.byteLength(r);return r;};}catch(e){}})(); +`);var qt=null;function XI(t){try{let e=_n();if(!Je(e))return;let r=JI(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=he(e,n);try{t.index({path:o,source:"session-events"}),Tr(o)}catch{}}}catch{}}var za=null;function _n(){if(za)return za.getSessionDir();let t=he(yf(),".claude","context-mode","sessions");return _f(t,{recursive:!0}),t}function QI(){return process.env.CLAUDE_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||process.env.VSCODE_CWD||process.env.OPENCODE_PROJECT_DIR||process.env.PI_PROJECT_DIR||process.env.CONTEXT_MODE_PROJECT_DIR||process.cwd()}function Na(){let e=QI().replace(/\\/g,"/");return KI("sha256").update(e).digest("hex").slice(0,16)}function gf(){let t=Na(),e=_n(),r=he($r(e),"content");return _f(r,{recursive:!0}),he(r,`${t}.db`)}function yn(){if(!qt){let t=gf();qt=new Sa(t);try{let e=$r(gf());Ep(e,14),qt.cleanupStaleSources(14);let r=he(yf(),".context-mode","content");Je(r)&&Ep(r,0)}catch{}wp()}return XI(qt),qt}var Ee={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},Rr=null,Ca=0,cS=0,ez=3,tz=3600*1e3;async function rz(){return new Promise(t=>{let e=YI("https://registry.npmjs.org/context-mode/latest",{headers:{Connection:"close"}},r=>{let n="";r.on("data",o=>{n+=o}),r.on("end",()=>{try{let o=JSON.parse(n);t(o.version??"unknown")}catch{t("unknown")}})});e.on("error",()=>t("unknown")),e.setTimeout(5e3,()=>{e.destroy(),t("unknown")}),e.end()})}function nz(){let t=za?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function oz(){return!Rr||Rr==="unknown"?!1:Rr!==Pr}function sz(){if(!oz())return!1;let t=Date.now();if(Ca>=ez){if(t-cS0){let n=nz();e.content[0].text=`\u26A0\uFE0F context-mode v${Pr} outdated \u2192 v${Rr} available. Upgrade: ${n} -`+e.content[0].text}let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return Ee.calls[t]=(Ee.calls[t]||0)+1,Ee.bytesReturned[t]=(Ee.bytesReturned[t]||0)+r,e}function Ot(t){Ee.bytesIndexed+=t}function kf(t,e){try{let r=Pp(process.env.CLAUDE_PROJECT_DIR),n=Rp(t,r);if(n.decision==="deny")return D(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function hS(t,e,r){try{let n=Fx(t,e);if(n.length===0)return null;let o=Pp(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Rp(s,o);if(i.decision==="deny")return D(r,{content:[{type:"text",text:`Command blocked by security policy: embedded shell command "${s}" matches deny pattern ${i.matchedPattern}`}],isError:!0})}}catch{}return null}function sz(t,e){try{let r=Hx("Read",process.env.CLAUDE_PROJECT_DIR),n=qx(t,r);if(n.denied)return D(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}var iz=Ia.join(", "),az=xa()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",cz="",uz="";function lz(t){let e=[],r=0,n=0;for(;nd.length>2),l=t.toLowerCase();for(let d of u){let f=l.indexOf(d);for(;f!==-1;)o.push(f),f=l.indexOf(d,f+1)}}if(o.length===0)return t.slice(0,r)+` +`+e.content[0].text}let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return Ee.calls[t]=(Ee.calls[t]||0)+1,Ee.bytesReturned[t]=(Ee.bytesReturned[t]||0)+r,e}function Ot(t){Ee.bytesIndexed+=t}function Sf(t,e){try{let r=$p(process.env.CLAUDE_PROJECT_DIR),n=Pp(t,r);if(n.decision==="deny")return D(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function hS(t,e,r){try{let n=qx(t,e);if(n.length===0)return null;let o=$p(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Pp(s,o);if(i.decision==="deny")return D(r,{content:[{type:"text",text:`Command blocked by security policy: embedded shell command "${s}" matches deny pattern ${i.matchedPattern}`}],isError:!0})}}catch{}return null}function iz(t,e){try{let r=Hx("Read",process.env.CLAUDE_PROJECT_DIR),n=Fx(t,r);if(n.denied)return D(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}var az=Ia.join(", "),cz=xa()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",uz="",lz="";function dz(t){let e=[],r=0,n=0;for(;nd.length>2),l=t.toLowerCase();for(let d of u){let f=l.indexOf(d);for(;f!==-1;)o.push(f),f=l.indexOf(d,f+1)}}if(o.length===0)return t.slice(0,r)+` \u2026`;o.sort((u,l)=>u-l);let s=300,i=[];for(let u of o){let l=Math.max(0,u-s),d=Math.min(t.length,u+s);i.length>0&&l<=i[i.length-1][1]?i[i.length-1][1]=d:i.push([l,d])}let a=[],c=0;for(let[u,l]of i){if(c>=r)break;let d=t.slice(u,Math.min(l,u+(r-c)));a.push((u>0?"\u2026":"")+d+(ln){o.push(`## ${i} +`)}function pz(t,e,r,n=80*1024){let o=[],s=0;for(let i of e){if(s>n){o.push(`## ${i} (output cap reached \u2014 use search(queries: ["${i}"]) for details) -`);continue}let a=t.searchWithFallback(i,3,r,void 0,"exact");if(o.push(`## ${i}`),o.push(""),a.length>0){for(let c of a){let u=gS(c.content,i,3e3,c.highlighted);o.push(`### ${c.title}`),o.push(u),o.push(""),s+=u.length+c.title.length}continue}o.push("No matching sections found."),o.push("")}return o.push("\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])`."),o}De.registerTool("ctx_execute",{title:"Execute Code",description:`MANDATORY: Use for any command where output exceeds 20 lines. Execute code in a sandboxed subprocess. Only stdout enters context \u2014 raw data stays in the subprocess.${az} Available: ${iz}. +`);continue}let a=t.searchWithFallback(i,3,r,void 0,"exact");if(o.push(`## ${i}`),o.push(""),a.length>0){for(let c of a){let u=gS(c.content,i,3e3,c.highlighted);o.push(`### ${c.title}`),o.push(u),o.push(""),s+=u.length+c.title.length}continue}o.push("No matching sections found."),o.push("")}return o.push("\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])`."),o}De.registerTool("ctx_execute",{title:"Execute Code",description:`MANDATORY: Use for any command where output exceeds 20 lines. Execute code in a sandboxed subprocess. Only stdout enters context \u2014 raw data stays in the subprocess.${cz} Available: ${az}. PREFER THIS OVER BASH for: API calls (gh, curl, aws), test runners (npm test, pytest), git queries (git log, git diff), data processing, and ANY CLI command that may produce large output. Bash should only be used for file mutations, git writes, and navigation. THINK IN CODE: When you need to analyze, count, filter, compare, or process data \u2014 write code that does the work and console.log() only the answer. Do NOT read raw data into context to process mentally. Program the analysis, don't compute it in your reasoning. Write robust, pure JavaScript (no npm dependencies). Use only Node.js built-ins (fs, path, child_process). Always wrap in try/catch. Handle null/undefined. Works on both Node.js and Bun.`,inputSchema:L.object({language:L.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:L.string().describe("Source code to execute. Use console.log (JS/TS), print (Python/Ruby/Perl/R), echo (Shell), echo (PHP), fmt.Println (Go), or IO.puts (Elixir) to output a summary to context."),timeout:L.coerce.number().optional().default(3e4).describe("Max execution time in ms"),background:L.boolean().optional().default(!1).describe("Keep process running after timeout (for servers/daemons). Returns partial output without killing the process. IMPORTANT: Do NOT add setTimeout/self-close timers in background scripts \u2014 the process must stay alive until the timeout detaches it. For server+fetch patterns, prefer putting both server and fetch in ONE ctx_execute call instead of using background."),intent:L.string().optional().describe(`What you're looking for in the output. When provided and output is large (>5KB), indexes output into knowledge base and returns section titles + previews \u2014 not full content. Use search(queries: [...]) to retrieve specific sections. Example: 'failing tests', 'HTTP 500 errors'. -TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=kf(e,"execute");if(s)return s}else{let s=hS(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=` +TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=Sf(e,"execute");if(s)return s}else{let s=hS(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=` // FS read instrumentation \u2014 count bytes read via fs.readFileSync/readFile let __cm_fs=0; process.on('exit',()=>{if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch{}}); @@ -419,7 +419,7 @@ _(process backgrounded after ${r}ms \u2014 still running)_`}]}):l?D("ctx_execute _(timed out after ${r}ms \u2014 partial output shown above)_`}]}):D("ctx_execute",{content:[{type:"text",text:`Execution timed out after ${r}ms stderr: -${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Op({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>Aa?(Ot(Buffer.byteLength(d)),D("ctx_execute",{content:[{type:"text",text:mo(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>ja?(Ot(Buffer.byteLength(d)),D("ctx_execute",{content:[{type:"text",text:mo(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):D("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),D("ctx_execute",{content:[{type:"text",text:mo(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>ja?D("ctx_execute",_S(u,`execute:${t}`)):D("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return D("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});function _S(t,e){let r=yn();Ot(Buffer.byteLength(t));let n=r.index({content:t,source:e});return{content:[{type:"text",text:`Indexed ${n.totalChunks} sections (${n.codeChunks} with code) from: ${n.label} +${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Rp({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>Aa?(Ot(Buffer.byteLength(d)),D("ctx_execute",{content:[{type:"text",text:mo(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>ja?(Ot(Buffer.byteLength(d)),D("ctx_execute",{content:[{type:"text",text:mo(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):D("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),D("ctx_execute",{content:[{type:"text",text:mo(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>ja?D("ctx_execute",_S(u,`execute:${t}`)):D("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return D("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});function _S(t,e){let r=yn();Ot(Buffer.byteLength(t));let n=r.index({content:t,source:e});return{content:[{type:"text",text:`Indexed ${n.totalChunks} sections (${n.codeChunks} with code) from: ${n.label} Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to scope results.`}]}}var Aa=5e3,ja=102400;function mo(t,e,r,n=5){let o=t.split(` `).length,s=Buffer.byteLength(t),i=yn(),a=i.indexPlainText(t,r),c=i.searchWithFallback(e,n,r),u=i.getDistinctiveTerms(a.sourceId);if(c.length===0){let d=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`No sections matched intent "${e}" in ${o}-line output (${(s/1024).toFixed(1)}KB).`];return u.length>0&&(d.push(""),d.push(`Searchable terms: ${u.join(", ")}`)),d.push(""),d.push("Use search() to explore the indexed content."),d.join(` `)}let l=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`${c.length} sections matched "${e}" (${o} lines, ${(s/1024).toFixed(1)}KB):`,""];for(let d of c){let f=d.content.split(` @@ -428,7 +428,7 @@ Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to PREFER THIS OVER Read/cat for: log files, data files (CSV, JSON, XML), large source files for analysis, and any file where you need to extract specific information rather than read the entire content. -THINK IN CODE: Write code that processes FILE_CONTENT and console.log() only the answer. Don't read files into context to analyze mentally. Write robust, pure JavaScript \u2014 no npm deps, try/catch, null-safe. Node.js + Bun compatible.`,inputSchema:L.object({path:L.string().describe("Absolute file path or relative to project root"),language:L.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:L.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:L.coerce.number().optional().default(3e4).describe("Max execution time in ms"),intent:L.string().optional().describe("What you're looking for in the output. When provided and output is large (>5KB), returns only matching sections via BM25 search instead of truncated output.")})},async({path:t,language:e,code:r,timeout:n,intent:o})=>{let s=sz(t,"execute_file");if(s)return s;if(e==="shell"){let i=kf(r,"execute_file");if(i)return i}else{let i=hS(r,e,"execute_file");if(i)return i}try{let i=await Is.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return D("ctx_execute_file",{content:[{type:"text",text:`Timed out processing ${t} after ${n}ms`}],isError:!0});if(i.exitCode!==0){let{isError:c,output:u}=Op({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),D("ctx_execute_file",{content:[{type:"text",text:mo(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>ja?(Ot(Buffer.byteLength(u)),D("ctx_execute_file",{content:[{type:"text",text:mo(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):D("ctx_execute_file",{content:[{type:"text",text:u}],isError:c})}let a=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(a)>Aa?(Ot(Buffer.byteLength(a)),D("ctx_execute_file",{content:[{type:"text",text:mo(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>ja?D("ctx_execute_file",_S(a,`file:${t}`)):D("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return D("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});De.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned. +THINK IN CODE: Write code that processes FILE_CONTENT and console.log() only the answer. Don't read files into context to analyze mentally. Write robust, pure JavaScript \u2014 no npm deps, try/catch, null-safe. Node.js + Bun compatible.`,inputSchema:L.object({path:L.string().describe("Absolute file path or relative to project root"),language:L.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:L.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:L.coerce.number().optional().default(3e4).describe("Max execution time in ms"),intent:L.string().optional().describe("What you're looking for in the output. When provided and output is large (>5KB), returns only matching sections via BM25 search instead of truncated output.")})},async({path:t,language:e,code:r,timeout:n,intent:o})=>{let s=iz(t,"execute_file");if(s)return s;if(e==="shell"){let i=Sf(r,"execute_file");if(i)return i}else{let i=hS(r,e,"execute_file");if(i)return i}try{let i=await Is.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return D("ctx_execute_file",{content:[{type:"text",text:`Timed out processing ${t} after ${n}ms`}],isError:!0});if(i.exitCode!==0){let{isError:c,output:u}=Rp({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Aa?(Ot(Buffer.byteLength(u)),D("ctx_execute_file",{content:[{type:"text",text:mo(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>ja?(Ot(Buffer.byteLength(u)),D("ctx_execute_file",{content:[{type:"text",text:mo(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):D("ctx_execute_file",{content:[{type:"text",text:u}],isError:c})}let a=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(a)>Aa?(Ot(Buffer.byteLength(a)),D("ctx_execute_file",{content:[{type:"text",text:mo(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>ja?D("ctx_execute_file",_S(a,`file:${t}`)):D("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return D("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});De.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned. WHEN TO USE: - Documentation from Context7, Skills, or MCP tools (API docs, framework guides, code examples) @@ -440,16 +440,16 @@ WHEN TO USE: After indexing, use 'search' to retrieve specific sections on-demand. Do NOT use for: log files, test output, CSV, build output \u2014 use 'execute_file' for those.`,inputSchema:L.object({content:L.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:L.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:L.string().optional().describe("Label for the indexed content (e.g., 'Context7: React useEffect', 'Skill: frontend-design')")})},async({content:t,path:e,source:r})=>{if(!t&&!e)return D("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)Ot(Buffer.byteLength(t));else if(e)try{let s=await import("fs");Ot(s.readFileSync(e).byteLength)}catch{}let o=yn().index({content:t,path:e,source:r});return D("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label} -Use search(queries: ["..."]) to query this content. Use source: "${o.label}" to scope results.`}]})}catch(n){let o=n instanceof Error?n.message:String(n);return D("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});var gn=0,ff=Date.now(),pz=6e4,uS=3,lS=8;function bf(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function fz(t){let e=bf(t);return Array.isArray(e)?e.map((r,n)=>typeof r=="string"?{label:`cmd_${n+1}`,command:r}:r):e}De.registerTool("ctx_search",{title:"Search Indexed Content",description:`Search indexed content. Requires prior indexing via ctx_batch_execute, ctx_index, or ctx_fetch_and_index. Pass ALL search questions as queries array in ONE call. +Use search(queries: ["..."]) to query this content. Use source: "${o.label}" to scope results.`}]})}catch(n){let o=n instanceof Error?n.message:String(n);return D("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});var gn=0,pf=Date.now(),fz=6e4,uS=3,lS=8;function kf(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function mz(t){let e=kf(t);return Array.isArray(e)?e.map((r,n)=>typeof r=="string"?{label:`cmd_${n+1}`,command:r}:r):e}De.registerTool("ctx_search",{title:"Search Indexed Content",description:`Search indexed content. Requires prior indexing via ctx_batch_execute, ctx_index, or ctx_fetch_and_index. Pass ALL search questions as queries array in ONE call. -TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:L.object({queries:L.preprocess(bf,L.array(L.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:L.number().optional().default(3).describe("Results per query (default: 3)"),source:L.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:L.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'.")})},async t=>{try{let e=yn();if(e.getStats().chunks===0)return D("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet. +TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:L.object({queries:L.preprocess(kf,L.array(L.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:L.number().optional().default(3).describe("Results per query (default: 3)"),source:L.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:L.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'.")})},async t=>{try{let e=yn();if(e.getStats().chunks===0)return D("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet. ctx_search is a follow-up tool that queries previously indexed content. To gather and index content first, use: \u2022 ctx_batch_execute(commands, queries) \u2014 run commands, auto-index output, and search in one call \u2022 ctx_fetch_and_index(url) \u2014 fetch a URL, index it, then search with ctx_search \u2022 ctx_index(content, source) \u2014 manually index text content -After indexing, ctx_search becomes available for follow-up queries.`}],isError:!0});let r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return D("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s,contentType:i}=t,a=Date.now();if(a-ff>pz&&(gn=0,ff=a),gn++,gn>lS)return D("ctx_search",{content:[{type:"text",text:`BLOCKED: ${gn} search calls in ${Math.round((a-ff)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let c=gn>uS?1:Math.min(o,2),u=40*1024,l=0,d=[];for(let m of n){if(l>u){d.push(`## ${m} +After indexing, ctx_search becomes available for follow-up queries.`}],isError:!0});let r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return D("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s,contentType:i}=t,a=Date.now();if(a-pf>fz&&(gn=0,pf=a),gn++,gn>lS)return D("ctx_search",{content:[{type:"text",text:`BLOCKED: ${gn} search calls in ${Math.round((a-pf)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let c=gn>uS?1:Math.min(o,2),u=40*1024,l=0,d=[];for(let m of n){if(l>u){d.push(`## ${m} (output cap reached) `);continue}let p=e.searchWithFallback(m,c,s,i);if(p.length===0){d.push(`## ${m} No results found.`);continue}let h=p.map((g,_)=>{let x=`--- [${g.source}] ---`,S=`### ${g.title}`,w=gS(g.content,m,1500,g.highlighted);return`${x} @@ -466,7 +466,7 @@ ${h}`),l+=h.length}let f=d.join(` `);if(gn>=uS&&(f+=` \u26A0 search call #${gn}/${lS} in this window. Results limited to ${c}/query. Batch queries: search(queries: ["q1","q2","q3"]) or use batch_execute.`),f.trim().length===0){let m=e.listSources(),p=m.length>0?` -Indexed sources: ${m.map(h=>`"${h.label}" (${h.chunkCount} sections)`).join(", ")}`:"";return D("ctx_search",{content:[{type:"text",text:`No results found.${p}`}]})}return D("ctx_search",{content:[{type:"text",text:f}]})}catch(e){let r=e instanceof Error?e.message:String(e);return D("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});var mf=null,hf=null;function mz(){return mf||(mf=pS(import.meta.url).resolve("turndown")),mf}function hz(){return hf||(hf=pS(import.meta.url).resolve("turndown-plugin-gfm")),hf}function gz(t,e){let r=JSON.stringify(mz()),n=JSON.stringify(hz()),o=JSON.stringify(e);return` +Indexed sources: ${m.map(h=>`"${h.label}" (${h.chunkCount} sections)`).join(", ")}`:"";return D("ctx_search",{content:[{type:"text",text:`No results found.${p}`}]})}return D("ctx_search",{content:[{type:"text",text:f}]})}catch(e){let r=e instanceof Error?e.message:String(e);return D("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});var ff=null,mf=null;function hz(){return ff||(ff=pS(import.meta.url).resolve("turndown")),ff}function gz(){return mf||(mf=pS(import.meta.url).resolve("turndown-plugin-gfm")),mf}function _z(t,e){let r=JSON.stringify(hz()),n=JSON.stringify(gz()),o=JSON.stringify(e);return` const TurndownService = require(${r}); const { gfm } = require(${n}); const fs = require('fs'); @@ -520,17 +520,17 @@ Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, To refresh: call ctx_fetch_and_index again with \`force: true\`. You MUST call search() to answer questions about this content \u2014 this cached response contains no content. -Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=he(vf(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=gz(t,n),s=await Is.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return D("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=yn(),a=(s.stdout||"").trim(),c;try{c=fS(n,"utf-8").trim()}catch{return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});Ot(Buffer.byteLength(c));let u;a==="__CM_CT__:json"?u=i.indexJSON(c,e??t):a==="__CM_CT__:text"?u=i.indexPlainText(c,e??t):u=i.index({content:c,source:e??t});let l=3072,d=c.length>l?c.slice(0,l)+` +Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=he(xf(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=_z(t,n),s=await Is.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return D("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=yn(),a=(s.stdout||"").trim(),c;try{c=fS(n,"utf-8").trim()}catch{return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});Ot(Buffer.byteLength(c));let u;a==="__CM_CT__:json"?u=i.indexJSON(c,e??t):a==="__CM_CT__:text"?u=i.indexPlainText(c,e??t):u=i.index({content:c,source:e??t});let l=3072,d=c.length>l?c.slice(0,l)+` \u2026[truncated \u2014 use search() for full content]`:c,f=(Buffer.byteLength(c)/1024).toFixed(1),m=[`Fetched and indexed **${u.totalChunks} sections** (${f}KB) from: ${u.label}`,`Full content indexed in sandbox \u2014 use search(queries: [...], source: "${u.label}") for specific lookups.`,"","---","",d].join(` -`);return D("ctx_fetch_and_index",{content:[{type:"text",text:m}]})}catch(o){let s=o instanceof Error?o.message:String(o);return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{gf(n)}catch{}}});De.registerTool("ctx_batch_execute",{title:"Batch Execute & Search",description:`Execute multiple commands in ONE call, auto-index all output, and search with multiple queries. Returns search results directly \u2014 no follow-up calls needed. +`);return D("ctx_fetch_and_index",{content:[{type:"text",text:m}]})}catch(o){let s=o instanceof Error?o.message:String(o);return D("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{hf(n)}catch{}}});De.registerTool("ctx_batch_execute",{title:"Batch Execute & Search",description:`Execute multiple commands in ONE call, auto-index all output, and search with multiple queries. Returns search results directly \u2014 no follow-up calls needed. THIS IS THE PRIMARY TOOL. Use this instead of multiple execute() calls. One batch_execute call replaces 30+ execute calls + 10+ search calls. Provide all commands to run and all queries to search \u2014 everything happens in one round trip. -THINK IN CODE: When commands produce data you need to analyze, add processing commands that filter and summarize. Don't pull raw output into context \u2014 let the sandbox do the work.`,inputSchema:L.object({commands:L.preprocess(fz,L.array(L.object({label:L.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:L.string().describe("Shell command to execute")})).min(1).describe("Commands to execute as a batch. Each runs sequentially, output is labeled with the section header.")),queries:L.preprocess(bf,L.array(L.string()).min(1).describe("Search queries to extract information from indexed output. Use 5-8 comprehensive queries. Each returns top 5 matching sections with full content. This is your ONLY chance \u2014 put ALL your questions here. No follow-up calls needed.")),timeout:L.coerce.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=kf(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1,i=`NODE_OPTIONS="--require ${Sf}" `;for(let S of t){let w=Date.now()-o,z=r-w;if(z<=0){n.push(`# ${S.label} +THINK IN CODE: When commands produce data you need to analyze, add processing commands that filter and summarize. Don't pull raw output into context \u2014 let the sandbox do the work.`,inputSchema:L.object({commands:L.preprocess(mz,L.array(L.object({label:L.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:L.string().describe("Shell command to execute")})).min(1).describe("Commands to execute as a batch. Each runs sequentially, output is labeled with the section header.")),queries:L.preprocess(kf,L.array(L.string()).min(1).describe("Search queries to extract information from indexed output. Use 5-8 comprehensive queries. Each returns top 5 matching sections with full content. This is your ONLY chance \u2014 put ALL your questions here. No follow-up calls needed.")),timeout:L.coerce.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=Sf(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1,i=`NODE_OPTIONS="--require ${vf}" `;for(let S of t){let w=Date.now()-o,z=r-w;if(z<=0){n.push(`# ${S.label} (skipped \u2014 batch timeout exceeded) `),s=!0;continue}let de=await Is.execute({language:"shell",code:`${i}${S.command} 2>&1`,timeout:z}),Te=de.stdout||"(no output)",K=Te.matchAll(/__CM_FS__:(\d+)/g),Le=0;for(let Se of K)Le+=parseInt(Se[1]);if(Le>0&&(Ee.bytesSandboxed+=Le,Te=Te.replace(/__CM_FS__:\d+\n?/g,"")),n.push(`# ${S.label} @@ -541,12 +541,12 @@ ${Te} (skipped \u2014 batch timeout exceeded) `);break}}let a=n.join(` `),c=Buffer.byteLength(a),u=a.split(` -`).length;if(s&&n.length===0)return D("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});Ot(c);let l=yn(),d=`batch:${t.map(S=>S.label).join(",").slice(0,80)}`,f=l.index({content:a,source:d}),m=l.getChunksBySource(f.sourceId),p=["## Indexed Sections",""],h=[];for(let S of m){let w=Buffer.byteLength(S.content);p.push(`- ${S.title} (${(w/1024).toFixed(1)}KB)`),h.push(S.title)}let g=dz(l,e,d),_=l.getDistinctiveTerms?l.getDistinctiveTerms(f.sourceId):[],x=[`Executed ${t.length} commands (${u} lines, ${(c/1024).toFixed(1)}KB). Indexed ${f.totalChunks} sections. Searched ${e.length} queries.`,"",...p,"",...g,_.length>0?` +`).length;if(s&&n.length===0)return D("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});Ot(c);let l=yn(),d=`batch:${t.map(S=>S.label).join(",").slice(0,80)}`,f=l.index({content:a,source:d}),m=l.getChunksBySource(f.sourceId),p=["## Indexed Sections",""],h=[];for(let S of m){let w=Buffer.byteLength(S.content);p.push(`- ${S.title} (${(w/1024).toFixed(1)}KB)`),h.push(S.title)}let g=pz(l,e,d),_=l.getDistinctiveTerms?l.getDistinctiveTerms(f.sourceId):[],x=[`Executed ${t.length} commands (${u} lines, ${(c/1024).toFixed(1)}KB). Indexed ${f.totalChunks} sections. Searched ${e.length} queries.`,"",...p,"",...g,_.length>0?` Searchable terms for follow-up: ${_.join(", ")}`:""].join(` -`);return D("ctx_batch_execute",{content:[{type:"text",text:x}]})}catch(n){let o=n instanceof Error?n.message:String(n);return D("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});function dS(){return{prepare:()=>({run:()=>{},get:(...t)=>({cnt:0,compact_count:0,minutes:null,rate:0,avg:0,outcome:"exploratory"}),all:()=>[]})}}De.registerTool("ctx_stats",{title:"Session Statistics",description:"Returns context consumption statistics for the current session. Shows total bytes returned to context, breakdown by tool, call counts, estimated token usage, and context savings ratio.",inputSchema:L.object({})},async()=>{let t;try{let e=Na(),r=Cp(),n=he(_n(),`${e}${r}.db`);if(Je(n)){let o=Ss(),s=new o(n,{readonly:!0});try{let a=new io(s).queryAll(Ee);t=ka(a,Pr,Rr)}finally{s.close()}}else{let s=new io(dS()).queryAll(Ee);t=ka(s,Pr,Rr)}}catch{let r=new io(dS()).queryAll(Ee);t=ka(r,Pr,Rr)}return D("ctx_stats",{content:[{type:"text",text:t}]})});De.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Runs all checks server-side and returns results as a markdown checklist. No CLI execution needed.",inputSchema:L.object({})},async()=>{let t=["## context-mode doctor",""],e=Je(nr(Bt,"package.json"))?Bt:$r(Bt),r=11,n=(Ia.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${Ia.length}/${r} (${n}%) \u2014 ${Ia.join(", ")}`),xa()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new xs({runtimes:Ma});try{let i=await s.execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(i.exitCode===0&&i.stdout.trim()==="ok")t.push("- [x] Server test: PASS");else{let a=i.stderr?.trim()?` (${i.stderr.trim().slice(0,200)})`:"";t.push(`- [ ] Server test: FAIL \u2014 exit ${i.exitCode}${a}`)}}catch(i){t.push(`- [ ] Server test: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{s.cleanupBackgrounded()}}{let s;try{let i=Ss();s=new i(":memory:"),s.exec("CREATE VIRTUAL TABLE fts_test USING fts5(content)"),s.exec("INSERT INTO fts_test(content) VALUES ('hello world')");let a=s.prepare("SELECT * FROM fts_test WHERE fts_test MATCH 'hello'").get();a&&a.content==="hello world"?t.push("- [x] FTS5 / SQLite: PASS \u2014 native module works"):t.push("- [ ] FTS5 / SQLite: FAIL \u2014 unexpected result")}catch(i){t.push(`- [ ] FTS5 / SQLite: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{try{s?.close()}catch{}}}let o=nr(e,"hooks","pretooluse.mjs");return Je(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${Pr}`),D("ctx_doctor",{content:[{type:"text",text:t.join(` +`);return D("ctx_batch_execute",{content:[{type:"text",text:x}]})}catch(n){let o=n instanceof Error?n.message:String(n);return D("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});function dS(){return{prepare:()=>({run:()=>{},get:(...t)=>({cnt:0,compact_count:0,minutes:null,rate:0,avg:0,outcome:"exploratory"}),all:()=>[]})}}De.registerTool("ctx_stats",{title:"Session Statistics",description:"Returns context consumption statistics for the current session. Shows total bytes returned to context, breakdown by tool, call counts, estimated token usage, and context savings ratio.",inputSchema:L.object({})},async()=>{let t;try{let e=Na(),r=Op(),n=he(_n(),`${e}${r}.db`);if(Je(n)){let o=Ss(),s=new o(n,{readonly:!0});try{let a=new io(s).queryAll(Ee);t=ka(a,Pr,Rr)}finally{s.close()}}else{let s=new io(dS()).queryAll(Ee);t=ka(s,Pr,Rr)}}catch{let r=new io(dS()).queryAll(Ee);t=ka(r,Pr,Rr)}return D("ctx_stats",{content:[{type:"text",text:t}]})});De.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Runs all checks server-side and returns results as a markdown checklist. No CLI execution needed.",inputSchema:L.object({})},async()=>{let t=["## context-mode doctor",""],e=Je(nr(Bt,"package.json"))?Bt:$r(Bt),r=11,n=(Ia.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${Ia.length}/${r} (${n}%) \u2014 ${Ia.join(", ")}`),xa()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new xs({runtimes:Ma});try{let i=await s.execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(i.exitCode===0&&i.stdout.trim()==="ok")t.push("- [x] Server test: PASS");else{let a=i.stderr?.trim()?` (${i.stderr.trim().slice(0,200)})`:"";t.push(`- [ ] Server test: FAIL \u2014 exit ${i.exitCode}${a}`)}}catch(i){t.push(`- [ ] Server test: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{s.cleanupBackgrounded()}}{let s;try{let i=Ss();s=new i(":memory:"),s.exec("CREATE VIRTUAL TABLE fts_test USING fts5(content)"),s.exec("INSERT INTO fts_test(content) VALUES ('hello world')");let a=s.prepare("SELECT * FROM fts_test WHERE fts_test MATCH 'hello'").get();a&&a.content==="hello world"?t.push("- [x] FTS5 / SQLite: PASS \u2014 native module works"):t.push("- [ ] FTS5 / SQLite: FAIL \u2014 unexpected result")}catch(i){t.push(`- [ ] FTS5 / SQLite: FAIL \u2014 ${i instanceof Error?i.message:i}`)}finally{try{s?.close()}catch{}}}let o=nr(e,"hooks","pretooluse.mjs");return Je(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${Pr}`),D("ctx_doctor",{content:[{type:"text",text:t.join(` `)}]})});De.registerTool("ctx_upgrade",{title:"Upgrade Plugin",description:"Upgrade context-mode to the latest version. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a checklist. Tell the user to restart their session after upgrade.",inputSchema:L.object({})},async()=>{let t=Je(nr(Bt,"package.json"))?Bt:$r(Bt),e=nr(t,"cli.bundle.mjs"),r=nr(t,"build","cli.js"),n;if(Je(e))n=`node "${e}" upgrade`;else if(Je(r))n=`node "${r}" upgrade`;else{let s="https://github.com/mksglu/context-mode.git",i=["build","hooks","skills","scripts",".claude-plugin"],a=["start.mjs","server.bundle.mjs","cli.bundle.mjs","package.json"],c=['import{execFileSync}from"node:child_process";','import{cpSync,rmSync,existsSync,mkdtempSync}from"node:fs";','import{join}from"node:path";','import{tmpdir}from"node:os";',`const P=${JSON.stringify(t)};`,'const T=mkdtempSync(join(tmpdir(),"ctx-upgrade-"));',"try{",'console.log("- [x] Starting inline upgrade (no CLI found)");',`execFileSync("git",["clone","--depth","1","${s}",T],{stdio:"inherit"});`,'console.log("- [x] Cloned latest source");','execFileSync("npm",["install"],{cwd:T,stdio:"inherit"});','execFileSync("npm",["run","build"],{cwd:T,stdio:"inherit"});','console.log("- [x] Built from source");',...i.map(d=>`if(existsSync(join(T,${JSON.stringify(d)})))cpSync(join(T,${JSON.stringify(d)}),join(P,${JSON.stringify(d)}),{recursive:true,force:true});`),...a.map(d=>`if(existsSync(join(T,${JSON.stringify(d)})))cpSync(join(T,${JSON.stringify(d)}),join(P,${JSON.stringify(d)}),{force:true});`),'console.log("- [x] Copied build artifacts");','execFileSync("npm",["install","--production"],{cwd:P,stdio:"inherit"});','console.log("- [x] Installed production dependencies");','console.log("## context-mode upgrade complete");',"}catch(e){",'console.error("- [ ] Upgrade failed:",e.message);',"process.exit(1);","}finally{","try{rmSync(T,{recursive:true,force:true})}catch{}","}"].join(` `),u=nr(t,".ctx-upgrade-inline.mjs"),{writeFileSync:l}=await import("node:fs");l(u,c),n=`node "${u}"`}let o=["## ctx-upgrade","","Run this command using your shell execution tool:","","```",n,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for success, `[ ]` for failure","- Example format:"," ```"," ## context-mode upgrade"," - [x] Pulled latest from GitHub"," - [x] Built and installed v0.9.24"," - [x] npm global updated"," - [x] Hooks configured"," - [x] Doctor: all checks PASS"," ```","- Tell the user to restart their session to pick up the new version."].join(` -`);return D("ctx_upgrade",{content:[{type:"text",text:o}]})});De.registerTool("ctx_purge",{title:"Purge Knowledge Base",description:"Permanently deletes ALL session data for this project: FTS5 knowledge base (indexed content), session events DB (analytics, metadata, resume snapshots), and session events markdown. Resets in-memory stats. This is irreversible.",inputSchema:L.object({confirm:L.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return D("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(Ft){let r=!1;try{Ft.cleanup(),r=!0}catch{}Ft=null,r&&e.push("knowledge base (FTS5)")}else{let r=_f(),n=!1;for(let o of["","-wal","-shm"])try{Tr(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=he(xf(),".context-mode","content",`${Na()}.db`);for(let n of["","-wal","-shm"])try{Tr(r+n)}catch{}}catch{}try{let r=Na(),n=Cp(),o=_n(),s=he(o,`${r}${n}.db`),i=he(o,`${r}${n}-events.md`),a=he(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{Tr(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{Tr(i),u=!0}catch{}u&&e.push("session events markdown");try{Tr(a)}catch{}}catch{}return Ee.calls={},Ee.bytesReturned={},Ee.bytesIndexed=0,Ee.bytesSandboxed=0,Ee.cacheHits=0,Ee.cacheBytesSaved=0,Ee.sessionStart=Date.now(),e.push("session stats"),D("ctx_purge",{content:[{type:"text",text:`Purged: ${e.join(", ")}. All session data for this project has been permanently deleted.`}]})});De.registerTool("ctx_insight",{title:"Open Insight Dashboard",description:"Opens the context-mode Insight dashboard in the browser. Shows personal analytics: session activity, tool usage, error rate, parallel work patterns, project focus, and actionable insights. First run installs dependencies (~30s). Subsequent runs open instantly.",inputSchema:L.object({port:L.coerce.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=Je(nr(Bt,"package.json"))?Bt:$r(Bt),n=nr(r,"insight"),o=_n(),s=he($r(o),"insight-cache");if(!Je(he(n,"server.mjs")))return D("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[];yf(s,{recursive:!0});let a=aS(he(n,"server.mjs")).mtimeMs,c=Je(he(s,"server.mjs"))?aS(he(s,"server.mjs")).mtimeMs:0;if(a>c&&(i.push("Copying source files..."),JI(n,s,{recursive:!0,force:!0}),i.push("Source files copied.")),!Je(he(s,"node_modules"))){i.push("Installing dependencies (first run, ~30s)...");try{Er("npm install --production=false",{cwd:s,stdio:"pipe",timeout:3e5})}catch{try{gf(he(s,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Je(he(s,"node_modules","vite"))||!Je(he(s,"node_modules","better-sqlite3")))throw gf(he(s,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry");i.push("Dependencies installed.")}i.push("Building dashboard..."),Er("npx vite build",{cwd:s,stdio:"pipe",timeout:6e4}),i.push("Build complete.");try{let{request:p}=await import("node:http");await new Promise((_,x)=>{let S=p(`http://127.0.0.1:${e}/api/overview`,{timeout:2e3},w=>{w.resume(),_()});S.on("error",()=>x()),S.on("timeout",()=>{S.destroy(),x()}),S.end()}),i.push("Dashboard already running.");let h=`http://localhost:${e}`,g=process.platform;try{g==="darwin"?Er(`open "${h}"`,{stdio:"pipe"}):g==="win32"?Er(`start "" "${h}"`,{stdio:"pipe"}):Er(`xdg-open "${h}" 2>/dev/null || sensible-browser "${h}" 2>/dev/null`,{stdio:"pipe"})}catch{}return D("ctx_insight",{content:[{type:"text",text:`Dashboard already running at http://localhost:${e}`}]})}catch{}let{spawn:l}=await import("node:child_process"),d=l("node",[he(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e),INSIGHT_SESSION_DIR:_n(),INSIGHT_CONTENT_DIR:he($r(_n()),"content")},detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref(),await new Promise(p=>setTimeout(p,1500));try{let{request:p}=await import("node:http");await new Promise((h,g)=>{let _=p(`http://127.0.0.1:${e}/api/overview`,{timeout:3e3},x=>{h(),x.resume()});_.on("error",g),_.on("timeout",()=>{_.destroy(),g(new Error("timeout"))}),_.end()})}catch{return D("ctx_insight",{content:[{type:"text",text:`Port ${e} appears to be in use. Either a previous dashboard is still running, or another service is using this port. +`);return D("ctx_upgrade",{content:[{type:"text",text:o}]})});De.registerTool("ctx_purge",{title:"Purge Knowledge Base",description:"Permanently deletes ALL session data for this project: FTS5 knowledge base (indexed content), session events DB (analytics, metadata, resume snapshots), and session events markdown. Resets in-memory stats. This is irreversible.",inputSchema:L.object({confirm:L.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return D("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(qt){let r=!1;try{qt.cleanup(),r=!0}catch{}qt=null,r&&e.push("knowledge base (FTS5)")}else{let r=gf(),n=!1;for(let o of["","-wal","-shm"])try{Tr(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=he(yf(),".context-mode","content",`${Na()}.db`);for(let n of["","-wal","-shm"])try{Tr(r+n)}catch{}}catch{}try{let r=Na(),n=Op(),o=_n(),s=he(o,`${r}${n}.db`),i=he(o,`${r}${n}-events.md`),a=he(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{Tr(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{Tr(i),u=!0}catch{}u&&e.push("session events markdown");try{Tr(a)}catch{}}catch{}return Ee.calls={},Ee.bytesReturned={},Ee.bytesIndexed=0,Ee.bytesSandboxed=0,Ee.cacheHits=0,Ee.cacheBytesSaved=0,Ee.sessionStart=Date.now(),e.push("session stats"),D("ctx_purge",{content:[{type:"text",text:`Purged: ${e.join(", ")}. All session data for this project has been permanently deleted.`}]})});De.registerTool("ctx_insight",{title:"Open Insight Dashboard",description:"Opens the context-mode Insight dashboard in the browser. Shows personal analytics: session activity, tool usage, error rate, parallel work patterns, project focus, and actionable insights. First run installs dependencies (~30s). Subsequent runs open instantly.",inputSchema:L.object({port:L.coerce.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=Je(nr(Bt,"package.json"))?Bt:$r(Bt),n=nr(r,"insight"),o=_n(),s=he($r(o),"insight-cache");if(!Je(he(n,"server.mjs")))return D("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[];_f(s,{recursive:!0});let a=aS(he(n,"server.mjs")).mtimeMs,c=Je(he(s,"server.mjs"))?aS(he(s,"server.mjs")).mtimeMs:0;if(a>c&&(i.push("Copying source files..."),WI(n,s,{recursive:!0,force:!0}),i.push("Source files copied.")),!Je(he(s,"node_modules"))){i.push("Installing dependencies (first run, ~30s)...");try{Er("npm install --production=false",{cwd:s,stdio:"pipe",timeout:3e5})}catch{try{hf(he(s,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Je(he(s,"node_modules","vite"))||!Je(he(s,"node_modules","better-sqlite3")))throw hf(he(s,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry");i.push("Dependencies installed.")}i.push("Building dashboard..."),Er("npx vite build",{cwd:s,stdio:"pipe",timeout:6e4}),i.push("Build complete.");try{let{request:p}=await import("node:http");await new Promise((_,x)=>{let S=p(`http://127.0.0.1:${e}/api/overview`,{timeout:2e3},w=>{w.resume(),_()});S.on("error",()=>x()),S.on("timeout",()=>{S.destroy(),x()}),S.end()}),i.push("Dashboard already running.");let h=`http://localhost:${e}`,g=process.platform;try{g==="darwin"?Er(`open "${h}"`,{stdio:"pipe"}):g==="win32"?Er(`start "" "${h}"`,{stdio:"pipe"}):Er(`xdg-open "${h}" 2>/dev/null || sensible-browser "${h}" 2>/dev/null`,{stdio:"pipe"})}catch{}return D("ctx_insight",{content:[{type:"text",text:`Dashboard already running at http://localhost:${e}`}]})}catch{}let{spawn:l}=await import("node:child_process"),d=l("node",[he(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e),INSIGHT_SESSION_DIR:_n(),INSIGHT_CONTENT_DIR:he($r(_n()),"content")},detached:!0,stdio:"ignore"});d.on("error",()=>{}),d.unref(),await new Promise(p=>setTimeout(p,1500));try{let{request:p}=await import("node:http");await new Promise((h,g)=>{let _=p(`http://127.0.0.1:${e}/api/overview`,{timeout:3e3},x=>{h(),x.resume()});_.on("error",g),_.on("timeout",()=>{_.destroy(),g(new Error("timeout"))}),_.end()})}catch{return D("ctx_insight",{content:[{type:"text",text:`Port ${e} appears to be in use. Either a previous dashboard is still running, or another service is using this port. To fix: - Kill the existing process: ${process.platform==="win32"?`netstat -ano | findstr :${e}`:`lsof -ti:${e} | xargs kill`} @@ -554,6 +554,6 @@ To fix: `)+` Open: ${f} -PID: ${d.pid} \xB7 Stop: ${process.platform==="win32"?`taskkill /PID ${d.pid} /F`:`kill ${d.pid}`}`}]})}catch(i){let a=i instanceof Error?i.message:String(i);return D("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${a}`}]})}});async function _z(){let t=Ep();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=he(vf(),`context-mode-mcp-ready-${process.ppid}`),r=()=>{Is.cleanupBackgrounded(),Ft&&Ft.close();try{Tr(Sf)}catch{}try{Tr(e)}catch{}},n=async()=>{r(),process.exit(0)};process.on("exit",r),process.on("SIGINT",()=>{n()}),process.on("SIGTERM",()=>{n()}),Bx({onShutdown:()=>n()});let o=new _a;await De.connect(o);try{mS(e,String(process.pid))}catch{}try{let{detectPlatform:s,getAdapter:i}=await Promise.resolve().then(()=>(iS(),sS)),a=De.server.getClientVersion(),c=s(a??void 0);za=await i(c.platform),a&&console.error(`MCP client: ${a.name} v${a.version} \u2192 ${c.platform}`)}catch{}tz().then(s=>{s!=="unknown"&&(Rr=s)}),console.error(`Context Mode MCP server v${Pr} running on stdio`),console.error(`Detected runtimes: +PID: ${d.pid} \xB7 Stop: ${process.platform==="win32"?`taskkill /PID ${d.pid} /F`:`kill ${d.pid}`}`}]})}catch(i){let a=i instanceof Error?i.message:String(i);return D("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${a}`}]})}});async function yz(){let t=wp();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=he(xf(),`context-mode-mcp-ready-${process.ppid}`),r=()=>{Is.cleanupBackgrounded(),qt&&qt.close();try{Tr(vf)}catch{}try{Tr(e)}catch{}},n=async()=>{r(),process.exit(0)};process.on("exit",r),process.on("SIGINT",()=>{n()}),process.on("SIGTERM",()=>{n()}),Bx({onShutdown:()=>n()});let o=new _a;await De.connect(o);try{mS(e,String(process.pid))}catch{}try{let{detectPlatform:s,getAdapter:i}=await Promise.resolve().then(()=>(iS(),sS)),a=De.server.getClientVersion(),c=s(a??void 0);za=await i(c.platform),a&&console.error(`MCP client: ${a.name} v${a.version} \u2192 ${c.platform}`)}catch{}rz().then(s=>{s!=="unknown"&&(Rr=s)}),console.error(`Context Mode MCP server v${Pr} running on stdio`),console.error(`Detected runtimes: ${kx(Ma)}`),xa()||(console.error(` -Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}_z().catch(t=>{console.error("Fatal:",t),process.exit(1)});export{gS as extractSnippet,dz as formatBatchQueryResults,lz as positionsFromHighlight}; +Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}yz().catch(t=>{console.error("Fatal:",t),process.exit(1)});export{gS as extractSnippet,pz as formatBatchQueryResults,dz as positionsFromHighlight}; diff --git a/src/runtime.ts b/src/runtime.ts index 301b1cb5..7ac4e270 100644 --- a/src/runtime.ts +++ b/src/runtime.ts @@ -1,4 +1,4 @@ -import { execSync } from "node:child_process"; +import { execFileSync, execSync } from "node:child_process"; import { existsSync } from "node:fs"; export type Language = @@ -95,10 +95,11 @@ function resolveWindowsBash(): string | null { } } -function getVersion(cmd: string): string { +function getVersion(cmd: string, args: string[] = ["--version"]): string { try { - return execSync(`${cmd} --version`, { + return execFileSync(cmd, args, { encoding: "utf-8", + shell: process.platform === "win32", stdio: ["pipe", "pipe", "pipe"], timeout: 5000, }) @@ -184,7 +185,7 @@ export function getRuntimeSummary(runtimes: RuntimeMap): string { ` Ruby: ${runtimes.ruby} (${getVersion(runtimes.ruby)})`, ); if (runtimes.go) - lines.push(` Go: ${runtimes.go} (${getVersion(runtimes.go)})`); + lines.push(` Go: ${runtimes.go} (${getVersion(runtimes.go, ["version"])})`); if (runtimes.rust) lines.push( ` Rust: ${runtimes.rust} (${getVersion(runtimes.rust)})`, diff --git a/tests/runtime.test.ts b/tests/runtime.test.ts new file mode 100644 index 00000000..a8ddf3c7 --- /dev/null +++ b/tests/runtime.test.ts @@ -0,0 +1,61 @@ +import { afterEach, describe, expect, test, vi } from "vitest"; +import type { RuntimeMap } from "../src/runtime.js"; + +describe("runtime version reporting", () => { + afterEach(() => { + vi.resetModules(); + vi.doUnmock("node:child_process"); + }); + + test("uses 'go version' for Go while preserving '--version' for other runtimes", async () => { + const execFileSync = vi.fn((cmd: string, args: string[]) => { + if (cmd === "go" && args.length === 1 && args[0] === "version") { + return "go version go1.26.2 darwin/arm64\n"; + } + if (cmd === "node" && args.length === 1 && args[0] === "--version") { + return "v25.9.0\n"; + } + throw new Error(`unexpected version probe: ${cmd} ${args.join(" ")}`); + }); + + vi.doMock("node:child_process", () => ({ + execFileSync, + execSync: vi.fn(), + })); + + const { getRuntimeSummary } = await import("../src/runtime.js"); + const runtimes: RuntimeMap = { + javascript: "node", + typescript: null, + python: null, + shell: "node", + ruby: null, + go: "go", + rust: null, + php: null, + perl: null, + r: null, + elixir: null, + }; + + const summary = getRuntimeSummary(runtimes); + + expect(execFileSync).toHaveBeenCalledWith( + "go", + ["version"], + expect.objectContaining({ shell: process.platform === "win32" }), + ); + expect(execFileSync).not.toHaveBeenCalledWith( + "go", + ["--version"], + expect.anything(), + ); + expect(execFileSync).toHaveBeenCalledWith( + "node", + ["--version"], + expect.anything(), + ); + expect(summary).toContain("Go: go (go version go1.26.2 darwin/arm64)"); + expect(summary).not.toContain("Go: go (unknown)"); + }); +});