context-mode 1.0.98 → 1.0.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.openclaw-plugin/openclaw.plugin.json +1 -1
  4. package/.openclaw-plugin/package.json +1 -1
  5. package/README.md +9 -7
  6. package/build/adapters/claude-code-base.js +4 -4
  7. package/build/adapters/codex/index.js +23 -1
  8. package/build/adapters/qwen-code/index.d.ts +1 -1
  9. package/build/adapters/qwen-code/index.js +110 -4
  10. package/build/cli.js +2 -0
  11. package/build/opencode-plugin.js +1 -1
  12. package/build/pi-extension.js +1 -1
  13. package/build/search/auto-memory.d.ts +29 -0
  14. package/build/search/auto-memory.js +121 -0
  15. package/build/search/unified.d.ts +41 -0
  16. package/build/search/unified.js +89 -0
  17. package/build/server.js +88 -40
  18. package/build/session/analytics.js +1 -1
  19. package/build/session/db.d.ts +17 -0
  20. package/build/session/db.js +28 -0
  21. package/build/session/extract.d.ts +4 -0
  22. package/build/session/extract.js +232 -1
  23. package/build/session/snapshot.js +31 -0
  24. package/build/store.js +118 -8
  25. package/build/types.d.ts +1 -0
  26. package/cli.bundle.mjs +260 -125
  27. package/configs/claude-code/CLAUDE.md +21 -1
  28. package/configs/codex/AGENTS.md +23 -2
  29. package/configs/codex/hooks.json +14 -0
  30. package/configs/cursor/context-mode.mdc +18 -1
  31. package/configs/gemini-cli/GEMINI.md +22 -1
  32. package/configs/jetbrains-copilot/copilot-instructions.md +22 -1
  33. package/configs/kilo/AGENTS.md +19 -2
  34. package/configs/kiro/KIRO.md +18 -1
  35. package/configs/openclaw/AGENTS.md +22 -2
  36. package/configs/opencode/AGENTS.md +18 -1
  37. package/configs/pi/AGENTS.md +18 -1
  38. package/configs/qwen-code/QWEN.md +38 -18
  39. package/configs/vscode-copilot/copilot-instructions.md +22 -1
  40. package/hooks/auto-injection.mjs +76 -0
  41. package/hooks/codex/stop.mjs +43 -0
  42. package/hooks/codex/userpromptsubmit.mjs +75 -0
  43. package/hooks/core/mcp-ready.mjs +7 -1
  44. package/hooks/posttooluse.mjs +50 -1
  45. package/hooks/precompact.mjs +9 -0
  46. package/hooks/pretooluse.mjs +27 -0
  47. package/hooks/routing-block.mjs +7 -1
  48. package/hooks/session-db.bundle.mjs +19 -13
  49. package/hooks/session-extract.bundle.mjs +2 -2
  50. package/hooks/session-snapshot.bundle.mjs +18 -17
  51. package/hooks/sessionstart.mjs +17 -0
  52. package/hooks/userpromptsubmit.mjs +1 -1
  53. package/openclaw.plugin.json +1 -1
  54. package/package.json +1 -1
  55. package/server.bundle.mjs +228 -93
  56. package/skills/context-mode-ops/agent-teams.md +1 -1
package/cli.bundle.mjs CHANGED
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
- var rw=Object.create;var su=Object.defineProperty;var nw=Object.getOwnPropertyDescriptor;var ow=Object.getOwnPropertyNames;var sw=Object.getPrototypeOf,iw=Object.prototype.hasOwnProperty;var eg=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var v=(t,e)=>()=>(t&&(e=t(t=0)),e);var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Me=(t,e)=>{for(var r in e)su(t,r,{get:e[r],enumerable:!0})},aw=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ow(e))!iw.call(t,o)&&o!==r&&su(t,o,{get:()=>e[o],enumerable:!(n=nw(e,o))||n.enumerable});return t};var Xo=(t,e,r)=>(r=t!=null?rw(sw(t)):{},aw(e||!t||!t.__esModule?su(r,"default",{value:t,enumerable:!0}):r,t));var pu=R((NM,mg)=>{"use strict";var du={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"},_w={up:(t=1)=>"\x1B[S".repeat(t),down:(t=1)=>"\x1B[T".repeat(t)},yw={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<t;r++)e+=this.line+(r<t-1?du.up():"");return t&&(e+=du.left),e}};mg.exports={cursor:du,scroll:_w,erase:yw,beep:"\x07"}});var vg=R((gD,xu)=>{var Pi=process||{},yg=Pi.argv||[],Ti=Pi.env||{},Hw=!(Ti.NO_COLOR||yg.includes("--no-color"))&&(!!Ti.FORCE_COLOR||yg.includes("--color")||Pi.platform==="win32"||(Pi.stdout||{}).isTTY&&Ti.TERM!=="dumb"||!!Ti.CI),qw=(t,e,r=t)=>n=>{let o=""+n,s=o.indexOf(e,t.length);return~s?t+Bw(o,e,r,s)+e:t+o+e},Bw=(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)},xg=(t=Hw)=>{let e=t?qw:()=>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")}};xu.exports=xg();xu.exports.createColors=xg});import{execFileSync as Vw,execSync as bg}from"node:child_process";import{existsSync as vu}from"node:fs";function Ue(t){try{let e=Ri?`where ${t}`:`command -v ${t}`;return bg(e,{stdio:"pipe"}),!0}catch{return!1}}function Sg(){if(Ue("bun"))return!0;for(let t of kg())if(vu(t))return!0;return!1}function Ww(){if(Ue("bun"))return"bun";for(let e of kg())if(vu(e))return e;let t=process.env.HOME??process.env.USERPROFILE??"";return Ri?`${t}\\.bun\\bin\\bun.exe`:`${t}/.bun/bin/bun`}function kg(){let t=process.env.HOME??process.env.USERPROFILE??"";if(Ri){let e=process.env.LOCALAPPDATA??"";return[...t?[`${t}\\.bun\\bin\\bun.exe`]:[],...e?[`${e}\\bun\\bin\\bun.exe`]:[]]}return t?[`${t}/.bun/bin/bun`]:[]}function Gw(){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(vu(e))return e;try{let r=bg("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 Ut(t,e=["--version"]){try{return Vw(t,e,{encoding:"utf-8",shell:process.platform==="win32",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function Kn(){let e=Sg()?Ww():null;return{javascript:e??process.execPath,typescript:e||(Ue("tsx")?"tsx":Ue("ts-node")?"ts-node":null),python:Ue("python3")?"python3":Ue("python")?"python":null,shell:Ri?Gw()??(Ue("sh")?"sh":Ue("powershell")?"powershell":"cmd.exe"):Ue("bash")?"bash":"sh",ruby:Ue("ruby")?"ruby":null,go:Ue("go")?"go":null,rust:Ue("rustc")?"rustc":null,php:Ue("php")?"php":null,perl:Ue("perl")?"perl":null,r:Ue("Rscript")?"Rscript":Ue("r")?"r":null,elixir:Ue("elixir")?"elixir":null}}function Jn(){return Sg()}function Oi(t){let e=[],r=t.javascript?.endsWith("bun")??!1;return e.push(` JavaScript: ${t.javascript} (${Ut(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${Ut(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${Ut(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${Ut(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${Ut(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${Ut(t.go,["version"])})`),t.rust&&e.push(` Rust: ${t.rust} (${Ut(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${Ut(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${Ut(t.perl)})`),t.r&&e.push(` R: ${t.r} (${Ut(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${Ut(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(`
3
- `)}function Ci(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 wg(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 Ri,Ii=v(()=>{"use strict";Ri=process.platform==="win32"});var $g,Eg=v(()=>{"use strict";$g={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot","JetBrains Client":"jetbrains-copilot","IntelliJ IDEA":"jetbrains-copilot",PyCharm:"jetbrains-copilot",Codex:"codex","codex-mcp-client":"codex","Kilo Code":"kilo","Kiro CLI":"kiro","Pi CLI":"pi","Pi Coding Agent":"pi",Zed:"zed",zed:"zed","qwen-code":"qwen-code","qwen-cli-mcp-client":"qwen-code"}});import{createHash as Tg}from"node:crypto";import{join as bu}from"node:path";import{accessSync as Kw,copyFileSync as Jw,constants as Yw,mkdirSync as Xw}from"node:fs";import{homedir as Qw}from"node:os";var Pe,Zt=v(()=>{"use strict";Pe=class{constructor(e){this.sessionDirSegments=e}sessionDirSegments;getSessionDir(){let e=bu(Qw(),...this.sessionDirSegments,"context-mode","sessions");return Xw(e,{recursive:!0}),e}getSessionDBPath(e){let r=Tg("sha256").update(e).digest("hex").slice(0,16);return bu(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Tg("sha256").update(e).digest("hex").slice(0,16);return bu(this.getSessionDir(),`${r}-events.md`)}backupSettings(){let e=this.getSettingsPath();try{Kw(e,Yw.R_OK);let r=e+".bak";return Jw(e,r),r}catch{return null}}}});var Yn,Su=v(()=>{"use strict";Zt();Yn=class extends Pe{parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env[this.projectDirEnvVar],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[this.projectDirEnvVar],raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env[this.projectDirEnvVar],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[this.projectDirEnvVar],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??""}}});function rs(t,e){let r=ts[e],n=ku(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function ku(t,e){if(e){let r=ts[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function wu(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function $u(t){let e=Object.values(ts);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var Ht,e$,Pg,t$,PD,ts,Rg,RD,Og=v(()=>{"use strict";Ht={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},e$=["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"],Pg=e$.join("|"),t$=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],PD=t$.join("|"),ts={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},Rg=[Ht.PRE_TOOL_USE,Ht.SESSION_START],RD=[Ht.POST_TOOL_USE,Ht.PRE_COMPACT,Ht.USER_PROMPT_SUBMIT]});var Tu={};Me(Tu,{ClaudeCodeAdapter:()=>Eu});import{readFileSync as Ai,writeFileSync as Cg,existsSync as r$,readdirSync as n$,chmodSync as o$,accessSync as s$,constants as i$}from"node:fs";import{resolve as sn,join as Ig}from"node:path";import{homedir as ns}from"node:os";var Eu,Pu=v(()=>{"use strict";Su();Og();Eu=class extends Yn{constructor(){super([".claude"])}name="Claude Code";paradigm="json-stdio";projectDirEnvVar="CLAUDE_PROJECT_DIR";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};getSettingsPath(){return sn(ns(),".claude","settings.json")}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=Ai(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Cg(this.getSettingsPath(),JSON.stringify(e,null,2)+`
4
- `,"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,Ht.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,Ht.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=[Ig(e,"hooks","hooks.json"),Ig(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=Ai(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=>rs(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>rs(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=sn(ns(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Ai(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=[sn(ns(),".claude"),sn(ns(),".config","claude")];for(let r of e){let n=sn(r,"plugins","cache","context-mode","context-mode");try{let s=n$(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(!$u(m))return!0;let h=m.hooks??[];return h.every(f=>!f.command||!wu(f.command))?!0:h.every(f=>{let g=f.command?wu(f.command):null;return g?r$(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&&Rg.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=>!$u(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=[Ht.PRE_TOOL_USE,Ht.SESSION_START];for(let a of i){let c=ku(a,e);if(a===Ht.PRE_TOOL_USE){let u={matcher:Pg,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(m=>rs(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=>rs(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}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(ts)){let o=sn(e,"hooks",n);try{s$(o,i$.R_OK),o$(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=sn(ns(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Ai(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();Cg(n,JSON.stringify(o,null,2)+`
5
- `,"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 Xn(t,e){let r=Ru[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var Re,Ru,jD,MD,Ag=v(()=>{"use strict";Re={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Ru={[Re.BEFORE_TOOL]:"beforetool.mjs",[Re.AFTER_TOOL]:"aftertool.mjs",[Re.PRE_COMPRESS]:"precompress.mjs",[Re.SESSION_START]:"sessionstart.mjs"},jD=[Re.BEFORE_TOOL,Re.SESSION_START],MD=[Re.AFTER_TOOL,Re.PRE_COMPRESS]});var zg={};Me(zg,{GeminiCLIAdapter:()=>Cu});import{readFileSync as Ou,writeFileSync as Ng,mkdirSync as a$,accessSync as c$,chmodSync as u$,constants as l$}from"node:fs";import{resolve as os,join as d$}from"node:path";import{homedir as Ni}from"node:os";var Cu,jg=v(()=>{"use strict";Zt();Ag();Cu=class extends Pe{constructor(){super([".gemini"])}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 os(Ni(),".gemini","settings.json")}generateHookConfig(e){return{[Re.BEFORE_TOOL]:[{matcher:"run_shell_command|read_file|read_many_files|grep_search|search_file_content|web_fetch|activate_skill|mcp__plugin_context-mode",hooks:[{type:"command",command:Xn(Re.BEFORE_TOOL,e)}]}],[Re.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:Xn(Re.AFTER_TOOL,e)}]}],[Re.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:Xn(Re.PRE_COMPRESS,e)}]}],[Re.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Xn(Re.SESSION_START,e)}]}]}}readSettings(){try{let e=Ou(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=os(Ni(),".gemini");a$(r,{recursive:!0}),Ng(this.getSettingsPath(),JSON.stringify(e,null,2)+`
6
- `,"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?.[Re.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?.[Re.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=os(Ni(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Ou(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:Re.BEFORE_TOOL},{name:Re.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:Xn(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}setHookPermissions(e){let r=[],n=d$(e,"hooks","gemini-cli");for(let o of Object.values(Ru)){let s=os(n,o);try{c$(s,l$.R_OK),u$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=os(Ni(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Ou(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),Ng(n,JSON.stringify(o,null,2)+`
7
- `,"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 an,qD,BD,Mg=v(()=>{"use strict";an={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},qD=[an.BEFORE,an.AFTER],BD=[an.COMPACTING]});var Lg={};Me(Lg,{OpenCodeAdapter:()=>Iu});import{readFileSync as Dg,writeFileSync as m$,mkdirSync as f$,copyFileSync as h$,accessSync as g$,constants as _$}from"node:fs";import{resolve as rr,join as cn}from"node:path";import{homedir as Ir}from"node:os";function p$(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var Iu,Fg=v(()=>{"use strict";Zt();Mg();Iu=class extends Pe{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"){super([".config",e]),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??rr(`${this.platform}.json`)}paths(){return this.platform==="kilo"?[rr("kilo.json"),rr("kilo.jsonc"),rr(".kilo","kilo.json"),rr(".kilo","kilo.jsonc"),cn(Ir(),".config","kilo","kilo.json"),cn(Ir(),".config","kilo","kilo.jsonc")]:[rr("opencode.json"),rr("opencode.jsonc"),rr(".opencode","opencode.json"),rr(".opencode","opencode.jsonc"),cn(Ir(),".config","opencode","opencode.json"),cn(Ir(),".config","opencode","opencode.jsonc")]}getSessionDir(){let e;process.platform==="win32"?e=process.env.APPDATA||cn(Ir(),"AppData","Roaming"):e=process.env.XDG_CONFIG_HOME||cn(Ir(),".config");let r=cn(e,this.platform,"context-mode","sessions");return f$(r,{recursive:!0}),r}generateHookConfig(e){return{[an.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[an.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[an.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(Ir()))),n=null,o;for(let s of e)try{let i=Dg(s,"utf-8"),a=s.endsWith(".jsonc")?p$(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){m$(this.getSettingsPath(),JSON.stringify(e,null,2)+`
8
- `,"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=rr(Ir(),".cache",this.platform,"node_modules","context-mode","package.json"),r=JSON.parse(Dg(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{g$(this.settingsPath,_$.R_OK);let r=this.settingsPath+".bak";return h$(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 un,XD,QD,Ug=v(()=>{"use strict";un={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},XD=[un.TOOL_CALL_BEFORE,un.TOOL_CALL_AFTER],QD=[un.COMMAND_NEW]});var Hg={};Me(Hg,{OpenClawAdapter:()=>zu});import{readFileSync as Au,writeFileSync as y$,copyFileSync as x$,accessSync as v$,constants as b$}from"node:fs";import{resolve as Ar,join as Zg}from"node:path";import{homedir as Nu}from"node:os";var zu,qg=v(()=>{"use strict";Zt();Ug();zu=class extends Pe{constructor(){super([".openclaw"])}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 Ar("openclaw.json")}generateHookConfig(e){return{[un.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[un.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[un.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[Ar("openclaw.json"),Ar(".openclaw","openclaw.json"),Zg(Nu(),".openclaw","openclaw.json")];for(let r of e)try{let n=Au(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=Ar("openclaw.json");y$(r,JSON.stringify(e,null,2)+`
9
- `,"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=Ar(Nu(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Au(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=Ar("node_modules","context-mode","package.json"),r=JSON.parse(Au(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=[Ar("openclaw.json"),Ar(".openclaw","openclaw.json"),Zg(Nu(),".openclaw","openclaw.json")];for(let r of e)try{v$(r,b$.R_OK);let n=r+".bak";return x$(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}extractSessionId(e){return e.sessionId?e.sessionId:`pid-${process.ppid}`}}});var Vg={};Me(Vg,{CodexAdapter:()=>Mu});import{readFileSync as ju}from"node:fs";import{resolve as Bg,dirname as S$}from"node:path";import{fileURLToPath as k$}from"node:url";import{homedir as w$}from"node:os";var Mu,Wg=v(()=>{"use strict";Zt();Mu=class extends Pe{constructor(){super([".codex"])}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 Bg(w$(),".codex","config.toml")}generateHookConfig(e){return{PreToolUse:[{matcher:"local_shell|shell|shell_command|exec_command|container.exec|Bash|Shell|grep_files|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",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:ju(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"pass",message:"Codex CLI hooks are stable. Configure ~/.codex/hooks.json for PreToolUse, PostToolUse, and SessionStart."}]}checkPluginRegistration(){try{let e=ju(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[]}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Bg(S$(k$(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return ju(e,"utf-8")}catch{return`# context-mode
2
+ var gw=Object.create;var uu=Object.defineProperty;var _w=Object.getOwnPropertyDescriptor;var yw=Object.getOwnPropertyNames;var xw=Object.getPrototypeOf,vw=Object.prototype.hasOwnProperty;var sg=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var v=(t,e)=>()=>(t&&(e=t(t=0)),e);var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Me=(t,e)=>{for(var r in e)uu(t,r,{get:e[r],enumerable:!0})},Sw=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of yw(e))!vw.call(t,o)&&o!==r&&uu(t,o,{get:()=>e[o],enumerable:!(n=_w(e,o))||n.enumerable});return t};var ts=(t,e,r)=>(r=t!=null?gw(xw(t)):{},Sw(e||!t||!t.__esModule?uu(r,"default",{value:t,enumerable:!0}):r,t));var gu=R((XD,yg)=>{"use strict";var hu={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"},Cw={up:(t=1)=>"\x1B[S".repeat(t),down:(t=1)=>"\x1B[T".repeat(t)},Iw={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<t;r++)e+=this.line+(r<t-1?hu.up():"");return t&&(e+=hu.left),e}};yg.exports={cursor:hu,scroll:Cw,erase:Iw,beep:"\x07"}});var $g=R((NM,ku)=>{var Ni=process||{},kg=Ni.argv||[],Ai=Ni.env||{},n$=!(Ai.NO_COLOR||kg.includes("--no-color"))&&(!!Ai.FORCE_COLOR||kg.includes("--color")||Ni.platform==="win32"||(Ni.stdout||{}).isTTY&&Ai.TERM!=="dumb"||!!Ai.CI),o$=(t,e,r=t)=>n=>{let o=""+n,s=o.indexOf(e,t.length);return~s?t+s$(o,e,r,s)+e:t+o+e},s$=(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)},wg=(t=n$)=>{let e=t?o$:()=>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")}};ku.exports=wg();ku.exports.createColors=wg});import{execFileSync as i$,execSync as Eg}from"node:child_process";import{existsSync as wu}from"node:fs";function He(t){try{let e=zi?`where ${t}`:`command -v ${t}`;return Eg(e,{stdio:"pipe"}),!0}catch{return!1}}function Tg(){if(He("bun"))return!0;for(let t of Pg())if(wu(t))return!0;return!1}function a$(){if(He("bun"))return"bun";for(let e of Pg())if(wu(e))return e;let t=process.env.HOME??process.env.USERPROFILE??"";return zi?`${t}\\.bun\\bin\\bun.exe`:`${t}/.bun/bin/bun`}function Pg(){let t=process.env.HOME??process.env.USERPROFILE??"";if(zi){let e=process.env.LOCALAPPDATA??"";return[...t?[`${t}\\.bun\\bin\\bun.exe`]:[],...e?[`${e}\\bun\\bin\\bun.exe`]:[]]}return t?[`${t}/.bun/bin/bun`]:[]}function c$(){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(wu(e))return e;try{let r=Eg("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 Zt(t,e=["--version"]){try{return i$(t,e,{encoding:"utf-8",shell:process.platform==="win32",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function Yn(){let e=Tg()?a$():null;return{javascript:e??process.execPath,typescript:e||(He("tsx")?"tsx":He("ts-node")?"ts-node":null),python:He("python3")?"python3":He("python")?"python":null,shell:zi?c$()??(He("sh")?"sh":He("powershell")?"powershell":"cmd.exe"):He("bash")?"bash":"sh",ruby:He("ruby")?"ruby":null,go:He("go")?"go":null,rust:He("rustc")?"rustc":null,php:He("php")?"php":null,perl:He("perl")?"perl":null,r:He("Rscript")?"Rscript":He("r")?"r":null,elixir:He("elixir")?"elixir":null}}function Xn(){return Tg()}function ji(t){let e=[],r=t.javascript?.endsWith("bun")??!1;return e.push(` JavaScript: ${t.javascript} (${Zt(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${Zt(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${Zt(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${Zt(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${Zt(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${Zt(t.go,["version"])})`),t.rust&&e.push(` Rust: ${t.rust} (${Zt(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${Zt(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${Zt(t.perl)})`),t.r&&e.push(` R: ${t.r} (${Zt(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${Zt(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(`
3
+ `)}function Di(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 Rg(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 zi,Mi=v(()=>{"use strict";zi=process.platform==="win32"});var Og,Cg=v(()=>{"use strict";Og={"claude-code":"claude-code","gemini-cli-mcp-client":"gemini-cli","antigravity-client":"antigravity","cursor-vscode":"cursor","Visual-Studio-Code":"vscode-copilot","JetBrains Client":"jetbrains-copilot","IntelliJ IDEA":"jetbrains-copilot",PyCharm:"jetbrains-copilot",Codex:"codex","codex-mcp-client":"codex","Kilo Code":"kilo","Kiro CLI":"kiro","Pi CLI":"pi","Pi Coding Agent":"pi",Zed:"zed",zed:"zed","qwen-code":"qwen-code","qwen-cli-mcp-client":"qwen-code"}});import{createHash as Ig}from"node:crypto";import{join as $u}from"node:path";import{accessSync as u$,copyFileSync as l$,constants as d$,mkdirSync as p$}from"node:fs";import{homedir as m$}from"node:os";var Re,Ht=v(()=>{"use strict";Re=class{constructor(e){this.sessionDirSegments=e}getSessionDir(){let e=$u(m$(),...this.sessionDirSegments,"context-mode","sessions");return p$(e,{recursive:!0}),e}getSessionDBPath(e){let r=Ig("sha256").update(e).digest("hex").slice(0,16);return $u(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Ig("sha256").update(e).digest("hex").slice(0,16);return $u(this.getSessionDir(),`${r}-events.md`)}backupSettings(){let e=this.getSettingsPath();try{u$(e,d$.R_OK);let r=e+".bak";return l$(e,r),r}catch{return null}}}});var Qn,Eu=v(()=>{"use strict";Ht();Qn=class extends Re{parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env[this.projectDirEnvVar]??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[this.projectDirEnvVar]??process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env[this.projectDirEnvVar]??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[this.projectDirEnvVar]??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{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??""}}});function ss(t,e){let r=os[e],n=Tu(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function Tu(t,e){if(e){let r=os[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}function Pu(t){return t.match(/node\s+"?([^"]+\.mjs)"?/)?.[1]??null}function Ru(t){let e=Object.values(os);return t.hooks?.some(r=>r.command!=null&&(e.some(n=>r.command.includes(n))||r.command.includes("context-mode hook")))??!1}var qt,f$,Ag,h$,VM,os,Ng,WM,zg=v(()=>{"use strict";qt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},f$=["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"],Ag=f$.join("|"),h$=["Bash","Read","Write","Edit","NotebookEdit","Glob","Grep","TodoWrite","TaskCreate","TaskUpdate","EnterPlanMode","ExitPlanMode","Skill","Agent","AskUserQuestion","EnterWorktree","mcp__"],VM=h$.join("|"),os={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},Ng=[qt.PRE_TOOL_USE,qt.SESSION_START],WM=[qt.POST_TOOL_USE,qt.PRE_COMPACT,qt.USER_PROMPT_SUBMIT]});var Cu={};Me(Cu,{ClaudeCodeAdapter:()=>Ou});import{readFileSync as Li,writeFileSync as jg,existsSync as g$,readdirSync as _$,chmodSync as y$,accessSync as x$,constants as v$}from"node:fs";import{resolve as an,join as Dg}from"node:path";import{homedir as is}from"node:os";var Ou,Iu=v(()=>{"use strict";Eu();zg();Ou=class extends Qn{constructor(){super([".claude"])}name="Claude Code";paradigm="json-stdio";projectDirEnvVar="CLAUDE_PROJECT_DIR";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};getSettingsPath(){return an(is(),".claude","settings.json")}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=Li(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){jg(this.getSettingsPath(),JSON.stringify(e,null,2)+`
4
+ `,"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,qt.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,qt.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=[Dg(e,"hooks","hooks.json"),Dg(e,".claude-plugin","hooks","hooks.json")];for(let n of r)try{let o=Li(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=>ss(i,n)))return!0;let s=r?.[n];return!!(s&&s.length>0&&s.some(i=>ss(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=an(is(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Li(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=[an(is(),".claude"),an(is(),".config","claude")];for(let r of e){let n=an(r,"plugins","cache","context-mode","context-mode");try{let s=_$(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(!Ru(m))return!0;let f=m.hooks??[];return f.every(h=>!h.command||!Pu(h.command))?!0:f.every(h=>{let g=h.command?Pu(h.command):null;return g?g$(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&&Ng.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=>!Ru(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=[qt.PRE_TOOL_USE,qt.SESSION_START];for(let a of i){let c=Tu(a,e);if(a===qt.PRE_TOOL_USE){let u={matcher:Ag,hooks:[{type:"command",command:c}]},l=n.PreToolUse;if(l&&Array.isArray(l)){let d=l.findIndex(m=>ss(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=>ss(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}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(os)){let o=an(e,"hooks",n);try{x$(o,v$.R_OK),y$(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=an(is(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Li(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();jg(n,JSON.stringify(o,null,2)+`
5
+ `,"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 eo(t,e){let r=Au[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var Ce,Au,eL,tL,Mg=v(()=>{"use strict";Ce={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Au={[Ce.BEFORE_TOOL]:"beforetool.mjs",[Ce.AFTER_TOOL]:"aftertool.mjs",[Ce.PRE_COMPRESS]:"precompress.mjs",[Ce.SESSION_START]:"sessionstart.mjs"},eL=[Ce.BEFORE_TOOL,Ce.SESSION_START],tL=[Ce.AFTER_TOOL,Ce.PRE_COMPRESS]});var Fg={};Me(Fg,{GeminiCLIAdapter:()=>zu});import{readFileSync as Nu,writeFileSync as Lg,mkdirSync as S$,accessSync as b$,chmodSync as k$,constants as w$}from"node:fs";import{resolve as as,join as $$}from"node:path";import{homedir as Fi}from"node:os";var zu,Ug=v(()=>{"use strict";Ht();Mg();zu=class extends Re{constructor(){super([".gemini"])}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 as(Fi(),".gemini","settings.json")}generateHookConfig(e){return{[Ce.BEFORE_TOOL]:[{matcher:"run_shell_command|read_file|read_many_files|grep_search|search_file_content|web_fetch|activate_skill|mcp__plugin_context-mode",hooks:[{type:"command",command:eo(Ce.BEFORE_TOOL,e)}]}],[Ce.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:eo(Ce.AFTER_TOOL,e)}]}],[Ce.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:eo(Ce.PRE_COMPRESS,e)}]}],[Ce.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:eo(Ce.SESSION_START,e)}]}]}}readSettings(){try{let e=Nu(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=as(Fi(),".gemini");S$(r,{recursive:!0}),Lg(this.getSettingsPath(),JSON.stringify(e,null,2)+`
6
+ `,"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?.[Ce.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?.[Ce.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=as(Fi(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Nu(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:Ce.BEFORE_TOOL},{name:Ce.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:eo(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(f=>f.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}setHookPermissions(e){let r=[],n=$$(e,"hooks","gemini-cli");for(let o of Object.values(Au)){let s=as(n,o);try{b$(s,w$.R_OK),k$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=as(Fi(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Nu(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),Lg(n,JSON.stringify(o,null,2)+`
7
+ `,"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 cn,cL,uL,Zg=v(()=>{"use strict";cn={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},cL=[cn.BEFORE,cn.AFTER],uL=[cn.COMPACTING]});var qg={};Me(qg,{OpenCodeAdapter:()=>ju});import{readFileSync as Hg,writeFileSync as T$,mkdirSync as P$,copyFileSync as R$,accessSync as O$,constants as C$}from"node:fs";import{resolve as nr,join as un}from"node:path";import{homedir as Nr}from"node:os";function E$(t){return t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/,(\s*[}\]])/g,"$1")}var ju,Bg=v(()=>{"use strict";Ht();Zg();ju=class extends Re{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"){super([".config",e]),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??nr(`${this.platform}.json`)}paths(){return this.platform==="kilo"?[nr("kilo.json"),nr("kilo.jsonc"),nr(".kilo","kilo.json"),nr(".kilo","kilo.jsonc"),un(Nr(),".config","kilo","kilo.json"),un(Nr(),".config","kilo","kilo.jsonc")]:[nr("opencode.json"),nr("opencode.jsonc"),nr(".opencode","opencode.json"),nr(".opencode","opencode.jsonc"),un(Nr(),".config","opencode","opencode.json"),un(Nr(),".config","opencode","opencode.jsonc")]}getSessionDir(){let e;process.platform==="win32"?e=process.env.APPDATA||un(Nr(),"AppData","Roaming"):e=process.env.XDG_CONFIG_HOME||un(Nr(),".config");let r=un(e,this.platform,"context-mode","sessions");return P$(r,{recursive:!0}),r}generateHookConfig(e){return{[cn.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[cn.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[cn.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(Nr()))),n=null,o;for(let s of e)try{let i=Hg(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)+`
8
+ `,"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=nr(Nr(),".cache",this.platform,"node_modules","context-mode","package.json"),r=JSON.parse(Hg(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,C$.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 ln,gL,_L,Vg=v(()=>{"use strict";ln={TOOL_CALL_BEFORE:"tool_call:before",TOOL_CALL_AFTER:"tool_call:after",COMMAND_NEW:"command:new",COMMAND_RESET:"command:reset",COMMAND_STOP:"command:stop"},gL=[ln.TOOL_CALL_BEFORE,ln.TOOL_CALL_AFTER],_L=[ln.COMMAND_NEW]});var Gg={};Me(Gg,{OpenClawAdapter:()=>Lu});import{readFileSync as Du,writeFileSync as I$,copyFileSync as A$,accessSync as N$,constants as z$}from"node:fs";import{resolve as zr,join as Wg}from"node:path";import{homedir as Mu}from"node:os";var Lu,Kg=v(()=>{"use strict";Ht();Vg();Lu=class extends Re{constructor(){super([".openclaw"])}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 zr("openclaw.json")}generateHookConfig(e){return{[ln.TOOL_CALL_BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[ln.TOOL_CALL_AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[ln.COMMAND_NEW]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[zr("openclaw.json"),zr(".openclaw","openclaw.json"),Wg(Mu(),".openclaw","openclaw.json")];for(let r of e)try{let n=Du(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=zr("openclaw.json");I$(r,JSON.stringify(e,null,2)+`
9
+ `,"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=zr(Mu(),".openclaw","extensions","context-mode","package.json"),r=JSON.parse(Du(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}try{let e=zr("node_modules","context-mode","package.json"),r=JSON.parse(Du(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=[zr("openclaw.json"),zr(".openclaw","openclaw.json"),Wg(Mu(),".openclaw","openclaw.json")];for(let r of e)try{N$(r,z$.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 Yg={};Me(Yg,{CodexAdapter:()=>Uu});import{readFileSync as Fu}from"node:fs";import{resolve as Jg,dirname as j$}from"node:path";import{fileURLToPath as D$}from"node:url";import{homedir as M$}from"node:os";var Uu,Xg=v(()=>{"use strict";Ht();Uu=class extends Re{constructor(){super([".codex"])}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 Jg(M$(),".codex","config.toml")}generateHookConfig(e){return{PreToolUse:[{matcher:"local_shell|shell|shell_command|exec_command|container.exec|Bash|Shell|grep_files|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",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`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/codex/userpromptsubmit.mjs`}]}],Stop:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/codex/stop.mjs`}]}]}}readSettings(){try{return{_raw_toml:Fu(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"pass",message:"Codex CLI hooks are stable. Configure ~/.codex/hooks.json for PreToolUse, PostToolUse, SessionStart, UserPromptSubmit, and Stop."}]}checkPluginRegistration(){try{let e=Fu(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[]}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Jg(j$(D$(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Fu(e,"utf-8")}catch{return`# context-mode
10
10
 
11
- 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}`}}});import{readFileSync as Gg,writeFileSync as $$,mkdirSync as E$,accessSync as T$,chmodSync as P$,constants as R$}from"node:fs";import{resolve as zi,join as O$}from"node:path";var Qn,Du=v(()=>{"use strict";Zt();Qn=class extends Pe{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{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:this.hookModule.HOOK_TYPES.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:this.hookModule.HOOK_TYPES.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:this.hookModule.HOOK_TYPES.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:this.hookModule.HOOK_TYPES.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return zi(".github","hooks","context-mode.json")}generateHookConfig(e){let{HOOK_TYPES:r,buildHookCommand:n}=this.hookModule;return{[r.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:n(r.PRE_TOOL_USE,e)}]}],[r.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:n(r.POST_TOOL_USE,e)}]}],[r.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:n(r.PRE_COMPACT,e)}]}],[r.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:n(r.SESSION_START,e)}]}]}}readSettings(){try{let e=Gg(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{}try{let e=Gg(zi(".claude","settings.json"),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();E$(zi(".github","hooks"),{recursive:!0}),$$(r,JSON.stringify(e,null,2)+`
12
- `,"utf-8")}configureAllHooks(e){let r=[],n=this.readSettings()??{},o=n.hooks??{},{HOOK_TYPES:s,HOOK_SCRIPTS:i,buildHookCommand:a}=this.hookModule,c=[s.PRE_TOOL_USE,s.POST_TOOL_USE,s.PRE_COMPACT,s.SESSION_START];for(let u of c)i[u]&&(o[u]=[{matcher:"",hooks:[{type:"command",command:a(u,e)}]}],r.push(`Configured ${u} hook`));return n.hooks=o,this.writeSettings(n),r.push(`Wrote hook config to ${this.getSettingsPath()}`),r}setHookPermissions(e){let r=[],n=O$(e,"hooks",this.hookSubdir);for(let o of Object.values(this.hookModule.HOOK_SCRIPTS)){let s=zi(n,o);try{T$(s,R$.R_OK),P$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}}});function Kg(t,e){let r=Lu[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 wt,Lu,hL,gL,Jg=v(()=>{"use strict";wt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Lu={[wt.PRE_TOOL_USE]:"pretooluse.mjs",[wt.POST_TOOL_USE]:"posttooluse.mjs",[wt.PRE_COMPACT]:"precompact.mjs",[wt.SESSION_START]:"sessionstart.mjs"},hL=[wt.PRE_TOOL_USE,wt.SESSION_START],gL=[wt.POST_TOOL_USE,wt.PRE_COMPACT]});var Yg={};Me(Yg,{VSCodeCopilotAdapter:()=>Zu});import{readFileSync as Fu,mkdirSync as C$,accessSync as I$,existsSync as A$,constants as N$}from"node:fs";import{resolve as ss,join as ji}from"node:path";import{homedir as Uu}from"node:os";var Zu,Xg=v(()=>{"use strict";Du();Jg();Zu=class extends Qn{constructor(){super([".vscode"])}name="VS Code Copilot";hookModule={HOOK_TYPES:wt,HOOK_SCRIPTS:Lu,buildHookCommand:Kg};hookSubdir="vscode-copilot";extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}getProjectDir(){return process.env.CLAUDE_PROJECT_DIR||process.cwd()}getSessionDir(){let e=ss(".github","context-mode","sessions"),r=ji(Uu(),".vscode","context-mode","sessions"),n=A$(ss(".github"))?e:r;return C$(n,{recursive:!0}),n}validateHooks(e){let r=[],n=ss(".github","hooks");try{I$(n,N$.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=ss(n,"context-mode.json");try{let s=Fu(o,"utf-8"),a=JSON.parse(s).hooks;a?.[wt.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?.[wt.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=ss(".vscode","mcp.json"),r=Fu(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=[ji(Uu(),".vscode","extensions"),ji(Uu(),".vscode-insiders","extensions")];for(let r of e)try{let n=Fu(ji(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"}}});function Qg(t,e){let r=Hu[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/jetbrains-copilot/${r}"`:`context-mode hook jetbrains-copilot ${t.toLowerCase()}`}var $t,Hu,kL,wL,e_=v(()=>{"use strict";$t={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Hu={[$t.PRE_TOOL_USE]:"pretooluse.mjs",[$t.POST_TOOL_USE]:"posttooluse.mjs",[$t.PRE_COMPACT]:"precompact.mjs",[$t.SESSION_START]:"sessionstart.mjs"},kL=[$t.PRE_TOOL_USE,$t.SESSION_START],wL=[$t.POST_TOOL_USE,$t.PRE_COMPACT]});var t_={};Me(t_,{JetBrainsCopilotAdapter:()=>qu});import{readFileSync as z$}from"node:fs";var qu,r_=v(()=>{"use strict";Du();e_();qu=class extends Qn{constructor(){super([".config","JetBrains"])}name="JetBrains Copilot";hookModule={HOOK_TYPES:$t,HOOK_SCRIPTS:Hu,buildHookCommand:Qg};hookSubdir="jetbrains-copilot";extractSessionId(e){return e.sessionId?e.sessionId:process.env.JETBRAINS_CLIENT_ID?`jetbrains-${process.env.JETBRAINS_CLIENT_ID}`:process.env.IDEA_HOME?`idea-${process.pid}`:`pid-${process.ppid}`}getProjectDir(){return process.env.IDEA_INITIAL_DIRECTORY||process.env.CLAUDE_PROJECT_DIR||process.cwd()}validateHooks(e){let r=[];try{let n=z$(this.getSettingsPath(),"utf-8"),s=JSON.parse(n).hooks;s?.[$t.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in .github/hooks/context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in .github/hooks/context-mode.json",fix:"context-mode upgrade"}),s?.[$t.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in .github/hooks/context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in .github/hooks/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:"Hook scripts",status:"warn",message:`JetBrains hook wrappers should resolve to ${e}/hooks/jetbrains-copilot/*.mjs`}),r}checkPluginRegistration(){return{check:"MCP registration",status:"warn",message:"JetBrains stores MCP config via Settings UI \u2014 not CLI-inspectable",fix:"Verify in IDE: Settings > Tools > GitHub Copilot > MCP > ensure a context-mode server entry exists"}}getInstalledVersion(){let r=this.readSettings()?.hooks;return r&&Object.keys(r).length>0?"configured":"unknown"}}});function Mi(t,e){let r=Bu[e],n=Et(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 Et(t){return`context-mode hook cursor ${t.toLowerCase()}`}var pe,Bu,j$,Vu,n_,o_,s_=v(()=>{"use strict";pe={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Bu={[pe.PRE_TOOL_USE]:"pretooluse.mjs",[pe.POST_TOOL_USE]:"posttooluse.mjs",[pe.SESSION_START]:"sessionstart.mjs",[pe.STOP]:"stop.mjs"},j$=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Vu=j$.join("|"),n_=[pe.PRE_TOOL_USE],o_=[pe.POST_TOOL_USE]});var c_={};Me(c_,{CursorAdapter:()=>Ku});import{readFileSync as Wu,writeFileSync as M$,mkdirSync as D$,accessSync as L$,chmodSync as F$,constants as U$,existsSync as i_}from"node:fs";import{execSync as Z$}from"node:child_process";import{resolve as eo,join as Di}from"node:path";import{homedir as Gu}from"node:os";var a_,Ku,u_=v(()=>{"use strict";Zt();s_();a_="/Library/Application Support/Cursor/hooks.json",Ku=class extends Pe{constructor(){super([".cursor"])}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 eo(".cursor","hooks.json")}generateHookConfig(e){return{[pe.PRE_TOOL_USE]:[{type:"command",command:Et(pe.PRE_TOOL_USE),matcher:Vu,loop_limit:null,failClosed:!1}],[pe.POST_TOOL_USE]:[{type:"command",command:Et(pe.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[pe.SESSION_START]:[{type:"command",command:Et(pe.SESSION_START),loop_limit:null,failClosed:!1}],[pe.STOP]:[{type:"command",command:Et(pe.STOP),loop_limit:null,failClosed:!1}],[pe.AFTER_AGENT_RESPONSE]:[{type:"command",command:Et(pe.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=Wu(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();D$(eo(".cursor"),{recursive:!0}),M$(r,JSON.stringify(e,null,2)+`
13
- `,"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 n_){let i=o[s],a=Array.isArray(i)&&i.some(c=>Mi(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 o_){let i=o[s],a=Array.isArray(i)&&i.some(c=>Mi(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 i_(a_)&&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=[eo(".cursor","mcp.json"),Di(Gu(),".cursor","mcp.json")];for(let r of e)try{let n=Wu(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 Z$("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,pe.PRE_TOOL_USE,{type:"command",command:Et(pe.PRE_TOOL_USE),matcher:Vu,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,pe.POST_TOOL_USE,{type:"command",command:Et(pe.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,pe.SESSION_START,{type:"command",command:Et(pe.SESSION_START),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,pe.STOP,{type:"command",command:Et(pe.STOP),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,pe.AFTER_AGENT_RESPONSE,{type:"command",command:Et(pe.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}setHookPermissions(e){let r=[],n=Di(e,"hooks","cursor");for(let o of Object.values(Bu)){let s=eo(n,o);try{L$(s,U$.R_OK),F$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),Di(Gu(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(a_),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=Wu(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[eo(".claude","settings.json"),eo(".claude","settings.local.json"),Di(Gu(),".claude","settings.json")].some(r=>i_(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>Mi(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_={};Me(p_,{AntigravityAdapter:()=>Yu});import{readFileSync as Li,writeFileSync as H$,mkdirSync as q$}from"node:fs";import{resolve as Ju,dirname as l_}from"node:path";import{fileURLToPath as B$}from"node:url";import{homedir as d_}from"node:os";var Yu,m_=v(()=>{"use strict";Zt();Yu=class extends Pe{constructor(){super([".gemini"])}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 Ju(d_(),".gemini","antigravity","mcp_config.json")}generateHookConfig(e){return{}}readSettings(){try{let e=Li(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();q$(l_(r),{recursive:!0}),H$(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=Li(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=Ju(d_(),".gemini","extensions","context-mode","package.json");return JSON.parse(Li(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=Ju(l_(B$(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Li(e,"utf-8")}catch{return`# context-mode
11
+ 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}`}}});import{readFileSync as Qg,writeFileSync as L$,mkdirSync as F$,accessSync as U$,chmodSync as Z$,constants as H$}from"node:fs";import{resolve as Ui,join as q$}from"node:path";var to,Zu=v(()=>{"use strict";Ht();to=class extends Re{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{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:this.hookModule.HOOK_TYPES.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:this.hookModule.HOOK_TYPES.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:this.hookModule.HOOK_TYPES.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:this.hookModule.HOOK_TYPES.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Ui(".github","hooks","context-mode.json")}generateHookConfig(e){let{HOOK_TYPES:r,buildHookCommand:n}=this.hookModule;return{[r.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:n(r.PRE_TOOL_USE,e)}]}],[r.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:n(r.POST_TOOL_USE,e)}]}],[r.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:n(r.PRE_COMPACT,e)}]}],[r.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:n(r.SESSION_START,e)}]}]}}readSettings(){try{let e=Qg(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{}try{let e=Qg(Ui(".claude","settings.json"),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();F$(Ui(".github","hooks"),{recursive:!0}),L$(r,JSON.stringify(e,null,2)+`
12
+ `,"utf-8")}configureAllHooks(e){let r=[],n=this.readSettings()??{},o=n.hooks??{},{HOOK_TYPES:s,HOOK_SCRIPTS:i,buildHookCommand:a}=this.hookModule,c=[s.PRE_TOOL_USE,s.POST_TOOL_USE,s.PRE_COMPACT,s.SESSION_START];for(let u of c)i[u]&&(o[u]=[{matcher:"",hooks:[{type:"command",command:a(u,e)}]}],r.push(`Configured ${u} hook`));return n.hooks=o,this.writeSettings(n),r.push(`Wrote hook config to ${this.getSettingsPath()}`),r}setHookPermissions(e){let r=[],n=q$(e,"hooks",this.hookSubdir);for(let o of Object.values(this.hookModule.HOOK_SCRIPTS)){let s=Ui(n,o);try{U$(s,H$.R_OK),Z$(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}}});function e_(t,e){let r=Hu[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 $t,Hu,AL,NL,t_=v(()=>{"use strict";$t={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Hu={[$t.PRE_TOOL_USE]:"pretooluse.mjs",[$t.POST_TOOL_USE]:"posttooluse.mjs",[$t.PRE_COMPACT]:"precompact.mjs",[$t.SESSION_START]:"sessionstart.mjs"},AL=[$t.PRE_TOOL_USE,$t.SESSION_START],NL=[$t.POST_TOOL_USE,$t.PRE_COMPACT]});var r_={};Me(r_,{VSCodeCopilotAdapter:()=>Vu});import{readFileSync as qu,mkdirSync as B$,accessSync as V$,existsSync as W$,constants as G$}from"node:fs";import{resolve as cs,join as Zi}from"node:path";import{homedir as Bu}from"node:os";var Vu,n_=v(()=>{"use strict";Zu();t_();Vu=class extends to{constructor(){super([".vscode"])}name="VS Code Copilot";hookModule={HOOK_TYPES:$t,HOOK_SCRIPTS:Hu,buildHookCommand:e_};hookSubdir="vscode-copilot";extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}getProjectDir(){return process.env.CLAUDE_PROJECT_DIR||process.cwd()}getSessionDir(){let e=cs(".github","context-mode","sessions"),r=Zi(Bu(),".vscode","context-mode","sessions"),n=W$(cs(".github"))?e:r;return B$(n,{recursive:!0}),n}validateHooks(e){let r=[],n=cs(".github","hooks");try{V$(n,G$.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=cs(n,"context-mode.json");try{let s=qu(o,"utf-8"),a=JSON.parse(s).hooks;a?.[$t.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?.[$t.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=cs(".vscode","mcp.json"),r=qu(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=[Zi(Bu(),".vscode","extensions"),Zi(Bu(),".vscode-insiders","extensions")];for(let r of e)try{let n=qu(Zi(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"}}});function o_(t,e){let r=Wu[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/jetbrains-copilot/${r}"`:`context-mode hook jetbrains-copilot ${t.toLowerCase()}`}var Et,Wu,UL,ZL,s_=v(()=>{"use strict";Et={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Wu={[Et.PRE_TOOL_USE]:"pretooluse.mjs",[Et.POST_TOOL_USE]:"posttooluse.mjs",[Et.PRE_COMPACT]:"precompact.mjs",[Et.SESSION_START]:"sessionstart.mjs"},UL=[Et.PRE_TOOL_USE,Et.SESSION_START],ZL=[Et.POST_TOOL_USE,Et.PRE_COMPACT]});var i_={};Me(i_,{JetBrainsCopilotAdapter:()=>Gu});import{readFileSync as K$}from"node:fs";var Gu,a_=v(()=>{"use strict";Zu();s_();Gu=class extends to{constructor(){super([".config","JetBrains"])}name="JetBrains Copilot";hookModule={HOOK_TYPES:Et,HOOK_SCRIPTS:Wu,buildHookCommand:o_};hookSubdir="jetbrains-copilot";extractSessionId(e){return e.sessionId?e.sessionId:process.env.JETBRAINS_CLIENT_ID?`jetbrains-${process.env.JETBRAINS_CLIENT_ID}`:process.env.IDEA_HOME?`idea-${process.pid}`:`pid-${process.ppid}`}getProjectDir(){return process.env.IDEA_INITIAL_DIRECTORY||process.env.CLAUDE_PROJECT_DIR||process.cwd()}validateHooks(e){let r=[];try{let n=K$(this.getSettingsPath(),"utf-8"),s=JSON.parse(n).hooks;s?.[Et.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in .github/hooks/context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in .github/hooks/context-mode.json",fix:"context-mode upgrade"}),s?.[Et.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in .github/hooks/context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in .github/hooks/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:"Hook scripts",status:"warn",message:`JetBrains hook wrappers should resolve to ${e}/hooks/jetbrains-copilot/*.mjs`}),r}checkPluginRegistration(){return{check:"MCP registration",status:"warn",message:"JetBrains stores MCP config via Settings UI \u2014 not CLI-inspectable",fix:"Verify in IDE: Settings > Tools > GitHub Copilot > MCP > ensure a context-mode server entry exists"}}getInstalledVersion(){let r=this.readSettings()?.hooks;return r&&Object.keys(r).length>0?"configured":"unknown"}}});function Hi(t,e){let r=Ku[e],n=Tt(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 Tt(t){return`context-mode hook cursor ${t.toLowerCase()}`}var fe,Ku,J$,Ju,c_,u_,l_=v(()=>{"use strict";fe={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",SESSION_START:"sessionStart",STOP:"stop",AFTER_AGENT_RESPONSE:"afterAgentResponse"},Ku={[fe.PRE_TOOL_USE]:"pretooluse.mjs",[fe.POST_TOOL_USE]:"posttooluse.mjs",[fe.SESSION_START]:"sessionstart.mjs",[fe.STOP]:"stop.mjs"},J$=["Shell","Read","Grep","WebFetch","mcp_web_fetch","mcp_fetch_tool","Task","MCP:ctx_execute","MCP:ctx_execute_file","MCP:ctx_batch_execute"],Ju=J$.join("|"),c_=[fe.PRE_TOOL_USE],u_=[fe.POST_TOOL_USE]});var m_={};Me(m_,{CursorAdapter:()=>Qu});import{readFileSync as Yu,writeFileSync as Y$,mkdirSync as X$,accessSync as Q$,chmodSync as eE,constants as tE,existsSync as d_}from"node:fs";import{execSync as rE}from"node:child_process";import{resolve as ro,join as qi}from"node:path";import{homedir as Xu}from"node:os";var p_,Qu,f_=v(()=>{"use strict";Ht();l_();p_="/Library/Application Support/Cursor/hooks.json",Qu=class extends Re{constructor(){super([".cursor"])}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 ro(".cursor","hooks.json")}generateHookConfig(e){return{[fe.PRE_TOOL_USE]:[{type:"command",command:Tt(fe.PRE_TOOL_USE),matcher:Ju,loop_limit:null,failClosed:!1}],[fe.POST_TOOL_USE]:[{type:"command",command:Tt(fe.POST_TOOL_USE),loop_limit:null,failClosed:!1}],[fe.SESSION_START]:[{type:"command",command:Tt(fe.SESSION_START),loop_limit:null,failClosed:!1}],[fe.STOP]:[{type:"command",command:Tt(fe.STOP),loop_limit:null,failClosed:!1}],[fe.AFTER_AGENT_RESPONSE]:[{type:"command",command:Tt(fe.AFTER_AGENT_RESPONSE),loop_limit:null,failClosed:!1}]}}readSettings(){for(let e of this.getCandidateHookConfigPaths())try{let r=Yu(e,"utf-8");return JSON.parse(r)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath();X$(ro(".cursor"),{recursive:!0}),Y$(r,JSON.stringify(e,null,2)+`
13
+ `,"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 c_){let i=o[s],a=Array.isArray(i)&&i.some(c=>Hi(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 u_){let i=o[s],a=Array.isArray(i)&&i.some(c=>Hi(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 d_(p_)&&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=[ro(".cursor","mcp.json"),qi(Xu(),".cursor","mcp.json")];for(let r of e)try{let n=Yu(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 rE("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,fe.PRE_TOOL_USE,{type:"command",command:Tt(fe.PRE_TOOL_USE),matcher:Ju,loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,fe.POST_TOOL_USE,{type:"command",command:Tt(fe.POST_TOOL_USE),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,fe.SESSION_START,{type:"command",command:Tt(fe.SESSION_START),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,fe.STOP,{type:"command",command:Tt(fe.STOP),loop_limit:null,failClosed:!1},o),this.upsertHookEntry(n,fe.AFTER_AGENT_RESPONSE,{type:"command",command:Tt(fe.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}setHookPermissions(e){let r=[],n=qi(e,"hooks","cursor");for(let o of Object.values(Ku)){let s=ro(n,o);try{Q$(s,tE.R_OK),eE(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getCandidateHookConfigPaths(){let e=[this.getSettingsPath(),qi(Xu(),".cursor","hooks.json")];return process.platform==="darwin"&&e.push(p_),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=Yu(e,"utf-8"),n=JSON.parse(r);if(n&&typeof n=="object")return{path:e,config:n}}catch{continue}return null}hasClaudeCompatibilityHooks(){return[ro(".claude","settings.json"),ro(".claude","settings.local.json"),qi(Xu(),".claude","settings.json")].some(r=>d_(r))}upsertHookEntry(e,r,n,o){let s=e[r],i=Array.isArray(s)?[...s]:[],a=i.findIndex(c=>Hi(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 __={};Me(__,{AntigravityAdapter:()=>tl});import{readFileSync as Bi,writeFileSync as nE,mkdirSync as oE}from"node:fs";import{resolve as el,dirname as h_}from"node:path";import{fileURLToPath as sE}from"node:url";import{homedir as g_}from"node:os";var tl,y_=v(()=>{"use strict";Ht();tl=class extends Re{constructor(){super([".gemini"])}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 el(g_(),".gemini","antigravity","mcp_config.json")}generateHookConfig(e){return{}}readSettings(){try{let e=Bi(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();oE(h_(r),{recursive:!0}),nE(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=Bi(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=el(g_(),".gemini","extensions","context-mode","package.json");return JSON.parse(Bi(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){return[]}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=el(h_(sE(import.meta.url)),"..","..","..","configs","antigravity","GEMINI.md");try{return Bi(e,"utf-8")}catch{return`# context-mode
14
14
 
15
- 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 Oe,f_,V$,Xu,UL,ZL,h_=v(()=>{"use strict";Oe={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},f_={[Oe.PRE_TOOL_USE]:"pretooluse.mjs",[Oe.POST_TOOL_USE]:"posttooluse.mjs"},V$=["execute_bash","fs_read","@context-mode/ctx_execute","@context-mode/ctx_execute_file","@context-mode/ctx_batch_execute"],Xu=V$.join("|"),UL=[Oe.PRE_TOOL_USE],ZL=[Oe.POST_TOOL_USE]});var x_={};Me(x_,{KiroAdapter:()=>Qu});import{readFileSync as to,writeFileSync as g_,mkdirSync as __}from"node:fs";import{resolve as ro,dirname as y_}from"node:path";import{fileURLToPath as W$}from"node:url";import{homedir as Fi}from"node:os";var Qu,v_=v(()=>{"use strict";Zt();h_();Qu=class extends Pe{constructor(){super([".kiro"])}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 ro(Fi(),".kiro","settings","mcp.json")}generateHookConfig(e){return{[Oe.PRE_TOOL_USE]:[{matcher:Xu,hooks:[{type:"command",command:as(Oe.PRE_TOOL_USE,e)}]}],[Oe.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:as(Oe.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=to(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();__(y_(r),{recursive:!0}),g_(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=ro(Fi(),".kiro","agents","default.json");try{let s=JSON.parse(to(n,"utf-8")).hooks??{};for(let i of[Oe.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[Oe.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=to(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=ro(Fi(),".kiro","extensions","context-mode","package.json");return JSON.parse(to(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=ro(Fi(),".kiro","agents"),o=ro(n,"default.json");try{__(n,{recursive:!0});let s={};try{s=JSON.parse(to(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[Oe.PRE_TOOL_USE]??[];a.some(u=>is(u,Oe.PRE_TOOL_USE))||(a.push({matcher:Xu,command:as(Oe.PRE_TOOL_USE,e)}),i[Oe.PRE_TOOL_USE]=a,r.push(`Added ${Oe.PRE_TOOL_USE} hook to ${o}`));let c=i[Oe.POST_TOOL_USE]??[];c.some(u=>is(u,Oe.POST_TOOL_USE))||(c.push({matcher:"*",command:as(Oe.POST_TOOL_USE,e)}),i[Oe.POST_TOOL_USE]=c,r.push(`Added ${Oe.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,g_(o,JSON.stringify(s,null,2),"utf-8")}catch(s){r.push(`Failed to configure hooks: ${s.message}`)}return r}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=ro(y_(W$(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return to(e,"utf-8")}catch{return`# context-mode
15
+ 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 us(t,e){let r=x_[e];return r&&(t.command?.includes(r)||t.command?.includes("context-mode hook kiro"))||!1}function ls(t,e){let r=x_[t];return e&&r?`node "${e}/hooks/kiro/${r}"`:`context-mode hook kiro ${t.toLowerCase()}`}var Ie,x_,iE,rl,s2,i2,v_=v(()=>{"use strict";Ie={PRE_TOOL_USE:"preToolUse",POST_TOOL_USE:"postToolUse",AGENT_SPAWN:"agentSpawn",USER_PROMPT_SUBMIT:"userPromptSubmit"},x_={[Ie.PRE_TOOL_USE]:"pretooluse.mjs",[Ie.POST_TOOL_USE]:"posttooluse.mjs"},iE=["execute_bash","fs_read","@context-mode/ctx_execute","@context-mode/ctx_execute_file","@context-mode/ctx_batch_execute"],rl=iE.join("|"),s2=[Ie.PRE_TOOL_USE],i2=[Ie.POST_TOOL_USE]});var w_={};Me(w_,{KiroAdapter:()=>nl});import{readFileSync as no,writeFileSync as S_,mkdirSync as b_}from"node:fs";import{resolve as oo,dirname as k_}from"node:path";import{fileURLToPath as aE}from"node:url";import{homedir as Vi}from"node:os";var nl,$_=v(()=>{"use strict";Ht();v_();nl=class extends Re{constructor(){super([".kiro"])}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 oo(Vi(),".kiro","settings","mcp.json")}generateHookConfig(e){return{[Ie.PRE_TOOL_USE]:[{matcher:rl,hooks:[{type:"command",command:ls(Ie.PRE_TOOL_USE,e)}]}],[Ie.POST_TOOL_USE]:[{matcher:"*",hooks:[{type:"command",command:ls(Ie.POST_TOOL_USE,e)}]}]}}readSettings(){try{let e=no(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();b_(k_(r),{recursive:!0}),S_(r,JSON.stringify(e,null,2),"utf-8")}validateHooks(e){let r=[],n=oo(Vi(),".kiro","agents","default.json");try{let s=JSON.parse(no(n,"utf-8")).hooks??{};for(let i of[Ie.PRE_TOOL_USE]){let c=(s[i]??[]).some(u=>us(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[Ie.POST_TOOL_USE]){let c=(s[i]??[]).some(u=>us(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=no(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=oo(Vi(),".kiro","extensions","context-mode","package.json");return JSON.parse(no(e,"utf-8")).version??"unknown"}catch{return"not installed"}}configureAllHooks(e){let r=[],n=oo(Vi(),".kiro","agents"),o=oo(n,"default.json");try{b_(n,{recursive:!0});let s={};try{s=JSON.parse(no(o,"utf-8"))}catch{}let i=s.hooks??{},a=i[Ie.PRE_TOOL_USE]??[];a.some(u=>us(u,Ie.PRE_TOOL_USE))||(a.push({matcher:rl,command:ls(Ie.PRE_TOOL_USE,e)}),i[Ie.PRE_TOOL_USE]=a,r.push(`Added ${Ie.PRE_TOOL_USE} hook to ${o}`));let c=i[Ie.POST_TOOL_USE]??[];c.some(u=>us(u,Ie.POST_TOOL_USE))||(c.push({matcher:"*",command:ls(Ie.POST_TOOL_USE,e)}),i[Ie.POST_TOOL_USE]=c,r.push(`Added ${Ie.POST_TOOL_USE} hook to ${o}`)),s.hooks=i,S_(o,JSON.stringify(s,null,2),"utf-8")}catch(s){r.push(`Failed to configure hooks: ${s.message}`)}return r}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=oo(k_(aE(import.meta.url)),"..","..","..","configs","kiro","KIRO.md");try{return no(e,"utf-8")}catch{return`# context-mode
16
16
 
17
- 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 k_={};Me(k_,{ZedAdapter:()=>tl});import{readFileSync as el,writeFileSync as G$,mkdirSync as K$}from"node:fs";import{resolve as b_,dirname as S_}from"node:path";import{fileURLToPath as J$}from"node:url";import{homedir as Y$}from"node:os";var tl,w_=v(()=>{"use strict";Zt();tl=class extends Pe{constructor(){super([".config","zed"])}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 b_(Y$(),".config","zed","settings.json")}generateHookConfig(e){return{}}readSettings(){try{let e=el(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();K$(S_(r),{recursive:!0}),G$(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=el(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[]}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=b_(S_(J$(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return el(e,"utf-8")}catch{return`# context-mode
17
+ 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 P_={};Me(P_,{ZedAdapter:()=>sl});import{readFileSync as ol,writeFileSync as cE,mkdirSync as uE}from"node:fs";import{resolve as E_,dirname as T_}from"node:path";import{fileURLToPath as lE}from"node:url";import{homedir as dE}from"node:os";var sl,R_=v(()=>{"use strict";Ht();sl=class extends Re{constructor(){super([".config","zed"])}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 E_(dE(),".config","zed","settings.json")}generateHookConfig(e){return{}}readSettings(){try{let e=ol(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=this.getSettingsPath();uE(T_(r),{recursive:!0}),cE(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=ol(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[]}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructions(){let e=E_(T_(lE(import.meta.url)),"..","..","..","configs","zed","AGENTS.md");try{return ol(e,"utf-8")}catch{return`# context-mode
18
18
 
19
- Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var T_={};Me(T_,{QwenCodeAdapter:()=>rl});import{readFileSync as X$}from"node:fs";import{resolve as $_,join as Q$}from"node:path";import{homedir as E_}from"node:os";var rl,P_=v(()=>{"use strict";Su();rl=class extends Yn{constructor(){super([".qwen"])}name="Qwen Code";paradigm="json-stdio";projectDirEnvVar="QWEN_PROJECT_DIR";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};getSettingsPath(){return $_(E_(),".qwen","settings.json")}generateHookConfig(e){return{PreToolUse:[{matcher:["run_shell_command","read_file","read_many_files","grep_search","web_fetch","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"].join("|"),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`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}]}}readSettings(){try{let e=X$(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let{writeFileSync:r}=eg("node:fs");r(this.getSettingsPath(),JSON.stringify(e,null,2))}validateHooks(e){let r=[],o=this.readSettings()?.hooks??{};for(let s of["PreToolUse","PostToolUse","SessionStart","PreCompact","UserPromptSubmit"]){let i=Array.isArray(o[s])&&o[s].length>0;r.push({check:`${s} hook`,status:i?"pass":"fail",message:i?`${s} hook configured in ~/.qwen/settings.json`:`${s} hook not found in ~/.qwen/settings.json`,...i?{}:{fix:`Add ${s} hook to ~/.qwen/settings.json`}})}return r}checkPluginRegistration(){try{let e=this.readSettings();if(e?.mcpServers&&typeof e.mcpServers=="object"){let r=e.mcpServers;return Object.keys(r).some(n=>n.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in mcpServers"}:{check:"Plugin registration",status:"fail",message:"mcpServers exists but context-mode not found",fix:"Add context-mode to mcpServers in ~/.qwen/settings.json"}}return{check:"Plugin registration",status:"warn",message:"No mcpServers in ~/.qwen/settings.json"}}catch{return{check:"Plugin registration",status:"warn",message:"Could not read ~/.qwen/settings.json"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{instructionsPath:$_(Q$(E_(),".qwen","QWEN.md")),targetPath:"QWEN.md",platformName:"Qwen Code"}}extractSessionId(e){if(e.session_id)return e.session_id;if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return process.env.QWEN_SESSION_ID?process.env.QWEN_SESSION_ID:`pid-${process.ppid}`}}});var O_={};Me(O_,{PLATFORM_ENV_VARS:()=>R_,detectPlatform:()=>ln,getAdapter:()=>cs});import{existsSync as Tt}from"node:fs";import{resolve as Pt}from"node:path";import{homedir as eE}from"node:os";function ln(t){if(t?.name){let n=$g[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`};if(t.name.startsWith("qwen-cli-mcp-client"))return{platform:"qwen-code",confidence:"high",reason:`MCP clientInfo.name="${t.name}" (qwen-cli pattern)`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","kilo","opencode","codex","vscode-copilot","jetbrains-copilot","cursor","antigravity","kiro","pi","zed","qwen-code"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};for(let[n,o]of R_)if(o.some(s=>process.env[s]))return{platform:n,confidence:"high",reason:`${o.join(" or ")} env var set`};let r=eE();return Tt(Pt(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Tt(Pt(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Tt(Pt(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Tt(Pt(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Tt(Pt(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Tt(Pt(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Tt(Pt(r,".qwen"))?{platform:"qwen-code",confidence:"medium",reason:"~/.qwen/ directory exists"}:Tt(Pt(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Tt(Pt(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Tt(Pt(r,".config","JetBrains"))?{platform:"jetbrains-copilot",confidence:"medium",reason:"~/.config/JetBrains/ directory exists"}:Tt(Pt(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Tt(Pt(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 cs(t){let e=t??ln().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Pu(),Tu));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(jg(),zg));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(Fg(),Lg));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(qg(),Hg));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(Wg(),Vg));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(Xg(),Yg));return new r}case"jetbrains-copilot":{let{JetBrainsCopilotAdapter:r}=await Promise.resolve().then(()=>(r_(),t_));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(u_(),c_));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(()=>(v_(),x_));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(w_(),k_));return new r}case"qwen-code":{let{QwenCodeAdapter:r}=await Promise.resolve().then(()=>(P_(),T_));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Pu(),Tu));return new r}}}var R_,nl=v(()=>{"use strict";Eg();R_=[["claude-code",["CLAUDE_PROJECT_DIR","CLAUDE_SESSION_ID"]],["gemini-cli",["GEMINI_PROJECT_DIR","GEMINI_CLI"]],["openclaw",["OPENCLAW_HOME","OPENCLAW_CLI"]],["kilo",["KILO","KILO_PID"]],["opencode",["OPENCODE","OPENCODE_PID"]],["codex",["CODEX_CI","CODEX_THREAD_ID"]],["cursor",["CURSOR_TRACE_ID","CURSOR_CLI"]],["vscode-copilot",["VSCODE_PID","VSCODE_CWD"]],["jetbrains-copilot",["IDEA_INITIAL_DIRECTORY","IDEA_HOME","JETBRAINS_CLIENT_ID"]],["qwen-code",["QWEN_PROJECT_DIR","QWEN_SESSION_ID"]]]});var Q,ol,O,nr,us=v(()=>{(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})})(ol||(ol={}));O=Q.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),nr=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,tE,it,Ui=v(()=>{us();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"]),tE=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),it=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Q.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};it.create=t=>new it(t)});var rE,_r,sl=v(()=>{Ui();us();rE=(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}},_r=rE});function nE(t){C_=t}function no(){return C_}var C_,Zi=v(()=>{sl();C_=_r});function P(t,e){let r=no(),n=ls({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===_r?void 0:_r].filter(o=>!!o)});t.common.issues.push(n)}var ls,oE,Ze,D,dn,Je,Hi,qi,Nr,oo,il=v(()=>{Zi();sl();ls=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}},oE=[];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 D;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 D;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}}},D=Object.freeze({status:"aborted"}),dn=t=>({status:"dirty",value:t}),Je=t=>({status:"valid",value:t}),Hi=t=>t.status==="aborted",qi=t=>t.status==="dirty",Nr=t=>t.status==="valid",oo=t=>typeof Promise<"u"&&t instanceof Promise});var I_=v(()=>{});var A,A_=v(()=>{(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 M_(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 bE(t){return new RegExp(`^${M_(t)}$`)}function D_(t){let e=`${j_}T${M_(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 SE(t,e){return!!((e==="v4"||!e)&&fE.test(t)||(e==="v6"||!e)&&gE.test(t))}function kE(t,e){if(!lE.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 wE(t,e){return!!((e==="v4"||!e)&&hE.test(t)||(e==="v6"||!e)&&_E.test(t))}function $E(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 so(t){if(t instanceof ct){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=at.create(so(n))}return new ct({...t._def,shape:()=>e})}else return t instanceof vr?new vr({...t._def,type:so(t.element)}):t instanceof at?at.create(so(t.unwrap())):t instanceof sr?sr.create(so(t.unwrap())):t instanceof or?or.create(t.items.map(e=>so(e))):t}function cl(t,e){let r=nr(t),n=nr(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=cl(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<t.length;s++){let i=t[s],a=e[s],c=cl(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===O.date&&n===O.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}function L_(t,e){return new Sn({values:t,typeName:$.ZodEnum,...V(e)})}function z_(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function F_(t,e={},r){return t?jr.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=z_(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=z_(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):jr.create()}var Rt,N_,G,sE,iE,aE,cE,uE,lE,dE,pE,mE,al,fE,hE,gE,_E,yE,xE,j_,vE,zr,pn,mn,fn,hn,io,gn,_n,jr,xr,qt,ao,vr,ct,yn,yr,Bi,xn,or,Vi,co,uo,Wi,vn,bn,Sn,kn,Mr,Ot,at,sr,wn,$n,lo,EE,ds,ps,En,TE,$,PE,U_,Z_,RE,OE,H_,CE,IE,AE,NE,zE,jE,ME,DE,LE,ul,FE,UE,ZE,HE,qE,BE,VE,WE,GE,KE,JE,YE,XE,QE,eT,tT,rT,nT,oT,sT,iT,aT,cT,uT,q_=v(()=>{Ui();Zi();A_();il();us();Rt=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}},N_=(t,e)=>{if(Nr(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 it(t.common.issues);return this._error=r,this._error}}};G=class{get description(){return this._def.description}_getType(e){return nr(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:nr(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:nr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(oo(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:nr(e)},o=this._parseSync({data:e,path:n.path,parent:n});return N_(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:nr(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Nr(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=>Nr(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:nr(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(oo(o)?o:Promise.resolve(o));return N_(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 Ot({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 at.create(this,this._def)}nullable(){return sr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return vr.create(this)}promise(){return Mr.create(this,this._def)}or(e){return yn.create([this,e],this._def)}and(e){return xn.create(this,e,this._def)}transform(e){return new Ot({...V(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new wn({...V(this._def),innerType:this,defaultValue:r,typeName:$.ZodDefault})}brand(){return new ds({typeName:$.ZodBranded,type:this,...V(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new $n({...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 ps.create(this,e)}readonly(){return En.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},sE=/^c[^\s-]{8,}$/i,iE=/^[0-9a-z]+$/,aE=/^[0-9A-HJKMNP-TV-Z]{26}$/i,cE=/^[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,uE=/^[a-z0-9_-]{21}$/i,lE=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,dE=/^[-+]?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)?)??$/,pE=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,mE="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",fE=/^(?:(?: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])$/,hE=/^(?:(?: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])$/,gE=/^(([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]))$/,_E=/^(([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])$/,yE=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,xE=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,j_="((\\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])))",vE=new RegExp(`^${j_}$`);zr=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}),D}let n=new Ze,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),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.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?P(o,{code:w.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&P(o,{code:w.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")pE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"email",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")al||(al=new RegExp(mE,"u")),al.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"emoji",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")cE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"uuid",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")uE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"nanoid",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")sE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cuid",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")iE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cuid2",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")aE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"ulid",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),P(o,{validation:"url",code:w.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"regex",code:w.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?D_(s).test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?vE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?bE(s).test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?dE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"duration",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?SE(e.data,s.version)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"ip",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?kE(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"jwt",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?wE(e.data,s.version)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cidr",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?yE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"base64",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?xE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"base64url",code:w.invalid_string,message:s.message}),n.dirty()):Q.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.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.value<e)&&(e=r.value);return e}};zr.create=t=>new zr({checks:[],typeName:$.ZodString,coerce:t?.coerce??!1,...V(t)});pn=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}),D}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.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?$E(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.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.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.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};pn.create=t=>new pn({checks:[],typeName:$.ZodNumber,coerce:t?.coerce||!1,...V(t)});mn=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.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),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}),D}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.value<e)&&(e=r.value);return e}};mn.create=t=>new mn({checks:[],typeName:$.ZodBigInt,coerce:t?.coerce??!1,...V(t)});fn=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}),D}return Je(e.data)}};fn.create=t=>new fn({typeName:$.ZodBoolean,coerce:t?.coerce||!1,...V(t)});hn=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}),D}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_date}),D}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_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),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.value<e)&&(e=r.value);return e!=null?new Date(e):null}};hn.create=t=>new hn({checks:[],coerce:t?.coerce||!1,typeName:$.ZodDate,...V(t)});io=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}),D}return Je(e.data)}};io.create=t=>new io({typeName:$.ZodSymbol,...V(t)});gn=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}),D}return Je(e.data)}};gn.create=t=>new gn({typeName:$.ZodUndefined,...V(t)});_n=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}),D}return Je(e.data)}};_n.create=t=>new _n({typeName:$.ZodNull,...V(t)});jr=class extends G{constructor(){super(...arguments),this._any=!0}_parse(e){return Je(e.data)}};jr.create=t=>new jr({typeName:$.ZodAny,...V(t)});xr=class extends G{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Je(e.data)}};xr.create=t=>new xr({typeName:$.ZodUnknown,...V(t)});qt=class extends G{_parse(e){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:O.never,received:r.parsedType}),D}};qt.create=t=>new qt({typeName:$.ZodNever,...V(t)});ao=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}),D}return Je(e.data)}};ao.create=t=>new ao({typeName:$.ZodVoid,...V(t)});vr=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}),D;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(P(r,{code:i?w.too_big:w.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(P(r,{code:w.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(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 Rt(r,i,r.path,a)))).then(i=>Ze.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Rt(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)}};vr.create=(t,e)=>new vr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...V(e)});ct=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}),D}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof qt&&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 Rt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof qt){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 Rt(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 so(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 at;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return L_(Q.objectKeys(this.shape))}};ct.create=(t,e)=>new ct({shape:()=>t,unknownKeys:"strip",catchall:qt.create(),typeName:$.ZodObject,...V(e)});ct.strictCreate=(t,e)=>new ct({shape:()=>t,unknownKeys:"strict",catchall:qt.create(),typeName:$.ZodObject,...V(e)});ct.lazycreate=(t,e)=>new ct({shape:t,unknownKeys:"strip",catchall:qt.create(),typeName:$.ZodObject,...V(e)});yn=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 it(a.ctx.common.issues));return P(r,{code:w.invalid_union,unionErrors:i}),D}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 it(c));return P(r,{code:w.invalid_union,unionErrors:a}),D}}get options(){return this._def.options}};yn.create=(t,e)=>new yn({options:t,typeName:$.ZodUnion,...V(e)});yr=t=>t instanceof vn?yr(t.schema):t instanceof Ot?yr(t.innerType()):t instanceof bn?[t.value]:t instanceof Sn?t.options:t instanceof kn?Q.objectValues(t.enum):t instanceof wn?yr(t._def.innerType):t instanceof gn?[void 0]:t instanceof _n?[null]:t instanceof at?[void 0,...yr(t.unwrap())]:t instanceof sr?[null,...yr(t.unwrap())]:t instanceof ds||t instanceof En?yr(t.unwrap()):t instanceof $n?yr(t._def.innerType):[],Bi=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}),D;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]}),D)}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=yr(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)})}};xn=class extends G{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(Hi(s)||Hi(i))return D;let a=cl(s.value,i.value);return a.valid?((qi(s)||qi(i))&&r.dirty(),{status:r.value,value:a.data}):(P(n,{code:w.invalid_intersection_types}),D)};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}))}};xn.create=(t,e,r)=>new xn({left:t,right:e,typeName:$.ZodIntersection,...V(r)});or=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}),D;if(n.data.length<this._def.items.length)return P(n,{code:w.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),D;!this._def.rest&&n.data.length>this._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 Rt(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})}};or.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new or({items:t,typeName:$.ZodTuple,rest:null,...V(e)})};Vi=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}),D;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Rt(n,a,n.path,a)),value:i._parse(new Rt(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:zr.create(),valueType:e,typeName:$.ZodRecord,...V(r)})}},co=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}),D;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new Rt(n,a,n.path,[u,"key"])),value:s._parse(new Rt(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 D;(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 D;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};co.create=(t,e,r)=>new co({valueType:e,keyType:t,typeName:$.ZodMap,...V(r)});uo=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}),D;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(P(n,{code:w.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(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 D;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 Rt(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)}};uo.create=(t,e)=>new uo({valueType:t,minSize:null,maxSize:null,typeName:$.ZodSet,...V(e)});Wi=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}),D;function n(a,c){return ls({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,no(),_r].filter(u=>!!u),issueData:{code:w.invalid_arguments,argumentsError:c}})}function o(a,c){return ls({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,no(),_r].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 Mr){let a=this;return Je(async function(...c){let u=new it([]),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 Je(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new it([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new it([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:or.create(e).rest(xr.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||or.create([]).rest(xr.create()),returns:r||xr.create(),typeName:$.ZodFunction,...V(n)})}},vn=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})}};vn.create=(t,e)=>new vn({getter:t,typeName:$.ZodLazy,...V(e)});bn=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}),D}return{status:"valid",value:e.data}}get value(){return this._def.value}};bn.create=(t,e)=>new bn({value:t,typeName:$.ZodLiteral,...V(e)});Sn=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}),D}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}),D}return Je(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Sn.create=L_;kn=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}),D}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}),D}return Je(e.data)}get enum(){return this._def.values}};kn.create=(t,e)=>new kn({values:t,typeName:$.ZodNativeEnum,...V(e)});Mr=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}),D;let n=r.parsedType===O.promise?r.data:Promise.resolve(r.data);return Je(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Mr.create=(t,e)=>new Mr({type:t,typeName:$.ZodPromise,...V(e)});Ot=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 D;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?D:c.status==="dirty"?dn(c.value):r.value==="dirty"?dn(c.value):c});{if(r.value==="aborted")return D;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?D:a.status==="dirty"?dn(a.value):r.value==="dirty"?dn(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"?D:(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"?D:(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(!Nr(i))return D;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=>Nr(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):D);Q.assertNever(o)}};Ot.create=(t,e,r)=>new Ot({schema:t,typeName:$.ZodEffects,effect:e,...V(r)});Ot.createWithPreprocess=(t,e,r)=>new Ot({schema:e,effect:{type:"preprocess",transform:t},typeName:$.ZodEffects,...V(r)});at=class extends G{_parse(e){return this._getType(e)===O.undefined?Je(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};at.create=(t,e)=>new at({innerType:t,typeName:$.ZodOptional,...V(e)});sr=class extends G{_parse(e){return this._getType(e)===O.null?Je(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};sr.create=(t,e)=>new sr({innerType:t,typeName:$.ZodNullable,...V(e)});wn=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}};wn.create=(t,e)=>new wn({innerType:t,typeName:$.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...V(e)});$n=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 oo(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new it(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new it(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};$n.create=(t,e)=>new $n({innerType:t,typeName:$.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...V(e)});lo=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}),D}return{status:"valid",value:e.data}}};lo.create=t=>new lo({typeName:$.ZodNaN,...V(t)});EE=Symbol("zod_brand"),ds=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}},ps=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"?D:s.status==="dirty"?(r.dirty(),dn(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"?D: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})}},En=class extends G{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Nr(o)&&(o.value=Object.freeze(o.value)),o);return oo(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};En.create=(t,e)=>new En({innerType:t,typeName:$.ZodReadonly,...V(e)});TE={object:ct.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}`})=>F_(r=>r instanceof t,e),U_=zr.create,Z_=pn.create,RE=lo.create,OE=mn.create,H_=fn.create,CE=hn.create,IE=io.create,AE=gn.create,NE=_n.create,zE=jr.create,jE=xr.create,ME=qt.create,DE=ao.create,LE=vr.create,ul=ct.create,FE=ct.strictCreate,UE=yn.create,ZE=Bi.create,HE=xn.create,qE=or.create,BE=Vi.create,VE=co.create,WE=uo.create,GE=Wi.create,KE=vn.create,JE=bn.create,YE=Sn.create,XE=kn.create,QE=Mr.create,eT=Ot.create,tT=at.create,rT=sr.create,nT=Ot.createWithPreprocess,oT=ps.create,sT=()=>U_().optional(),iT=()=>Z_().optional(),aT=()=>H_().optional(),cT={string:(t=>zr.create({...t,coerce:!0})),number:(t=>pn.create({...t,coerce:!0})),boolean:(t=>fn.create({...t,coerce:!0})),bigint:(t=>mn.create({...t,coerce:!0})),date:(t=>hn.create({...t,coerce:!0}))},uT=D});var H={};Me(H,{BRAND:()=>EE,DIRTY:()=>dn,EMPTY_PATH:()=>oE,INVALID:()=>D,NEVER:()=>uT,OK:()=>Je,ParseStatus:()=>Ze,Schema:()=>G,ZodAny:()=>jr,ZodArray:()=>vr,ZodBigInt:()=>mn,ZodBoolean:()=>fn,ZodBranded:()=>ds,ZodCatch:()=>$n,ZodDate:()=>hn,ZodDefault:()=>wn,ZodDiscriminatedUnion:()=>Bi,ZodEffects:()=>Ot,ZodEnum:()=>Sn,ZodError:()=>it,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Wi,ZodIntersection:()=>xn,ZodIssueCode:()=>w,ZodLazy:()=>vn,ZodLiteral:()=>bn,ZodMap:()=>co,ZodNaN:()=>lo,ZodNativeEnum:()=>kn,ZodNever:()=>qt,ZodNull:()=>_n,ZodNullable:()=>sr,ZodNumber:()=>pn,ZodObject:()=>ct,ZodOptional:()=>at,ZodParsedType:()=>O,ZodPipeline:()=>ps,ZodPromise:()=>Mr,ZodReadonly:()=>En,ZodRecord:()=>Vi,ZodSchema:()=>G,ZodSet:()=>uo,ZodString:()=>zr,ZodSymbol:()=>io,ZodTransformer:()=>Ot,ZodTuple:()=>or,ZodType:()=>G,ZodUndefined:()=>gn,ZodUnion:()=>yn,ZodUnknown:()=>xr,ZodVoid:()=>ao,addIssueToContext:()=>P,any:()=>zE,array:()=>LE,bigint:()=>OE,boolean:()=>H_,coerce:()=>cT,custom:()=>F_,date:()=>CE,datetimeRegex:()=>D_,defaultErrorMap:()=>_r,discriminatedUnion:()=>ZE,effect:()=>eT,enum:()=>YE,function:()=>GE,getErrorMap:()=>no,getParsedType:()=>nr,instanceof:()=>PE,intersection:()=>HE,isAborted:()=>Hi,isAsync:()=>oo,isDirty:()=>qi,isValid:()=>Nr,late:()=>TE,lazy:()=>KE,literal:()=>JE,makeIssue:()=>ls,map:()=>VE,nan:()=>RE,nativeEnum:()=>XE,never:()=>ME,null:()=>NE,nullable:()=>rT,number:()=>Z_,object:()=>ul,objectUtil:()=>ol,oboolean:()=>aT,onumber:()=>iT,optional:()=>tT,ostring:()=>sT,pipeline:()=>oT,preprocess:()=>nT,promise:()=>QE,quotelessJson:()=>tE,record:()=>BE,set:()=>WE,setErrorMap:()=>nE,strictObject:()=>FE,string:()=>U_,symbol:()=>IE,transformer:()=>eT,tuple:()=>qE,undefined:()=>AE,union:()=>UE,unknown:()=>jE,util:()=>Q,void:()=>DE});var Gi=v(()=>{Zi();il();I_();us();q_();Ui()});var ms=v(()=>{Gi()});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 _t(t){return t&&Object.assign(Ki,t),Ki}var dT,br,Ki,po=v(()=>{dT=Object.freeze({status:"aborted"});br=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ki={}});var ee={};Me(ee,{BIGINT_FORMAT_RANGES:()=>V_,Class:()=>dl,NUMBER_FORMAT_RANGES:()=>yl,aborted:()=>Pn,allowsEval:()=>hl,assert:()=>gT,assertEqual:()=>pT,assertIs:()=>fT,assertNever:()=>hT,assertNotEqual:()=>mT,assignProp:()=>fl,cached:()=>gs,captureStackTrace:()=>Yi,cleanEnum:()=>RT,cleanRegex:()=>ys,clone:()=>yt,createTransparentProxy:()=>ST,defineLazy:()=>fe,esc:()=>Tn,escapeRegex:()=>Dr,extend:()=>$T,finalizeIssue:()=>Bt,floatSafeRemainder:()=>ml,getElementAtPath:()=>_T,getEnumValues:()=>hs,getLengthableOrigin:()=>xs,getParsedType:()=>bT,getSizableOrigin:()=>W_,isObject:()=>mo,isPlainObject:()=>fo,issue:()=>xl,joinValues:()=>Ji,jsonStringifyReplacer:()=>pl,merge:()=>ET,normalizeParams:()=>L,nullish:()=>_s,numKeys:()=>vT,omit:()=>wT,optionalKeys:()=>_l,partial:()=>TT,pick:()=>kT,prefixIssues:()=>ir,primitiveTypes:()=>B_,promiseAllObject:()=>yT,propertyKeyTypes:()=>gl,randomString:()=>xT,required:()=>PT,stringifyPrimitive:()=>Xi,unwrapMessage:()=>fs});function pT(t){return t}function mT(t){return t}function fT(t){}function hT(t){throw new Error}function gT(t){}function hs(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 Ji(t,e="|"){return t.map(r=>Xi(r)).join(e)}function pl(t,e){return typeof e=="bigint"?e.toString():e}function gs(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function _s(t){return t==null}function ys(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function ml(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 fe(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 fl(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function _T(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function yT(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function xT(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Tn(t){return JSON.stringify(t)}function mo(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function fo(t){if(mo(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(mo(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function vT(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}function Dr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function yt(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function L(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 ST(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 Xi(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function _l(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function kT(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 yt(t,{...t._zod.def,shape:r,checks:[]})}function wT(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 yt(t,{...t._zod.def,shape:r,checks:[]})}function $T(t,e){if(!fo(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 fl(this,"shape",n),n},checks:[]};return yt(t,r)}function ET(t,e){return yt(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return fl(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function TT(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 yt(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 yt(e,{...e._zod.def,shape:o,checks:[]})}function Pn(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function ir(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function fs(t){return typeof t=="string"?t:t?.message}function Bt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=fs(t.inst?._zod.def?.error?.(t))??fs(e?.error?.(t))??fs(r.customError?.(t))??fs(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function W_(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 xl(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function RT(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Yi,hl,bT,gl,B_,yl,V_,dl,ar=v(()=>{Yi=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};hl=gs(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});bT=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}`)}},gl=new Set(["string","number","symbol"]),B_=new Set(["string","number","bigint","boolean","symbol","undefined"]);yl={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]},V_={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};dl=class{constructor(...e){}}});function vl(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 bl(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var G_,Qi,vs,Sl=v(()=>{po();ar();G_=(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,pl,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Qi=S("$ZodError",G_),vs=S("$ZodError",G_,{Parent:Error})});var kl,wl,$l,El,Tl,Rn,Pl,On,Rl=v(()=>{po();Sl();ar();kl=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 br;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>Bt(c,s,_t())));throw Yi(a,o?.callee),a}return i.value},wl=kl(vs),$l=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=>Bt(c,s,_t())));throw Yi(a,o?.callee),a}return i.value},El=$l(vs),Tl=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 br;return s.issues.length?{success:!1,error:new(t??Qi)(s.issues.map(i=>Bt(i,o,_t())))}:{success:!0,data:s.value}},Rn=Tl(vs),Pl=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=>Bt(i,o,_t())))}:{success:!0,data:s.value}},On=Pl(vs)});function oy(){return new RegExp(CT,"u")}function fy(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 hy(t){return new RegExp(`^${fy(t)}$`)}function gy(t){let e=fy({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(`^${py}T(?:${n})$`)}var K_,J_,Y_,X_,Q_,ey,ty,ry,Ol,ny,CT,sy,iy,ay,cy,uy,Cl,ly,dy,py,my,_y,yy,xy,vy,by,Sy,ky,ta=v(()=>{K_=/^[cC][^\s-]{8,}$/,J_=/^[0-9a-z]+$/,Y_=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,X_=/^[0-9a-vA-V]{20}$/,Q_=/^[A-Za-z0-9]{27}$/,ey=/^[a-zA-Z0-9_-]{21}$/,ty=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ry=/^([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})$/,Ol=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)$/,ny=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,CT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";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])$/,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})$/,ay=/^((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])$/,cy=/^(([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])$/,uy=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Cl=/^[A-Za-z0-9_-]*$/,ly=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,dy=/^\+(?:[0-9]){6,14}[0-9]$/,py="(?:(?:\\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])))",my=new RegExp(`^${py}$`);_y=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},yy=/^\d+$/,xy=/^-?\d+(?:\.\d+)?/i,vy=/true|false/i,by=/null/i,Sy=/^[^A-Z]*$/,ky=/^[^a-z]*$/});var He,wy,Il,Al,$y,Ey,Ty,Py,Ry,bs,Oy,Cy,Iy,Ay,Ny,zy,jy,ra=v(()=>{po();ta();ar();He=S("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),wy={number:"number",bigint:"bigint",object:"date"},Il=S("$ZodCheckLessThan",(t,e)=>{He.init(t,e);let r=wy[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Al=S("$ZodCheckGreaterThan",(t,e)=>{He.init(t,e);let r=wy[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})}}),$y=S("$ZodCheckMultipleOf",(t,e)=>{He.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):ml(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})}}),Ey=S("$ZodCheckNumberFormat",(t,e)=>{He.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=yl[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=yy)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}}),Ty=S("$ZodCheckMaxLength",(t,e)=>{var r;He.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!_s(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=xs(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Py=S("$ZodCheckMinLength",(t,e)=>{var r;He.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!_s(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})}}),Ry=S("$ZodCheckLengthEquals",(t,e)=>{var r;He.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!_s(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})}}),bs=S("$ZodCheckStringFormat",(t,e)=>{var r,n;He.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Oy=S("$ZodCheckRegex",(t,e)=>{bs.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})}}),Cy=S("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Sy),bs.init(t,e)}),Iy=S("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=ky),bs.init(t,e)}),Ay=S("$ZodCheckIncludes",(t,e)=>{He.init(t,e);let r=Dr(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})}}),Ny=S("$ZodCheckStartsWith",(t,e)=>{He.init(t,e);let r=new RegExp(`^${Dr(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})}}),zy=S("$ZodCheckEndsWith",(t,e)=>{He.init(t,e);let r=new RegExp(`.*${Dr(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})}}),jy=S("$ZodCheckOverwrite",(t,e)=>{He.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}})});var na,Nl=v(()=>{na=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(`
19
+ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});var I_={};Me(I_,{QwenCodeAdapter:()=>il});import{readFileSync as pE,existsSync as mE}from"node:fs";import{resolve as O_,join as fE}from"node:path";import{homedir as C_}from"node:os";var il,A_=v(()=>{"use strict";Eu();il=class extends Qn{constructor(){super([".qwen"])}name="Qwen Code";paradigm="json-stdio";projectDirEnvVar="QWEN_PROJECT_DIR";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};getSettingsPath(){return O_(C_(),".qwen","settings.json")}generateHookConfig(e){return{PreToolUse:[{matcher:["run_shell_command","read_file","read_many_files","grep_search","web_fetch","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"].join("|"),hooks:[{type:"command",command:`node ${e}/hooks/pretooluse.mjs`}]}],PostToolUse:[{matcher:"run_shell_command|read_file|write_file|edit|glob|grep_search|todo_write|agent|ask_user_question|mcp__",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}]}}readSettings(){try{let e=pE(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let{writeFileSync:r}=sg("node:fs");r(this.getSettingsPath(),JSON.stringify(e,null,2))}validateHooks(e){let r=[],o=this.readSettings()?.hooks??{};for(let s of["PreToolUse","PostToolUse","SessionStart","PreCompact","UserPromptSubmit"]){let i=Array.isArray(o[s])&&o[s].length>0;r.push({check:`${s} hook`,status:i?"pass":"fail",message:i?`${s} hook configured in ~/.qwen/settings.json`:`${s} hook not found in ~/.qwen/settings.json`,...i?{}:{fix:`Add ${s} hook to ~/.qwen/settings.json`}})}return r}checkPluginRegistration(){try{let e=this.readSettings();if(e?.mcpServers&&typeof e.mcpServers=="object"){let r=e.mcpServers;return Object.keys(r).some(n=>n.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in mcpServers"}:{check:"Plugin registration",status:"fail",message:"mcpServers exists but context-mode not found",fix:"Add context-mode to mcpServers in ~/.qwen/settings.json"}}return{check:"Plugin registration",status:"warn",message:"No mcpServers in ~/.qwen/settings.json"}}catch{return{check:"Plugin registration",status:"warn",message:"Could not read ~/.qwen/settings.json"}}}getInstalledVersion(){let e=this.readSettings();if(!e)return"not installed";let r=e.hooks;if(!r)return"not installed";let n=["pretooluse.mjs","posttooluse.mjs","precompact.mjs","sessionstart.mjs","userpromptsubmit.mjs"];for(let[,o]of Object.entries(r))if(Array.isArray(o)){for(let s of o)if(s.hooks?.some(a=>a.command&&n.some(c=>a.command.includes(c))))return"installed (hooks configured)"}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[];for(let i of Object.keys(n)){let a=n[i];if(!Array.isArray(a))continue;let c=a.filter(l=>{let m=l.hooks??[];return m.some(p=>p.command&&/context-mode|pretooluse|posttooluse|precompact|sessionstart|userpromptsubmit/i.test(p.command))?m.every(p=>{if(!p.command)return!0;let h=p.command.match(/node\s+"?([^"]+\.mjs)"?/);return h?mE(h[1]):!0}):!0}),u=a.length-c.length;u>0&&(n[i]=c,o.push(`Removed ${u} stale ${i} hook(s)`))}let s=[{name:"PreToolUse",script:"pretooluse.mjs",matcher:["run_shell_command","read_file","read_many_files","grep_search","web_fetch","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"].join("|")},{name:"SessionStart",script:"sessionstart.mjs",matcher:""}];for(let{name:i,script:a,matcher:c}of s){let u={matcher:c,hooks:[{type:"command",command:`node ${e}/hooks/${a}`}]},l=n[i];if(l&&Array.isArray(l)){let d=l.findIndex(m=>m.hooks?.some(p=>p.command?.includes(a))??!1);d>=0?(l[d]=u,o.push(`Updated ${i} hook`)):(l.push(u),o.push(`Added ${i} hook`)),n[i]=l}else n[i]=[u],o.push(`Created ${i} hooks`)}return r.hooks=n,this.writeSettings(r),o}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{instructionsPath:O_(fE(C_(),".qwen","QWEN.md")),targetPath:"QWEN.md",platformName:"Qwen Code"}}extractSessionId(e){if(e.session_id)return e.session_id;if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return process.env.QWEN_SESSION_ID?process.env.QWEN_SESSION_ID:`pid-${process.ppid}`}}});var z_={};Me(z_,{PLATFORM_ENV_VARS:()=>N_,detectPlatform:()=>dn,getAdapter:()=>ds});import{existsSync as Pt}from"node:fs";import{resolve as Rt}from"node:path";import{homedir as hE}from"node:os";function dn(t){if(t?.name){let n=Og[t.name];if(n)return{platform:n,confidence:"high",reason:`MCP clientInfo.name="${t.name}"`};if(t.name.startsWith("qwen-cli-mcp-client"))return{platform:"qwen-code",confidence:"high",reason:`MCP clientInfo.name="${t.name}" (qwen-cli pattern)`}}let e=process.env.CONTEXT_MODE_PLATFORM;if(e&&["claude-code","gemini-cli","kilo","opencode","codex","vscode-copilot","jetbrains-copilot","cursor","antigravity","kiro","pi","zed","qwen-code"].includes(e))return{platform:e,confidence:"high",reason:`CONTEXT_MODE_PLATFORM=${e} override`};for(let[n,o]of N_)if(o.some(s=>process.env[s]))return{platform:n,confidence:"high",reason:`${o.join(" or ")} env var set`};let r=hE();return Pt(Rt(r,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:Pt(Rt(r,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:Pt(Rt(r,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:Pt(Rt(r,".cursor"))?{platform:"cursor",confidence:"medium",reason:"~/.cursor/ directory exists"}:Pt(Rt(r,".kiro"))?{platform:"kiro",confidence:"medium",reason:"~/.kiro/ directory exists"}:Pt(Rt(r,".pi"))?{platform:"pi",confidence:"medium",reason:"~/.pi/ directory exists"}:Pt(Rt(r,".qwen"))?{platform:"qwen-code",confidence:"medium",reason:"~/.qwen/ directory exists"}:Pt(Rt(r,".openclaw"))?{platform:"openclaw",confidence:"medium",reason:"~/.openclaw/ directory exists"}:Pt(Rt(r,".config","kilo"))?{platform:"kilo",confidence:"medium",reason:"~/.config/kilo/ directory exists"}:Pt(Rt(r,".config","JetBrains"))?{platform:"jetbrains-copilot",confidence:"medium",reason:"~/.config/JetBrains/ directory exists"}:Pt(Rt(r,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:Pt(Rt(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 ds(t){let e=t??dn().platform;switch(e){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Iu(),Cu));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(Ug(),Fg));return new r}case"kilo":case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(Bg(),qg));return new r(e)}case"openclaw":{let{OpenClawAdapter:r}=await Promise.resolve().then(()=>(Kg(),Gg));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(Xg(),Yg));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(n_(),r_));return new r}case"jetbrains-copilot":{let{JetBrainsCopilotAdapter:r}=await Promise.resolve().then(()=>(a_(),i_));return new r}case"cursor":{let{CursorAdapter:r}=await Promise.resolve().then(()=>(f_(),m_));return new r}case"antigravity":{let{AntigravityAdapter:r}=await Promise.resolve().then(()=>(y_(),__));return new r}case"kiro":{let{KiroAdapter:r}=await Promise.resolve().then(()=>($_(),w_));return new r}case"zed":{let{ZedAdapter:r}=await Promise.resolve().then(()=>(R_(),P_));return new r}case"qwen-code":{let{QwenCodeAdapter:r}=await Promise.resolve().then(()=>(A_(),I_));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Iu(),Cu));return new r}}}var N_,al=v(()=>{"use strict";Cg();N_=[["claude-code",["CLAUDE_PROJECT_DIR","CLAUDE_SESSION_ID"]],["gemini-cli",["GEMINI_PROJECT_DIR","GEMINI_CLI"]],["openclaw",["OPENCLAW_HOME","OPENCLAW_CLI"]],["kilo",["KILO","KILO_PID"]],["opencode",["OPENCODE","OPENCODE_PID"]],["codex",["CODEX_CI","CODEX_THREAD_ID"]],["cursor",["CURSOR_TRACE_ID","CURSOR_CLI"]],["vscode-copilot",["VSCODE_PID","VSCODE_CWD"]],["jetbrains-copilot",["IDEA_INITIAL_DIRECTORY","IDEA_HOME","JETBRAINS_CLIENT_ID"]],["qwen-code",["QWEN_PROJECT_DIR","QWEN_SESSION_ID"]]]});var te,cl,O,or,ps=v(()=>{(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})(te||(te={}));(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(cl||(cl={}));O=te.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),or=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,gE,ct,Wi=v(()=>{ps();w=te.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"]),gE=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),ct=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,te.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};ct.create=t=>new ct(t)});var _E,yr,ul=v(()=>{Wi();ps();_E=(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,te.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:r=`Unrecognized key(s) in object: ${te.joinValues(t.keys,", ")}`;break;case w.invalid_union:r="Invalid input";break;case w.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${te.joinValues(t.options)}`;break;case w.invalid_enum_value:r=`Invalid enum value. Expected ${te.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}"`:te.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,te.assertNever(t)}return{message:r}},yr=_E});function yE(t){j_=t}function so(){return j_}var j_,Gi=v(()=>{ul();j_=yr});function P(t,e){let r=so(),n=ms({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===yr?void 0:yr].filter(o=>!!o)});t.common.issues.push(n)}var ms,xE,qe,M,pn,Ye,Ki,Ji,jr,io,ll=v(()=>{Gi();ul();ms=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}},xE=[];qe=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 M;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 M;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}}},M=Object.freeze({status:"aborted"}),pn=t=>({status:"dirty",value:t}),Ye=t=>({status:"valid",value:t}),Ki=t=>t.status==="aborted",Ji=t=>t.status==="dirty",jr=t=>t.status==="valid",io=t=>typeof Promise<"u"&&t instanceof Promise});var D_=v(()=>{});var A,M_=v(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(A||(A={}))});function G(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 jE(t){return new RegExp(`^${Z_(t)}$`)}function H_(t){let e=`${U_}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 DE(t,e){return!!((e==="v4"||!e)&&RE.test(t)||(e==="v6"||!e)&&CE.test(t))}function ME(t,e){if(!$E.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 LE(t,e){return!!((e==="v4"||!e)&&OE.test(t)||(e==="v6"||!e)&&IE.test(t))}function FE(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 ao(t){if(t instanceof lt){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=ut.create(ao(n))}return new lt({...t._def,shape:()=>e})}else return t instanceof Sr?new Sr({...t._def,type:ao(t.element)}):t instanceof ut?ut.create(ao(t.unwrap())):t instanceof ir?ir.create(ao(t.unwrap())):t instanceof sr?sr.create(t.items.map(e=>ao(e))):t}function pl(t,e){let r=or(t),n=or(e);if(t===e)return{valid:!0,data:t};if(r===O.object&&n===O.object){let o=te.objectKeys(e),s=te.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=pl(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<t.length;s++){let i=t[s],a=e[s],c=pl(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===O.date&&n===O.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}function q_(t,e){return new kn({values:t,typeName:$.ZodEnum,...G(e)})}function F_(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function B_(t,e={},r){return t?Mr.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=F_(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=F_(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Mr.create()}var Ot,L_,Y,vE,SE,bE,kE,wE,$E,EE,TE,PE,dl,RE,OE,CE,IE,AE,NE,U_,zE,Dr,mn,fn,hn,gn,co,_n,yn,Mr,vr,Bt,uo,Sr,lt,xn,xr,Yi,vn,sr,Xi,lo,po,Qi,Sn,bn,kn,wn,Lr,Ct,ut,ir,$n,En,mo,UE,fs,hs,Tn,ZE,$,HE,V_,W_,qE,BE,G_,VE,WE,GE,KE,JE,YE,XE,QE,eT,ml,tT,rT,nT,oT,sT,iT,aT,cT,uT,lT,dT,pT,mT,fT,hT,gT,_T,yT,xT,vT,ST,bT,kT,wT,K_=v(()=>{Wi();Gi();M_();ll();ps();Ot=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}},L_=(t,e)=>{if(jr(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 ct(t.common.issues);return this._error=r,this._error}}};Y=class{get description(){return this._def.description}_getType(e){return or(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:or(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new qe,ctx:{common:e.parent.common,data:e.data,parsedType:or(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(io(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:or(e)},o=this._parseSync({data:e,path:n.path,parent:n});return L_(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:or(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return jr(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=>jr(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:or(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(io(o)?o:Promise.resolve(o));return L_(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 Ct({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 ut.create(this,this._def)}nullable(){return ir.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Sr.create(this)}promise(){return Lr.create(this,this._def)}or(e){return xn.create([this,e],this._def)}and(e){return vn.create(this,e,this._def)}transform(e){return new Ct({...G(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new $n({...G(this._def),innerType:this,defaultValue:r,typeName:$.ZodDefault})}brand(){return new fs({typeName:$.ZodBranded,type:this,...G(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new En({...G(this._def),innerType:this,catchValue:r,typeName:$.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return hs.create(this,e)}readonly(){return Tn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},vE=/^c[^\s-]{8,}$/i,SE=/^[0-9a-z]+$/,bE=/^[0-9A-HJKMNP-TV-Z]{26}$/i,kE=/^[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,wE=/^[a-z0-9_-]{21}$/i,$E=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,EE=/^[-+]?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)?)??$/,TE=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,PE="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",RE=/^(?:(?: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])$/,OE=/^(?:(?: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])$/,CE=/^(([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]))$/,IE=/^(([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])$/,AE=/^([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}(=)?))?$/,U_="((\\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])))",zE=new RegExp(`^${U_}$`);Dr=class t extends Y{_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}),M}let n=new qe,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),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.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?P(o,{code:w.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&P(o,{code:w.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")TE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"email",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")dl||(dl=new RegExp(PE,"u")),dl.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"emoji",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")kE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"uuid",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")wE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"nanoid",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")vE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cuid",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")SE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cuid2",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")bE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"ulid",code:w.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),P(o,{validation:"url",code:w.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"regex",code:w.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?H_(s).test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?zE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?jE(s).test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?EE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"duration",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?DE(e.data,s.version)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"ip",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?ME(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"jwt",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?LE(e.data,s.version)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cidr",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?AE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"base64",code:w.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?NE.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"base64url",code:w.invalid_string,message:s.message}),n.dirty()):te.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.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.value<e)&&(e=r.value);return e}};Dr.create=t=>new Dr({checks:[],typeName:$.ZodString,coerce:t?.coerce??!1,...G(t)});mn=class t extends Y{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}),M}let n,o=new qe;for(let s of this._def.checks)s.kind==="int"?te.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.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?FE(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()):te.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.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&te.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};mn.create=t=>new mn({checks:[],typeName:$.ZodNumber,coerce:t?.coerce||!1,...G(t)});fn=class t extends Y{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 qe;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),P(n,{code:w.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),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()):te.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}),M}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.value<e)&&(e=r.value);return e}};fn.create=t=>new fn({checks:[],typeName:$.ZodBigInt,coerce:t?.coerce??!1,...G(t)});hn=class extends Y{_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}),M}return Ye(e.data)}};hn.create=t=>new hn({typeName:$.ZodBoolean,coerce:t?.coerce||!1,...G(t)});gn=class t extends Y{_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}),M}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_date}),M}let n=new qe,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_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):te.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.value<e)&&(e=r.value);return e!=null?new Date(e):null}};gn.create=t=>new gn({checks:[],coerce:t?.coerce||!1,typeName:$.ZodDate,...G(t)});co=class extends Y{_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}),M}return Ye(e.data)}};co.create=t=>new co({typeName:$.ZodSymbol,...G(t)});_n=class extends Y{_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}),M}return Ye(e.data)}};_n.create=t=>new _n({typeName:$.ZodUndefined,...G(t)});yn=class extends Y{_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}),M}return Ye(e.data)}};yn.create=t=>new yn({typeName:$.ZodNull,...G(t)});Mr=class extends Y{constructor(){super(...arguments),this._any=!0}_parse(e){return Ye(e.data)}};Mr.create=t=>new Mr({typeName:$.ZodAny,...G(t)});vr=class extends Y{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ye(e.data)}};vr.create=t=>new vr({typeName:$.ZodUnknown,...G(t)});Bt=class extends Y{_parse(e){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:O.never,received:r.parsedType}),M}};Bt.create=t=>new Bt({typeName:$.ZodNever,...G(t)});uo=class extends Y{_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}),M}return Ye(e.data)}};uo.create=t=>new uo({typeName:$.ZodVoid,...G(t)});Sr=class t extends Y{_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}),M;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(P(r,{code:i?w.too_big:w.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(P(r,{code:w.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(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 Ot(r,i,r.path,a)))).then(i=>qe.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Ot(r,i,r.path,a)));return qe.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)}};Sr.create=(t,e)=>new Sr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...G(e)});lt=class t extends Y{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=te.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}),M}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Bt&&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 Ot(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Bt){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 Ot(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=>qe.mergeObjectSync(n,u)):qe.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 te.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 te.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return ao(this)}partial(e){let r={};for(let n of te.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 te.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof ut;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return q_(te.objectKeys(this.shape))}};lt.create=(t,e)=>new lt({shape:()=>t,unknownKeys:"strip",catchall:Bt.create(),typeName:$.ZodObject,...G(e)});lt.strictCreate=(t,e)=>new lt({shape:()=>t,unknownKeys:"strict",catchall:Bt.create(),typeName:$.ZodObject,...G(e)});lt.lazycreate=(t,e)=>new lt({shape:t,unknownKeys:"strip",catchall:Bt.create(),typeName:$.ZodObject,...G(e)});xn=class extends Y{_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 ct(a.ctx.common.issues));return P(r,{code:w.invalid_union,unionErrors:i}),M}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 ct(c));return P(r,{code:w.invalid_union,unionErrors:a}),M}}get options(){return this._def.options}};xn.create=(t,e)=>new xn({options:t,typeName:$.ZodUnion,...G(e)});xr=t=>t instanceof Sn?xr(t.schema):t instanceof Ct?xr(t.innerType()):t instanceof bn?[t.value]:t instanceof kn?t.options:t instanceof wn?te.objectValues(t.enum):t instanceof $n?xr(t._def.innerType):t instanceof _n?[void 0]:t instanceof yn?[null]:t instanceof ut?[void 0,...xr(t.unwrap())]:t instanceof ir?[null,...xr(t.unwrap())]:t instanceof fs||t instanceof Tn?xr(t.unwrap()):t instanceof En?xr(t._def.innerType):[],Yi=class t extends Y{_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}),M;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]}),M)}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=xr(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,...G(n)})}};vn=class extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(Ki(s)||Ki(i))return M;let a=pl(s.value,i.value);return a.valid?((Ji(s)||Ji(i))&&r.dirty(),{status:r.value,value:a.data}):(P(n,{code:w.invalid_intersection_types}),M)};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}))}};vn.create=(t,e,r)=>new vn({left:t,right:e,typeName:$.ZodIntersection,...G(r)});sr=class t extends Y{_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}),M;if(n.data.length<this._def.items.length)return P(n,{code:w.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),M;!this._def.rest&&n.data.length>this._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 Ot(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>qe.mergeArray(r,i)):qe.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};sr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new sr({items:t,typeName:$.ZodTuple,rest:null,...G(e)})};Xi=class t extends Y{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}),M;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Ot(n,a,n.path,a)),value:i._parse(new Ot(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?qe.mergeObjectAsync(r,o):qe.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof Y?new t({keyType:e,valueType:r,typeName:$.ZodRecord,...G(n)}):new t({keyType:Dr.create(),valueType:e,typeName:$.ZodRecord,...G(r)})}},lo=class extends Y{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}),M;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new Ot(n,a,n.path,[u,"key"])),value:s._parse(new Ot(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 M;(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 M;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};lo.create=(t,e,r)=>new lo({valueType:e,keyType:t,typeName:$.ZodMap,...G(r)});po=class t extends Y{_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}),M;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(P(n,{code:w.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(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 M;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 Ot(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)}};po.create=(t,e)=>new po({valueType:t,minSize:null,maxSize:null,typeName:$.ZodSet,...G(e)});Qi=class t extends Y{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}),M;function n(a,c){return ms({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,so(),yr].filter(u=>!!u),issueData:{code:w.invalid_arguments,argumentsError:c}})}function o(a,c){return ms({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,so(),yr].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 Lr){let a=this;return Ye(async function(...c){let u=new ct([]),l=await a._def.args.parseAsync(c,s).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(f=>{throw u.addIssue(o(d,f)),u})})}else{let a=this;return Ye(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new ct([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new ct([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:sr.create(e).rest(vr.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||sr.create([]).rest(vr.create()),returns:r||vr.create(),typeName:$.ZodFunction,...G(n)})}},Sn=class extends Y{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})}};Sn.create=(t,e)=>new Sn({getter:t,typeName:$.ZodLazy,...G(e)});bn=class extends Y{_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}),M}return{status:"valid",value:e.data}}get value(){return this._def.value}};bn.create=(t,e)=>new bn({value:t,typeName:$.ZodLiteral,...G(e)});kn=class t extends Y{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return P(r,{expected:te.joinValues(n),received:r.parsedType,code:w.invalid_type}),M}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}),M}return Ye(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})}};kn.create=q_;wn=class extends Y{_parse(e){let r=te.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==O.string&&n.parsedType!==O.number){let o=te.objectValues(r);return P(n,{expected:te.joinValues(o),received:n.parsedType,code:w.invalid_type}),M}if(this._cache||(this._cache=new Set(te.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=te.objectValues(r);return P(n,{received:n.data,code:w.invalid_enum_value,options:o}),M}return Ye(e.data)}get enum(){return this._def.values}};wn.create=(t,e)=>new wn({values:t,typeName:$.ZodNativeEnum,...G(e)});Lr=class extends Y{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}),M;let n=r.parsedType===O.promise?r.data:Promise.resolve(r.data);return Ye(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Lr.create=(t,e)=>new Lr({type:t,typeName:$.ZodPromise,...G(e)});Ct=class extends Y{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 M;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?M:c.status==="dirty"?pn(c.value):r.value==="dirty"?pn(c.value):c});{if(r.value==="aborted")return M;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?M:a.status==="dirty"?pn(a.value):r.value==="dirty"?pn(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"?M:(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"?M:(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(!jr(i))return M;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=>jr(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):M);te.assertNever(o)}};Ct.create=(t,e,r)=>new Ct({schema:t,typeName:$.ZodEffects,effect:e,...G(r)});Ct.createWithPreprocess=(t,e,r)=>new Ct({schema:e,effect:{type:"preprocess",transform:t},typeName:$.ZodEffects,...G(r)});ut=class extends Y{_parse(e){return this._getType(e)===O.undefined?Ye(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ut.create=(t,e)=>new ut({innerType:t,typeName:$.ZodOptional,...G(e)});ir=class extends Y{_parse(e){return this._getType(e)===O.null?Ye(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ir.create=(t,e)=>new ir({innerType:t,typeName:$.ZodNullable,...G(e)});$n=class extends Y{_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}};$n.create=(t,e)=>new $n({innerType:t,typeName:$.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...G(e)});En=class extends Y{_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 io(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ct(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ct(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};En.create=(t,e)=>new En({innerType:t,typeName:$.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...G(e)});mo=class extends Y{_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}),M}return{status:"valid",value:e.data}}};mo.create=t=>new mo({typeName:$.ZodNaN,...G(t)});UE=Symbol("zod_brand"),fs=class extends Y{_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}},hs=class t extends Y{_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"?M:s.status==="dirty"?(r.dirty(),pn(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"?M: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})}},Tn=class extends Y{_parse(e){let r=this._def.innerType._parse(e),n=o=>(jr(o)&&(o.value=Object.freeze(o.value)),o);return io(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Tn.create=(t,e)=>new Tn({innerType:t,typeName:$.ZodReadonly,...G(e)});ZE={object:lt.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"})($||($={}));HE=(t,e={message:`Input not instance of ${t.name}`})=>B_(r=>r instanceof t,e),V_=Dr.create,W_=mn.create,qE=mo.create,BE=fn.create,G_=hn.create,VE=gn.create,WE=co.create,GE=_n.create,KE=yn.create,JE=Mr.create,YE=vr.create,XE=Bt.create,QE=uo.create,eT=Sr.create,ml=lt.create,tT=lt.strictCreate,rT=xn.create,nT=Yi.create,oT=vn.create,sT=sr.create,iT=Xi.create,aT=lo.create,cT=po.create,uT=Qi.create,lT=Sn.create,dT=bn.create,pT=kn.create,mT=wn.create,fT=Lr.create,hT=Ct.create,gT=ut.create,_T=ir.create,yT=Ct.createWithPreprocess,xT=hs.create,vT=()=>V_().optional(),ST=()=>W_().optional(),bT=()=>G_().optional(),kT={string:(t=>Dr.create({...t,coerce:!0})),number:(t=>mn.create({...t,coerce:!0})),boolean:(t=>hn.create({...t,coerce:!0})),bigint:(t=>fn.create({...t,coerce:!0})),date:(t=>gn.create({...t,coerce:!0}))},wT=M});var q={};Me(q,{BRAND:()=>UE,DIRTY:()=>pn,EMPTY_PATH:()=>xE,INVALID:()=>M,NEVER:()=>wT,OK:()=>Ye,ParseStatus:()=>qe,Schema:()=>Y,ZodAny:()=>Mr,ZodArray:()=>Sr,ZodBigInt:()=>fn,ZodBoolean:()=>hn,ZodBranded:()=>fs,ZodCatch:()=>En,ZodDate:()=>gn,ZodDefault:()=>$n,ZodDiscriminatedUnion:()=>Yi,ZodEffects:()=>Ct,ZodEnum:()=>kn,ZodError:()=>ct,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Qi,ZodIntersection:()=>vn,ZodIssueCode:()=>w,ZodLazy:()=>Sn,ZodLiteral:()=>bn,ZodMap:()=>lo,ZodNaN:()=>mo,ZodNativeEnum:()=>wn,ZodNever:()=>Bt,ZodNull:()=>yn,ZodNullable:()=>ir,ZodNumber:()=>mn,ZodObject:()=>lt,ZodOptional:()=>ut,ZodParsedType:()=>O,ZodPipeline:()=>hs,ZodPromise:()=>Lr,ZodReadonly:()=>Tn,ZodRecord:()=>Xi,ZodSchema:()=>Y,ZodSet:()=>po,ZodString:()=>Dr,ZodSymbol:()=>co,ZodTransformer:()=>Ct,ZodTuple:()=>sr,ZodType:()=>Y,ZodUndefined:()=>_n,ZodUnion:()=>xn,ZodUnknown:()=>vr,ZodVoid:()=>uo,addIssueToContext:()=>P,any:()=>JE,array:()=>eT,bigint:()=>BE,boolean:()=>G_,coerce:()=>kT,custom:()=>B_,date:()=>VE,datetimeRegex:()=>H_,defaultErrorMap:()=>yr,discriminatedUnion:()=>nT,effect:()=>hT,enum:()=>pT,function:()=>uT,getErrorMap:()=>so,getParsedType:()=>or,instanceof:()=>HE,intersection:()=>oT,isAborted:()=>Ki,isAsync:()=>io,isDirty:()=>Ji,isValid:()=>jr,late:()=>ZE,lazy:()=>lT,literal:()=>dT,makeIssue:()=>ms,map:()=>aT,nan:()=>qE,nativeEnum:()=>mT,never:()=>XE,null:()=>KE,nullable:()=>_T,number:()=>W_,object:()=>ml,objectUtil:()=>cl,oboolean:()=>bT,onumber:()=>ST,optional:()=>gT,ostring:()=>vT,pipeline:()=>xT,preprocess:()=>yT,promise:()=>fT,quotelessJson:()=>gE,record:()=>iT,set:()=>cT,setErrorMap:()=>yE,strictObject:()=>tT,string:()=>V_,symbol:()=>WE,transformer:()=>hT,tuple:()=>sT,undefined:()=>GE,union:()=>rT,unknown:()=>YE,util:()=>te,void:()=>QE});var ea=v(()=>{Gi();ll();D_();ps();K_();Wi()});var gs=v(()=>{ea()});function b(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 yt(t){return t&&Object.assign(ta,t),ta}var ET,br,ta,fo=v(()=>{ET=Object.freeze({status:"aborted"});br=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ta={}});var re={};Me(re,{BIGINT_FORMAT_RANGES:()=>Y_,Class:()=>hl,NUMBER_FORMAT_RANGES:()=>bl,aborted:()=>Rn,allowsEval:()=>xl,assert:()=>CT,assertEqual:()=>TT,assertIs:()=>RT,assertNever:()=>OT,assertNotEqual:()=>PT,assignProp:()=>yl,cached:()=>xs,captureStackTrace:()=>na,cleanEnum:()=>qT,cleanRegex:()=>Ss,clone:()=>xt,createTransparentProxy:()=>DT,defineLazy:()=>ge,esc:()=>Pn,escapeRegex:()=>Fr,extend:()=>FT,finalizeIssue:()=>Vt,floatSafeRemainder:()=>_l,getElementAtPath:()=>IT,getEnumValues:()=>ys,getLengthableOrigin:()=>bs,getParsedType:()=>jT,getSizableOrigin:()=>X_,isObject:()=>ho,isPlainObject:()=>go,issue:()=>kl,joinValues:()=>ra,jsonStringifyReplacer:()=>gl,merge:()=>UT,normalizeParams:()=>L,nullish:()=>vs,numKeys:()=>zT,omit:()=>LT,optionalKeys:()=>Sl,partial:()=>ZT,pick:()=>MT,prefixIssues:()=>ar,primitiveTypes:()=>J_,promiseAllObject:()=>AT,propertyKeyTypes:()=>vl,randomString:()=>NT,required:()=>HT,stringifyPrimitive:()=>oa,unwrapMessage:()=>_s});function TT(t){return t}function PT(t){return t}function RT(t){}function OT(t){throw new Error}function CT(t){}function ys(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 ra(t,e="|"){return t.map(r=>oa(r)).join(e)}function gl(t,e){return typeof e=="bigint"?e.toString():e}function xs(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function vs(t){return t==null}function Ss(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function _l(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 ge(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 yl(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function IT(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function AT(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function NT(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Pn(t){return JSON.stringify(t)}function ho(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function go(t){if(ho(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(ho(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function zT(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}function Fr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function xt(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function L(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 DT(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 oa(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Sl(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function MT(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 xt(t,{...t._zod.def,shape:r,checks:[]})}function LT(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 xt(t,{...t._zod.def,shape:r,checks:[]})}function FT(t,e){if(!go(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 yl(this,"shape",n),n},checks:[]};return xt(t,r)}function UT(t,e){return xt(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return yl(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function ZT(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 xt(e,{...e._zod.def,shape:o,checks:[]})}function HT(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 xt(e,{...e._zod.def,shape:o,checks:[]})}function Rn(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function ar(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function _s(t){return typeof t=="string"?t:t?.message}function Vt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=_s(t.inst?._zod.def?.error?.(t))??_s(e?.error?.(t))??_s(r.customError?.(t))??_s(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function X_(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function bs(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function kl(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function qT(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var na,xl,jT,vl,J_,bl,Y_,hl,cr=v(()=>{na=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};xl=xs(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});jT=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}`)}},vl=new Set(["string","number","symbol"]),J_=new Set(["string","number","bigint","boolean","symbol","undefined"]);bl={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]},Y_={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};hl=class{constructor(...e){}}});function wl(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 $l(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var Q_,sa,ks,El=v(()=>{fo();cr();Q_=(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,gl,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},sa=b("$ZodError",Q_),ks=b("$ZodError",Q_,{Parent:Error})});var Tl,Pl,Rl,Ol,Cl,On,Il,Cn,Al=v(()=>{fo();El();cr();Tl=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 br;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>Vt(c,s,yt())));throw na(a,o?.callee),a}return i.value},Pl=Tl(ks),Rl=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=>Vt(c,s,yt())));throw na(a,o?.callee),a}return i.value},Ol=Rl(ks),Cl=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 br;return s.issues.length?{success:!1,error:new(t??sa)(s.issues.map(i=>Vt(i,o,yt())))}:{success:!0,data:s.value}},On=Cl(ks),Il=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=>Vt(i,o,yt())))}:{success:!0,data:s.value}},Cn=Il(ks)});function uy(){return new RegExp(VT,"u")}function xy(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 vy(t){return new RegExp(`^${xy(t)}$`)}function Sy(t){let e=xy({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(`^${_y}T(?:${n})$`)}var ey,ty,ry,ny,oy,sy,iy,ay,Nl,cy,VT,ly,dy,py,my,fy,zl,hy,gy,_y,yy,by,ky,wy,$y,Ey,Ty,Py,aa=v(()=>{ey=/^[cC][^\s-]{8,}$/,ty=/^[0-9a-z]+$/,ry=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ny=/^[0-9a-vA-V]{20}$/,oy=/^[A-Za-z0-9]{27}$/,sy=/^[a-zA-Z0-9_-]{21}$/,iy=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ay=/^([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})$/,Nl=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)$/,cy=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,VT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";ly=/^(?:(?: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])$/,dy=/^(([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})$/,py=/^((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])$/,my=/^(([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])$/,fy=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zl=/^[A-Za-z0-9_-]*$/,hy=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,gy=/^\+(?:[0-9]){6,14}[0-9]$/,_y="(?:(?:\\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])))",yy=new RegExp(`^${_y}$`);by=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},ky=/^\d+$/,wy=/^-?\d+(?:\.\d+)?/i,$y=/true|false/i,Ey=/null/i,Ty=/^[^A-Z]*$/,Py=/^[^a-z]*$/});var Be,Ry,jl,Dl,Oy,Cy,Iy,Ay,Ny,ws,zy,jy,Dy,My,Ly,Fy,Uy,ca=v(()=>{fo();aa();cr();Be=b("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Ry={number:"number",bigint:"bigint",object:"date"},jl=b("$ZodCheckLessThan",(t,e)=>{Be.init(t,e);let r=Ry[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Dl=b("$ZodCheckGreaterThan",(t,e)=>{Be.init(t,e);let r=Ry[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})}}),Oy=b("$ZodCheckMultipleOf",(t,e)=>{Be.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):_l(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})}}),Cy=b("$ZodCheckNumberFormat",(t,e)=>{Be.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=bl[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=ky)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}}),Iy=b("$ZodCheckMaxLength",(t,e)=>{var r;Be.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!vs(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=bs(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Ay=b("$ZodCheckMinLength",(t,e)=>{var r;Be.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!vs(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=bs(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Ny=b("$ZodCheckLengthEquals",(t,e)=>{var r;Be.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!vs(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=bs(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})}}),ws=b("$ZodCheckStringFormat",(t,e)=>{var r,n;Be.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=()=>{})}),zy=b("$ZodCheckRegex",(t,e)=>{ws.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})}}),jy=b("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Ty),ws.init(t,e)}),Dy=b("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Py),ws.init(t,e)}),My=b("$ZodCheckIncludes",(t,e)=>{Be.init(t,e);let r=Fr(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})}}),Ly=b("$ZodCheckStartsWith",(t,e)=>{Be.init(t,e);let r=new RegExp(`^${Fr(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})}}),Fy=b("$ZodCheckEndsWith",(t,e)=>{Be.init(t,e);let r=new RegExp(`.*${Fr(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})}}),Uy=b("$ZodCheckOverwrite",(t,e)=>{Be.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}})});var ua,Ml=v(()=>{ua=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(`
20
20
  `).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(`
21
- `))}}});var Dy,zl=v(()=>{Dy={major:4,minor:0,patch:0}});function Xy(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}function IT(t){if(!Cl.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Xy(r)}function AT(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 Ly(t,e,r){t.issues.length&&e.issues.push(...ir(r,t.issues)),e.value[r]=t.value}function oa(t,e,r){t.issues.length&&e.issues.push(...ir(r,t.issues)),e.value[r]=t.value}function Fy(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(...ir(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function Uy(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=>Bt(s,n,_t())))}),e}function jl(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(fo(t)&&fo(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=jl(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=jl(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Zy(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Pn(t))return t;let n=jl(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}function Hy(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}function qy(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}function By(t,e,r){return Pn(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}function Vy(t){return t.value=Object.freeze(t.value),t}function Wy(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(xl(o))}}var le,Ss,he,Ml,Dl,Ll,Fl,Ul,Zl,Hl,ql,Bl,Vl,Wl,Gy,Ky,Jy,Yy,Gl,Kl,Jl,Yl,Xl,Ql,ed,td,sa,rd,nd,od,sd,id,ad,ia,aa,cd,ud,ld,dd,pd,md,fd,hd,gd,_d,yd,xd,vd,bd,Sd,Qy=v(()=>{ra();po();Nl();Rl();ta();ar();zl();ar();le=S("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Dy;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=Pn(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 br;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await m,s.issues.length!==d&&(c||(c=Pn(s,d)))});else{if(s.issues.length===d)continue;c||(c=Pn(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 br;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Rn(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return On(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Ss=S("$ZodString",(t,e)=>{le.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??_y(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}}),he=S("$ZodStringFormat",(t,e)=>{bs.init(t,e),Ss.init(t,e)}),Ml=S("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=ry),he.init(t,e)}),Dl=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=Ol(n))}else e.pattern??(e.pattern=Ol());he.init(t,e)}),Ll=S("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=ny),he.init(t,e)}),Fl=S("$ZodURL",(t,e)=>{he.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:ly.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})}}}),Ul=S("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=oy()),he.init(t,e)}),Zl=S("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=ey),he.init(t,e)}),Hl=S("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=K_),he.init(t,e)}),ql=S("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=J_),he.init(t,e)}),Bl=S("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Y_),he.init(t,e)}),Vl=S("$ZodXID",(t,e)=>{e.pattern??(e.pattern=X_),he.init(t,e)}),Wl=S("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Q_),he.init(t,e)}),Gy=S("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=gy(e)),he.init(t,e)}),Ky=S("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=my),he.init(t,e)}),Jy=S("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=hy(e)),he.init(t,e)}),Yy=S("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=ty),he.init(t,e)}),Gl=S("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=sy),he.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),Kl=S("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=iy),he.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})}}}),Jl=S("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=ay),he.init(t,e)}),Yl=S("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=cy),he.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})}}});Xl=S("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=uy),he.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Xy(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});Ql=S("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Cl),he.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{IT(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),ed=S("$ZodE164",(t,e)=>{e.pattern??(e.pattern=dy),he.init(t,e)});td=S("$ZodJWT",(t,e)=>{he.init(t,e),t._zod.check=r=>{AT(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),sa=S("$ZodNumber",(t,e)=>{le.init(t,e),t._zod.pattern=t._zod.bag.pattern??xy,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...s?{received:s}:{}}),r}}),rd=S("$ZodNumber",(t,e)=>{Ey.init(t,e),sa.init(t,e)}),nd=S("$ZodBoolean",(t,e)=>{le.init(t,e),t._zod.pattern=vy,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}}),od=S("$ZodNull",(t,e)=>{le.init(t,e),t._zod.pattern=by,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}}),sd=S("$ZodUnknown",(t,e)=>{le.init(t,e),t._zod.parse=r=>r}),id=S("$ZodNever",(t,e)=>{le.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});ad=S("$ZodArray",(t,e)=>{le.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Ly(u,r,i))):Ly(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});ia=S("$ZodObject",(t,e)=>{le.init(t,e);let r=gs(()=>{let d=Object.keys(e.shape);for(let h of d)if(!(e.shape[h]instanceof le))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let m=_l(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(m)}});fe(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 na(["shape","payload","ctx"]),h=r.value,p=y=>{let x=Tn(y);return`shape[${x}]._zod.run({ value: input[${x}], 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 x=f[y];m.write(`const ${x} = ${p(y)};`);let k=Tn(y);m.write(`
21
+ `))}}});var Hy,Ll=v(()=>{Hy={major:4,minor:0,patch:0}});function nx(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}function WT(t){if(!zl.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return nx(r)}function GT(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 qy(t,e,r){t.issues.length&&e.issues.push(...ar(r,t.issues)),e.value[r]=t.value}function la(t,e,r){t.issues.length&&e.issues.push(...ar(r,t.issues)),e.value[r]=t.value}function By(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(...ar(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function Vy(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=>Vt(s,n,yt())))}),e}function Fl(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(go(t)&&go(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=Fl(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=Fl(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Wy(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Rn(t))return t;let n=Fl(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}function Gy(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}function Ky(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}function Jy(t,e,r){return Rn(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}function Yy(t){return t.value=Object.freeze(t.value),t}function Xy(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(kl(o))}}var de,$s,_e,Ul,Zl,Hl,ql,Bl,Vl,Wl,Gl,Kl,Jl,Yl,Qy,ex,tx,rx,Xl,Ql,ed,td,rd,nd,od,sd,da,id,ad,cd,ud,ld,dd,pa,ma,pd,md,fd,hd,gd,_d,yd,xd,vd,Sd,bd,kd,wd,$d,Ed,ox=v(()=>{ca();fo();Ml();Al();aa();cr();Ll();cr();de=b("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Hy;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=Rn(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 br;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await m,s.issues.length!==d&&(c||(c=Rn(s,d)))});else{if(s.issues.length===d)continue;c||(c=Rn(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 br;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=On(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Cn(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),$s=b("$ZodString",(t,e)=>{de.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??by(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}}),_e=b("$ZodStringFormat",(t,e)=>{ws.init(t,e),$s.init(t,e)}),Ul=b("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=ay),_e.init(t,e)}),Zl=b("$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=Nl(n))}else e.pattern??(e.pattern=Nl());_e.init(t,e)}),Hl=b("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=cy),_e.init(t,e)}),ql=b("$ZodURL",(t,e)=>{_e.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:hy.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})}}}),Bl=b("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=uy()),_e.init(t,e)}),Vl=b("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=sy),_e.init(t,e)}),Wl=b("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=ey),_e.init(t,e)}),Gl=b("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=ty),_e.init(t,e)}),Kl=b("$ZodULID",(t,e)=>{e.pattern??(e.pattern=ry),_e.init(t,e)}),Jl=b("$ZodXID",(t,e)=>{e.pattern??(e.pattern=ny),_e.init(t,e)}),Yl=b("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=oy),_e.init(t,e)}),Qy=b("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Sy(e)),_e.init(t,e)}),ex=b("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=yy),_e.init(t,e)}),tx=b("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=vy(e)),_e.init(t,e)}),rx=b("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=iy),_e.init(t,e)}),Xl=b("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=ly),_e.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),Ql=b("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=dy),_e.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})}}}),ed=b("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=py),_e.init(t,e)}),td=b("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=my),_e.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})}}});rd=b("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=fy),_e.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{nx(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});nd=b("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=zl),_e.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{WT(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),od=b("$ZodE164",(t,e)=>{e.pattern??(e.pattern=gy),_e.init(t,e)});sd=b("$ZodJWT",(t,e)=>{_e.init(t,e),t._zod.check=r=>{GT(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),da=b("$ZodNumber",(t,e)=>{de.init(t,e),t._zod.pattern=t._zod.bag.pattern??wy,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}}),id=b("$ZodNumber",(t,e)=>{Cy.init(t,e),da.init(t,e)}),ad=b("$ZodBoolean",(t,e)=>{de.init(t,e),t._zod.pattern=$y,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}}),cd=b("$ZodNull",(t,e)=>{de.init(t,e),t._zod.pattern=Ey,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}}),ud=b("$ZodUnknown",(t,e)=>{de.init(t,e),t._zod.parse=r=>r}),ld=b("$ZodNever",(t,e)=>{de.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});dd=b("$ZodArray",(t,e)=>{de.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>qy(u,r,i))):qy(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});pa=b("$ZodObject",(t,e)=>{de.init(t,e);let r=xs(()=>{let d=Object.keys(e.shape);for(let f of d)if(!(e.shape[f]instanceof de))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let m=Sl(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(m)}});ge(t._zod,"propValues",()=>{let d=e.shape,m={};for(let f in d){let p=d[f]._zod;if(p.values){m[f]??(m[f]=new Set);for(let h of p.values)m[f].add(h)}}return m});let n=d=>{let m=new ua(["shape","payload","ctx"]),f=r.value,p=y=>{let x=Pn(y);return`shape[${x}]._zod.run({ value: input[${x}], issues: [] }, ctx)`};m.write("const input = payload.value;");let h=Object.create(null),g=0;for(let y of f.keys)h[y]=`key_${g++}`;m.write("const newResult = {}");for(let y of f.keys)if(f.optionalKeys.has(y)){let x=h[y];m.write(`const ${x} = ${p(y)};`);let k=Pn(y);m.write(`
22
22
  if (${x}.issues.length) {
23
23
  if (input[${k}] === undefined) {
24
24
  if (${k} in input) {
@@ -37,26 +37,26 @@ Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_inde
37
37
  } else {
38
38
  newResult[${k}] = ${x}.value;
39
39
  }
40
- `)}else{let x=f[y];m.write(`const ${x} = ${p(y)};`),m.write(`
40
+ `)}else{let x=h[y];m.write(`const ${x} = ${p(y)};`),m.write(`
41
41
  if (${x}.issues.length) payload.issues = payload.issues.concat(${x}.issues.map(iss => ({
42
42
  ...iss,
43
- path: iss.path ? [${Tn(y)}, ...iss.path] : [${Tn(y)}]
44
- })));`),m.write(`newResult[${Tn(y)}] = ${x}.value`)}m.write("payload.value = newResult;"),m.write("return payload;");let _=m.compile();return(y,x)=>_(d,y,x)},o,s=mo,i=!Ki.jitless,c=i&&hl.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 x=l.shape;for(let k of l.keys){let T=x[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(oe=>B?Fy(oe,d,k,h):oa(oe,d,k))):B?Fy(J,d,k,h):oa(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 x of Object.keys(h)){if(g.has(x))continue;if(y==="never"){f.push(x);continue}let k=_.run({value:h[x],issues:[]},m);k instanceof Promise?p.push(k.then(T=>oa(T,d,x))):oa(k,d,x)}return f.length&&d.issues.push({code:"unrecognized_keys",keys:f,input:h,inst:t}),p.length?Promise.all(p).then(()=>d):d}});aa=S("$ZodUnion",(t,e)=>{le.init(t,e),fe(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),fe(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),fe(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),fe(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=>ys(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=>Uy(i,r,t,n)):Uy(s,r,t,n)}}),cd=S("$ZodDiscriminatedUnion",(t,e)=>{aa.init(t,e);let r=t._zod.parse;fe(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=gs(()=>{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(!mo(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)}}),ud=S("$ZodIntersection",(t,e)=>{le.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])=>Zy(r,c,u)):Zy(r,s,i)}});ld=S("$ZodRecord",(t,e)=>{le.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!fo(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(...ir(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...ir(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=>Bt(u,n,_t())),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(...ir(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...ir(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}}),dd=S("$ZodEnum",(t,e)=>{le.init(t,e);let r=hs(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>gl.has(typeof n)).map(n=>typeof n=="string"?Dr(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}}),pd=S("$ZodLiteral",(t,e)=>{le.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?Dr(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}}),md=S("$ZodTransform",(t,e)=>{le.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 br;return r.value=o,r}}),fd=S("$ZodOptional",(t,e)=>{le.init(t,e),t._zod.optin="optional",t._zod.optout="optional",fe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),fe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${ys(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)}),hd=S("$ZodNullable",(t,e)=>{le.init(t,e),fe(t._zod,"optin",()=>e.innerType._zod.optin),fe(t._zod,"optout",()=>e.innerType._zod.optout),fe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${ys(r.source)}|null)$`):void 0}),fe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),gd=S("$ZodDefault",(t,e)=>{le.init(t,e),t._zod.optin="optional",fe(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=>Hy(s,e)):Hy(o,e)}});_d=S("$ZodPrefault",(t,e)=>{le.init(t,e),t._zod.optin="optional",fe(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))}),yd=S("$ZodNonOptional",(t,e)=>{le.init(t,e),fe(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=>qy(s,t)):qy(o,t)}});xd=S("$ZodCatch",(t,e)=>{le.init(t,e),t._zod.optin="optional",fe(t._zod,"optout",()=>e.innerType._zod.optout),fe(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=>Bt(i,n,_t()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>Bt(s,n,_t()))},input:r.value}),r.issues=[]),r)}}),vd=S("$ZodPipe",(t,e)=>{le.init(t,e),fe(t._zod,"values",()=>e.in._zod.values),fe(t._zod,"optin",()=>e.in._zod.optin),fe(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=>By(s,e,n)):By(o,e,n)}});bd=S("$ZodReadonly",(t,e)=>{le.init(t,e),fe(t._zod,"propValues",()=>e.innerType._zod.propValues),fe(t._zod,"values",()=>e.innerType._zod.values),fe(t._zod,"optin",()=>e.innerType._zod.optin),fe(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(Vy):Vy(o)}});Sd=S("$ZodCustom",(t,e)=>{He.init(t,e),le.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=>Wy(s,r,n,t));Wy(o,r,n,t)}})});function ex(){return{localeError:zT()}}var NT,zT,tx=v(()=>{ar();NT=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},zT=()=>{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 ${NT(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Xi(n.values[0])}`:`Invalid option: expected one of ${Ji(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":""}: ${Ji(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 ca=v(()=>{});function rx(){return new ks}var ks,Lr,wd=v(()=>{ks=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)}};Lr=rx()});function $d(t,e){return new t({type:"string",...L(e)})}function Ed(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...L(e)})}function ua(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...L(e)})}function Td(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...L(e)})}function Pd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(e)})}function Rd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(e)})}function Od(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(e)})}function Cd(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...L(e)})}function Id(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...L(e)})}function Ad(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(e)})}function Nd(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...L(e)})}function zd(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(e)})}function jd(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...L(e)})}function Md(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...L(e)})}function Dd(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(e)})}function Ld(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(e)})}function Fd(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(e)})}function Ud(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(e)})}function Zd(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(e)})}function Hd(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...L(e)})}function qd(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...L(e)})}function Bd(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...L(e)})}function Vd(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...L(e)})}function nx(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(e)})}function ox(t,e){return new t({type:"string",format:"date",check:"string_format",...L(e)})}function sx(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...L(e)})}function ix(t,e){return new t({type:"string",format:"duration",check:"string_format",...L(e)})}function Wd(t,e){return new t({type:"number",checks:[],...L(e)})}function Gd(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...L(e)})}function Kd(t,e){return new t({type:"boolean",...L(e)})}function Jd(t,e){return new t({type:"null",...L(e)})}function Yd(t){return new t({type:"unknown"})}function Xd(t,e){return new t({type:"never",...L(e)})}function la(t,e){return new Il({check:"less_than",...L(e),value:t,inclusive:!1})}function ws(t,e){return new Il({check:"less_than",...L(e),value:t,inclusive:!0})}function da(t,e){return new Al({check:"greater_than",...L(e),value:t,inclusive:!1})}function $s(t,e){return new Al({check:"greater_than",...L(e),value:t,inclusive:!0})}function pa(t,e){return new $y({check:"multiple_of",...L(e),value:t})}function ma(t,e){return new Ty({check:"max_length",...L(e),maximum:t})}function ho(t,e){return new Py({check:"min_length",...L(e),minimum:t})}function fa(t,e){return new Ry({check:"length_equals",...L(e),length:t})}function Qd(t,e){return new Oy({check:"string_format",format:"regex",...L(e),pattern:t})}function ep(t){return new Cy({check:"string_format",format:"lowercase",...L(t)})}function tp(t){return new Iy({check:"string_format",format:"uppercase",...L(t)})}function rp(t,e){return new Ay({check:"string_format",format:"includes",...L(e),includes:t})}function np(t,e){return new Ny({check:"string_format",format:"starts_with",...L(e),prefix:t})}function op(t,e){return new zy({check:"string_format",format:"ends_with",...L(e),suffix:t})}function Cn(t){return new jy({check:"overwrite",tx:t})}function sp(t){return Cn(e=>e.normalize(t))}function ip(){return Cn(t=>t.trim())}function ap(){return Cn(t=>t.toLowerCase())}function cp(){return Cn(t=>t.toUpperCase())}function ax(t,e,r){return new t({type:"array",element:e,...L(r)})}function up(t,e,r){let n=L(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function lp(t,e,r){return new t({type:"custom",check:"custom",fn:e,...L(r)})}var cx=v(()=>{ra();ar()});var ux=v(()=>{});function dp(t,e){if(t instanceof ks){let n=new ha(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 ha(e);return r.process(t),r.emit(t,e)}function De(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 De(o.element,r);case"object":{for(let s in o.shape)if(De(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(De(s,r))return!0;return!1}case"intersection":return De(o.left,r)||De(o.right,r);case"tuple":{for(let s of o.items)if(De(s,r))return!0;return!!(o.rest&&De(o.rest,r))}case"record":return De(o.keyType,r)||De(o.valueType,r);case"map":return De(o.keyType,r)||De(o.valueType,r);case"set":return De(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return De(o.innerType,r);case"lazy":return De(o.getter(),r);case"default":return De(o.innerType,r);case"prefault":return De(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return De(o.in,r)||De(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var ha,lx=v(()=>{wd();ar();ha=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??Lr,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:x}=e._zod.bag;if(typeof f=="number"&&(p.minLength=f),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),x&&(p.contentEncoding=x),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:x,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 x=="number"&&(p.exclusiveMaximum=x),typeof g=="number"&&(p.maximum=g,typeof x=="number"&&(x<=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 x=o.shape[y]._zod;return this.io==="input"?x.optin===void 0:x.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]}),_=x=>"allOf"in x&&Object.keys(x).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,x)=>this.process(y,{...d,path:[...d.path,"prefixItems",x]}));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=hs(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(x=>({...f,contentMediaType:x})):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"&&De(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("/")}/<root>
43
+ path: iss.path ? [${Pn(y)}, ...iss.path] : [${Pn(y)}]
44
+ })));`),m.write(`newResult[${Pn(y)}] = ${x}.value`)}m.write("payload.value = newResult;"),m.write("return payload;");let _=m.compile();return(y,x)=>_(d,y,x)},o,s=ho,i=!ta.jitless,c=i&&xl.value,u=e.catchall,l;t._zod.parse=(d,m)=>{l??(l=r.value);let f=d.value;if(!s(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:t}),d;let p=[];if(i&&c&&m?.async===!1&&m.jitless!==!0)o||(o=n(e.shape)),d=o(d,m);else{d.value={};let x=l.shape;for(let k of l.keys){let E=x[k],B=E._zod.run({value:f[k],issues:[]},m),H=E._zod.optin==="optional"&&E._zod.optout==="optional";B instanceof Promise?p.push(B.then(J=>H?By(J,d,k,f):la(J,d,k))):H?By(B,d,k,f):la(B,d,k)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,_=u._zod,y=_.def.type;for(let x of Object.keys(f)){if(g.has(x))continue;if(y==="never"){h.push(x);continue}let k=_.run({value:f[x],issues:[]},m);k instanceof Promise?p.push(k.then(E=>la(E,d,x))):la(k,d,x)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:f,inst:t}),p.length?Promise.all(p).then(()=>d):d}});ma=b("$ZodUnion",(t,e)=>{de.init(t,e),ge(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ge(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ge(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),ge(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=>Ss(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=>Vy(i,r,t,n)):Vy(s,r,t,n)}}),pd=b("$ZodDiscriminatedUnion",(t,e)=>{ma.init(t,e);let r=t._zod.parse;ge(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=xs(()=>{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(!ho(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)}}),md=b("$ZodIntersection",(t,e)=>{de.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])=>Wy(r,c,u)):Wy(r,s,i)}});fd=b("$ZodRecord",(t,e)=>{de.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!go(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(...ar(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...ar(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=>Vt(u,n,yt())),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(...ar(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...ar(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}}),hd=b("$ZodEnum",(t,e)=>{de.init(t,e);let r=ys(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>vl.has(typeof n)).map(n=>typeof n=="string"?Fr(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}}),gd=b("$ZodLiteral",(t,e)=>{de.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?Fr(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}}),_d=b("$ZodTransform",(t,e)=>{de.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 br;return r.value=o,r}}),yd=b("$ZodOptional",(t,e)=>{de.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ge(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ge(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Ss(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)}),xd=b("$ZodNullable",(t,e)=>{de.init(t,e),ge(t._zod,"optin",()=>e.innerType._zod.optin),ge(t._zod,"optout",()=>e.innerType._zod.optout),ge(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Ss(r.source)}|null)$`):void 0}),ge(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)}),vd=b("$ZodDefault",(t,e)=>{de.init(t,e),t._zod.optin="optional",ge(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=>Gy(s,e)):Gy(o,e)}});Sd=b("$ZodPrefault",(t,e)=>{de.init(t,e),t._zod.optin="optional",ge(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))}),bd=b("$ZodNonOptional",(t,e)=>{de.init(t,e),ge(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=>Ky(s,t)):Ky(o,t)}});kd=b("$ZodCatch",(t,e)=>{de.init(t,e),t._zod.optin="optional",ge(t._zod,"optout",()=>e.innerType._zod.optout),ge(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=>Vt(i,n,yt()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>Vt(s,n,yt()))},input:r.value}),r.issues=[]),r)}}),wd=b("$ZodPipe",(t,e)=>{de.init(t,e),ge(t._zod,"values",()=>e.in._zod.values),ge(t._zod,"optin",()=>e.in._zod.optin),ge(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=>Jy(s,e,n)):Jy(o,e,n)}});$d=b("$ZodReadonly",(t,e)=>{de.init(t,e),ge(t._zod,"propValues",()=>e.innerType._zod.propValues),ge(t._zod,"values",()=>e.innerType._zod.values),ge(t._zod,"optin",()=>e.innerType._zod.optin),ge(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(Yy):Yy(o)}});Ed=b("$ZodCustom",(t,e)=>{Be.init(t,e),de.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=>Xy(s,r,n,t));Xy(o,r,n,t)}})});function sx(){return{localeError:JT()}}var KT,JT,ix=v(()=>{cr();KT=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},JT=()=>{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 ${KT(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${oa(n.values[0])}`:`Invalid option: expected one of ${ra(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":""}: ${ra(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 fa=v(()=>{});function ax(){return new Es}var Es,Ur,Pd=v(()=>{Es=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)}};Ur=ax()});function Rd(t,e){return new t({type:"string",...L(e)})}function Od(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...L(e)})}function ha(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...L(e)})}function Cd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...L(e)})}function Id(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(e)})}function Ad(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(e)})}function Nd(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(e)})}function zd(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...L(e)})}function jd(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...L(e)})}function Dd(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(e)})}function Md(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...L(e)})}function Ld(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(e)})}function Fd(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...L(e)})}function Ud(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...L(e)})}function Zd(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(e)})}function Hd(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(e)})}function qd(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(e)})}function Bd(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(e)})}function Vd(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(e)})}function Wd(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...L(e)})}function Gd(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...L(e)})}function Kd(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...L(e)})}function Jd(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...L(e)})}function cx(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(e)})}function ux(t,e){return new t({type:"string",format:"date",check:"string_format",...L(e)})}function lx(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...L(e)})}function dx(t,e){return new t({type:"string",format:"duration",check:"string_format",...L(e)})}function Yd(t,e){return new t({type:"number",checks:[],...L(e)})}function Xd(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...L(e)})}function Qd(t,e){return new t({type:"boolean",...L(e)})}function ep(t,e){return new t({type:"null",...L(e)})}function tp(t){return new t({type:"unknown"})}function rp(t,e){return new t({type:"never",...L(e)})}function ga(t,e){return new jl({check:"less_than",...L(e),value:t,inclusive:!1})}function Ts(t,e){return new jl({check:"less_than",...L(e),value:t,inclusive:!0})}function _a(t,e){return new Dl({check:"greater_than",...L(e),value:t,inclusive:!1})}function Ps(t,e){return new Dl({check:"greater_than",...L(e),value:t,inclusive:!0})}function ya(t,e){return new Oy({check:"multiple_of",...L(e),value:t})}function xa(t,e){return new Iy({check:"max_length",...L(e),maximum:t})}function _o(t,e){return new Ay({check:"min_length",...L(e),minimum:t})}function va(t,e){return new Ny({check:"length_equals",...L(e),length:t})}function np(t,e){return new zy({check:"string_format",format:"regex",...L(e),pattern:t})}function op(t){return new jy({check:"string_format",format:"lowercase",...L(t)})}function sp(t){return new Dy({check:"string_format",format:"uppercase",...L(t)})}function ip(t,e){return new My({check:"string_format",format:"includes",...L(e),includes:t})}function ap(t,e){return new Ly({check:"string_format",format:"starts_with",...L(e),prefix:t})}function cp(t,e){return new Fy({check:"string_format",format:"ends_with",...L(e),suffix:t})}function In(t){return new Uy({check:"overwrite",tx:t})}function up(t){return In(e=>e.normalize(t))}function lp(){return In(t=>t.trim())}function dp(){return In(t=>t.toLowerCase())}function pp(){return In(t=>t.toUpperCase())}function px(t,e,r){return new t({type:"array",element:e,...L(r)})}function mp(t,e,r){let n=L(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function fp(t,e,r){return new t({type:"custom",check:"custom",fn:e,...L(r)})}var mx=v(()=>{ca();cr()});var fx=v(()=>{});function hp(t,e){if(t instanceof Es){let n=new Sa(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 Sa(e);return r.process(t),r.emit(t,e)}function Le(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 Le(o.element,r);case"object":{for(let s in o.shape)if(Le(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(Le(s,r))return!0;return!1}case"intersection":return Le(o.left,r)||Le(o.right,r);case"tuple":{for(let s of o.items)if(Le(s,r))return!0;return!!(o.rest&&Le(o.rest,r))}case"record":return Le(o.keyType,r)||Le(o.valueType,r);case"map":return Le(o.keyType,r)||Le(o.valueType,r);case"set":return Le(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Le(o.innerType,r);case"lazy":return Le(o.getter(),r);case"default":return Le(o.innerType,r);case"prefault":return Le(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Le(o.in,r)||Le(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Sa,hx=v(()=>{Pd();cr();Sa=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},m=e._zod.parent;if(m)a.ref=m,this.process(m,d),this.seen.get(m).isParent=!0;else{let f=a.schema;switch(o.type){case"string":{let p=f;p.type="string";let{minimum:h,maximum:g,format:_,patterns:y,contentEncoding:x}=e._zod.bag;if(typeof h=="number"&&(p.minLength=h),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),x&&(p.contentEncoding=x),y&&y.size>0){let k=[...y];k.length===1?p.pattern=k[0].source:k.length>1&&(a.schema.allOf=[...k.map(E=>({...this.target==="draft-7"?{type:"string"}:{},pattern:E.source}))])}break}case"number":{let p=f,{minimum:h,maximum:g,format:_,multipleOf:y,exclusiveMaximum:x,exclusiveMinimum:k}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof k=="number"&&(p.exclusiveMinimum=k),typeof h=="number"&&(p.minimum=h,typeof k=="number"&&(k>=h?delete p.minimum:delete p.exclusiveMinimum)),typeof x=="number"&&(p.exclusiveMaximum=x),typeof g=="number"&&(p.maximum=g,typeof x=="number"&&(x<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof y=="number"&&(p.multipleOf=y);break}case"boolean":{let p=f;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":{f.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":{f.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=f,{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=f;p.type="object",p.properties={};let h=o.shape;for(let y in h)p.properties[y]=this.process(h[y],{...d,path:[...d.path,"properties",y]});let g=new Set(Object.keys(h)),_=new Set([...g].filter(y=>{let x=o.shape[y]._zod;return this.io==="input"?x.optin===void 0:x.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=f;p.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=f,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=x=>"allOf"in x&&Object.keys(x).length===1,y=[..._(h)?h.allOf:[h],..._(g)?g.allOf:[g]];p.allOf=y;break}case"tuple":{let p=f;p.type="array";let h=o.items.map((y,x)=>this.process(y,{...d,path:[...d.path,"prefixItems",x]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,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=f;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=f,h=ys(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=f,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=f,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:y}=e._zod.bag;g!==void 0&&(h.minLength=g),_!==void 0&&(h.maxLength=_),y?y.length===1?(h.contentMediaType=y[0],Object.assign(p,h)):p.anyOf=y.map(x=>({...h,contentMediaType:x})):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);f.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=f;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,f.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(f._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")}f.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=f,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,f.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"&&Le(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??(y=>y);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 f=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:f+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:m,defId:f}=s(l);d.def={...d.schema},f&&(d.defId=f);let p=d.schema;for(let h in p)delete p[h];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("/")}/<root>
45
45
 
46
- 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 dx=v(()=>{});var tt=v(()=>{po();Rl();Sl();Qy();ra();zl();ar();ta();ca();wd();Nl();ux();cx();lx();dx()});var pp=v(()=>{tt()});function mp(t,e){let r={type:"object",get shape(){return ee.assignProp(this,"shape",{...t}),this.shape},...ee.normalizeParams(e)};return new _P(r)}var gP,_P,px=v(()=>{tt();tt();pp();gP=S("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");le.init(t,e),t.def=e,t.parse=(r,n)=>wl(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Rn(t,r,n),t.parseAsync=async(r,n)=>El(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>On(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)=>yt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))}),_P=S("ZodMiniObject",(t,e)=>{ia.init(t,e),gP.init(t,e),ee.defineLazy(t,"shape",()=>e.shape)})});var mx=v(()=>{});var fx=v(()=>{});var hx=v(()=>{});var gx=v(()=>{tt();pp();px();mx();tt();ca();fx();hx()});var _x=v(()=>{gx()});var fp=v(()=>{_x()});function Ct(t){return!!t._zod}function An(t){let e=Object.values(t);if(e.length===0)return mp({});let r=e.every(Ct),n=e.every(o=>!Ct(o));if(r)return mp(t);if(n)return ul(t);throw new Error("Mixed Zod versions detected in object shape.")}function Fr(t,e){return Ct(t)?Rn(t,e):t.safeParse(e)}async function ga(t,e){return Ct(t)?await On(t,e):await t.safeParseAsync(e)}function Ur(t){if(!t)return;let e;if(Ct(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function go(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 An(t)}}if(Ct(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 _a(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 xx(t){return t.description}function vx(t){if(Ct(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function ya(t){if(Ct(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 Es=v(()=>{ms();fp()});var hp=v(()=>{tt()});var Ts={};Me(Ts,{ZodISODate:()=>Sx,ZodISODateTime:()=>bx,ZodISODuration:()=>wx,ZodISOTime:()=>kx,date:()=>_p,datetime:()=>gp,duration:()=>xp,time:()=>yp});function gp(t){return nx(bx,t)}function _p(t){return ox(Sx,t)}function yp(t){return sx(kx,t)}function xp(t){return ix(wx,t)}var bx,Sx,kx,wx,vp=v(()=>{tt();bp();bx=S("ZodISODateTime",(t,e)=>{Gy.init(t,e),Se.init(t,e)});Sx=S("ZodISODate",(t,e)=>{Ky.init(t,e),Se.init(t,e)});kx=S("ZodISOTime",(t,e)=>{Jy.init(t,e),Se.init(t,e)});wx=S("ZodISODuration",(t,e)=>{Yy.init(t,e),Se.init(t,e)})});var $x,VF,Ps,Sp=v(()=>{tt();tt();$x=(t,e)=>{Qi.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>bl(t,r)},flatten:{value:r=>vl(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},VF=S("ZodError",$x),Ps=S("ZodError",$x,{Parent:Error})});var Ex,Tx,Px,Rx,kp=v(()=>{tt();Sp();Ex=kl(Ps),Tx=$l(Ps),Px=Tl(Ps),Rx=Pl(Ps)});function b(t){return $d(TP,t)}function ce(t){return Wd(Nx,t)}function Cx(t){return Gd(BP,t)}function Le(t){return Kd(VP,t)}function Ep(t){return Jd(WP,t)}function ke(){return Yd(GP)}function JP(t){return Xd(KP,t)}function te(t,e){return ax(YP,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 zx(r)}function rt(t,e){return new zx({type:"object",get shape(){return ee.assignProp(this,"shape",{...t}),this.shape},catchall:ke(),...ee.normalizeParams(e)})}function ge(t,e){return new jx({type:"union",options:t,...ee.normalizeParams(e)})}function Tp(t,e,r){return new XP({type:"union",options:e,discriminator:t,...ee.normalizeParams(r)})}function va(t,e){return new QP({type:"intersection",left:t,right:e})}function we(t,e,r){return new eR({type:"record",keyType:t,valueType:e,...ee.normalizeParams(r)})}function ut(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new wp({type:"enum",entries:r,...ee.normalizeParams(e)})}function z(t,e){return new tR({type:"literal",values:Array.isArray(t)?t:[t],...ee.normalizeParams(e)})}function Mx(t){return new rR({type:"transform",transform:t})}function Ee(t){return new Dx({type:"optional",innerType:t})}function Ix(t){return new nR({type:"nullable",innerType:t})}function sR(t,e){return new oR({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}function aR(t,e){return new iR({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}function cR(t,e){return new Lx({type:"nonoptional",innerType:t,...ee.normalizeParams(e)})}function lR(t,e){return new uR({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}function $p(t,e){return new dR({type:"pipe",in:t,out:e})}function mR(t){return new pR({type:"readonly",innerType:t})}function fR(t){let e=new He({check:"custom"});return e._zod.check=t,e}function Ux(t,e){return up(Fx,t??(()=>!0),e)}function hR(t,e={}){return lp(Fx,t,e)}function gR(t){let e=fR(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 Pp(t,e){return $p(Mx(t),e)}var Te,Ax,TP,Se,PP,Ox,xa,RP,OP,CP,IP,AP,NP,zP,jP,MP,DP,LP,FP,UP,ZP,HP,qP,Nx,BP,VP,WP,GP,KP,YP,zx,jx,XP,QP,eR,wp,tR,rR,Dx,nR,oR,iR,Lx,uR,dR,pR,Fx,bp=v(()=>{tt();tt();hp();vp();kp();Te=S("ZodType",(t,e)=>(le.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)=>yt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>Ex(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Px(t,r,n),t.parseAsync=async(r,n)=>Tx(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Rx(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(hR(r,n)),t.superRefine=r=>t.check(gR(r)),t.overwrite=r=>t.check(Cn(r)),t.optional=()=>Ee(t),t.nullable=()=>Ix(t),t.nullish=()=>Ee(Ix(t)),t.nonoptional=r=>cR(t,r),t.array=()=>te(t),t.or=r=>ge([t,r]),t.and=r=>va(t,r),t.transform=r=>$p(t,Mx(r)),t.default=r=>sR(t,r),t.prefault=r=>aR(t,r),t.catch=r=>lR(t,r),t.pipe=r=>$p(t,r),t.readonly=()=>mR(t),t.describe=r=>{let n=t.clone();return Lr.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return Lr.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return Lr.get(t);let n=t.clone();return Lr.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Ax=S("_ZodString",(t,e)=>{Ss.init(t,e),Te.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(Qd(...n)),t.includes=(...n)=>t.check(rp(...n)),t.startsWith=(...n)=>t.check(np(...n)),t.endsWith=(...n)=>t.check(op(...n)),t.min=(...n)=>t.check(ho(...n)),t.max=(...n)=>t.check(ma(...n)),t.length=(...n)=>t.check(fa(...n)),t.nonempty=(...n)=>t.check(ho(1,...n)),t.lowercase=n=>t.check(ep(n)),t.uppercase=n=>t.check(tp(n)),t.trim=()=>t.check(ip()),t.normalize=(...n)=>t.check(sp(...n)),t.toLowerCase=()=>t.check(ap()),t.toUpperCase=()=>t.check(cp())}),TP=S("ZodString",(t,e)=>{Ss.init(t,e),Ax.init(t,e),t.email=r=>t.check(Ed(PP,r)),t.url=r=>t.check(Cd(RP,r)),t.jwt=r=>t.check(Vd(qP,r)),t.emoji=r=>t.check(Id(OP,r)),t.guid=r=>t.check(ua(Ox,r)),t.uuid=r=>t.check(Td(xa,r)),t.uuidv4=r=>t.check(Pd(xa,r)),t.uuidv6=r=>t.check(Rd(xa,r)),t.uuidv7=r=>t.check(Od(xa,r)),t.nanoid=r=>t.check(Ad(CP,r)),t.guid=r=>t.check(ua(Ox,r)),t.cuid=r=>t.check(Nd(IP,r)),t.cuid2=r=>t.check(zd(AP,r)),t.ulid=r=>t.check(jd(NP,r)),t.base64=r=>t.check(Hd(UP,r)),t.base64url=r=>t.check(qd(ZP,r)),t.xid=r=>t.check(Md(zP,r)),t.ksuid=r=>t.check(Dd(jP,r)),t.ipv4=r=>t.check(Ld(MP,r)),t.ipv6=r=>t.check(Fd(DP,r)),t.cidrv4=r=>t.check(Ud(LP,r)),t.cidrv6=r=>t.check(Zd(FP,r)),t.e164=r=>t.check(Bd(HP,r)),t.datetime=r=>t.check(gp(r)),t.date=r=>t.check(_p(r)),t.time=r=>t.check(yp(r)),t.duration=r=>t.check(xp(r))});Se=S("ZodStringFormat",(t,e)=>{he.init(t,e),Ax.init(t,e)}),PP=S("ZodEmail",(t,e)=>{Ll.init(t,e),Se.init(t,e)}),Ox=S("ZodGUID",(t,e)=>{Ml.init(t,e),Se.init(t,e)}),xa=S("ZodUUID",(t,e)=>{Dl.init(t,e),Se.init(t,e)}),RP=S("ZodURL",(t,e)=>{Fl.init(t,e),Se.init(t,e)}),OP=S("ZodEmoji",(t,e)=>{Ul.init(t,e),Se.init(t,e)}),CP=S("ZodNanoID",(t,e)=>{Zl.init(t,e),Se.init(t,e)}),IP=S("ZodCUID",(t,e)=>{Hl.init(t,e),Se.init(t,e)}),AP=S("ZodCUID2",(t,e)=>{ql.init(t,e),Se.init(t,e)}),NP=S("ZodULID",(t,e)=>{Bl.init(t,e),Se.init(t,e)}),zP=S("ZodXID",(t,e)=>{Vl.init(t,e),Se.init(t,e)}),jP=S("ZodKSUID",(t,e)=>{Wl.init(t,e),Se.init(t,e)}),MP=S("ZodIPv4",(t,e)=>{Gl.init(t,e),Se.init(t,e)}),DP=S("ZodIPv6",(t,e)=>{Kl.init(t,e),Se.init(t,e)}),LP=S("ZodCIDRv4",(t,e)=>{Jl.init(t,e),Se.init(t,e)}),FP=S("ZodCIDRv6",(t,e)=>{Yl.init(t,e),Se.init(t,e)}),UP=S("ZodBase64",(t,e)=>{Xl.init(t,e),Se.init(t,e)}),ZP=S("ZodBase64URL",(t,e)=>{Ql.init(t,e),Se.init(t,e)}),HP=S("ZodE164",(t,e)=>{ed.init(t,e),Se.init(t,e)}),qP=S("ZodJWT",(t,e)=>{td.init(t,e),Se.init(t,e)}),Nx=S("ZodNumber",(t,e)=>{sa.init(t,e),Te.init(t,e),t.gt=(n,o)=>t.check(da(n,o)),t.gte=(n,o)=>t.check($s(n,o)),t.min=(n,o)=>t.check($s(n,o)),t.lt=(n,o)=>t.check(la(n,o)),t.lte=(n,o)=>t.check(ws(n,o)),t.max=(n,o)=>t.check(ws(n,o)),t.int=n=>t.check(Cx(n)),t.safe=n=>t.check(Cx(n)),t.positive=n=>t.check(da(0,n)),t.nonnegative=n=>t.check($s(0,n)),t.negative=n=>t.check(la(0,n)),t.nonpositive=n=>t.check(ws(0,n)),t.multipleOf=(n,o)=>t.check(pa(n,o)),t.step=(n,o)=>t.check(pa(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});BP=S("ZodNumberFormat",(t,e)=>{rd.init(t,e),Nx.init(t,e)});VP=S("ZodBoolean",(t,e)=>{nd.init(t,e),Te.init(t,e)});WP=S("ZodNull",(t,e)=>{od.init(t,e),Te.init(t,e)});GP=S("ZodUnknown",(t,e)=>{sd.init(t,e),Te.init(t,e)});KP=S("ZodNever",(t,e)=>{id.init(t,e),Te.init(t,e)});YP=S("ZodArray",(t,e)=>{ad.init(t,e),Te.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(ho(r,n)),t.nonempty=r=>t.check(ho(1,r)),t.max=(r,n)=>t.check(ma(r,n)),t.length=(r,n)=>t.check(fa(r,n)),t.unwrap=()=>t.element});zx=S("ZodObject",(t,e)=>{ia.init(t,e),Te.init(t,e),ee.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>ut(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ke()}),t.loose=()=>t.clone({...t._zod.def,catchall:ke()}),t.strict=()=>t.clone({...t._zod.def,catchall:JP()}),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(Dx,t,r[0]),t.required=(...r)=>ee.required(Lx,t,r[0])});jx=S("ZodUnion",(t,e)=>{aa.init(t,e),Te.init(t,e),t.options=e.options});XP=S("ZodDiscriminatedUnion",(t,e)=>{jx.init(t,e),cd.init(t,e)});QP=S("ZodIntersection",(t,e)=>{ud.init(t,e),Te.init(t,e)});eR=S("ZodRecord",(t,e)=>{ld.init(t,e),Te.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});wp=S("ZodEnum",(t,e)=>{dd.init(t,e),Te.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 wp({...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 wp({...e,checks:[],...ee.normalizeParams(o),entries:s})}});tR=S("ZodLiteral",(t,e)=>{pd.init(t,e),Te.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]}})});rR=S("ZodTransform",(t,e)=>{md.init(t,e),Te.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)}});Dx=S("ZodOptional",(t,e)=>{fd.init(t,e),Te.init(t,e),t.unwrap=()=>t._zod.def.innerType});nR=S("ZodNullable",(t,e)=>{hd.init(t,e),Te.init(t,e),t.unwrap=()=>t._zod.def.innerType});oR=S("ZodDefault",(t,e)=>{gd.init(t,e),Te.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});iR=S("ZodPrefault",(t,e)=>{_d.init(t,e),Te.init(t,e),t.unwrap=()=>t._zod.def.innerType});Lx=S("ZodNonOptional",(t,e)=>{yd.init(t,e),Te.init(t,e),t.unwrap=()=>t._zod.def.innerType});uR=S("ZodCatch",(t,e)=>{xd.init(t,e),Te.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});dR=S("ZodPipe",(t,e)=>{vd.init(t,e),Te.init(t,e),t.in=e.in,t.out=e.out});pR=S("ZodReadonly",(t,e)=>{bd.init(t,e),Te.init(t,e)});Fx=S("ZodCustom",(t,e)=>{Sd.init(t,e),Te.init(t,e)})});var Zx=v(()=>{});var Hx=v(()=>{});var qx=v(()=>{tt();bp();hp();Sp();kp();Zx();tt();tx();ca();vp();Hx();_t(ex())});var Bx=v(()=>{qx()});var Vx=v(()=>{Bx()});function uv(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function lv(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var Op,Wx,Zr,Sa,qe,Gx,Kx,cU,xR,vR,Cp,xt,Rs,Jx,Be,It,At,Ve,ka,Yx,Ip,Xx,Qx,Ap,Os,M,Np,ev,tv,uU,wa,bR,$a,SR,Cs,_o,rv,kR,wR,$R,ER,TR,PR,zp,RR,OR,jp,Ea,CR,IR,Ta,AR,Is,As,NR,Ns,yo,zR,zs,Pa,Ra,Oa,lU,Ca,Ia,Aa,nv,ov,sv,Mp,iv,js,xo,av,jR,vo,MR,bo,DR,Dp,LR,Na,FR,UR,ZR,HR,qR,BR,VR,WR,GR,KR,So,JR,YR,za,Lp,Fp,Up,XR,QR,eO,Zp,tO,rO,nO,oO,sO,cv,ja,iO,Ma,dU,aO,ko,cO,pU,Ms,uO,Hp,lO,dO,pO,mO,fO,hO,gO,ba,_O,yO,xO,qp,Bp,vO,bO,SO,kO,wO,$O,EO,TO,PO,RO,OO,CO,IO,AO,NO,zO,jO,MO,Da,DO,LO,FO,La,UO,ZO,HO,Vp,qO,mU,fU,hU,gU,_U,yU,N,Rp,wo=v(()=>{Vx();Op="2025-11-25",Wx=[Op,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Zr="io.modelcontextprotocol/related-task",Sa="2.0",qe=Ux(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Gx=ge([b(),ce().int()]),Kx=b(),cU=rt({ttl:ge([ce(),Ep()]).optional(),pollInterval:ce().optional()}),xR=C({ttl:ce().optional()}),vR=C({taskId:b()}),Cp=rt({progressToken:Gx.optional(),[Zr]:vR.optional()}),xt=C({_meta:Cp.optional()}),Rs=xt.extend({task:xR.optional()}),Jx=t=>Rs.safeParse(t).success,Be=C({method:b(),params:xt.loose().optional()}),It=C({_meta:Cp.optional()}),At=C({method:b(),params:It.loose().optional()}),Ve=rt({_meta:Cp.optional()}),ka=ge([b(),ce().int()]),Yx=C({jsonrpc:z(Sa),id:ka,...Be.shape}).strict(),Ip=t=>Yx.safeParse(t).success,Xx=C({jsonrpc:z(Sa),...At.shape}).strict(),Qx=t=>Xx.safeParse(t).success,Ap=C({jsonrpc:z(Sa),id:ka,result:Ve}).strict(),Os=t=>Ap.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"})(M||(M={}));Np=C({jsonrpc:z(Sa),id:ka.optional(),error:C({code:ce().int(),message:b(),data:ke().optional()})}).strict(),ev=t=>Np.safeParse(t).success,tv=ge([Yx,Xx,Ap,Np]),uU=ge([Ap,Np]),wa=Ve.strict(),bR=It.extend({requestId:ka.optional(),reason:b().optional()}),$a=At.extend({method:z("notifications/cancelled"),params:bR}),SR=C({src:b(),mimeType:b().optional(),sizes:te(b()).optional(),theme:ut(["light","dark"]).optional()}),Cs=C({icons:te(SR).optional()}),_o=C({name:b(),title:b().optional()}),rv=_o.extend({..._o.shape,...Cs.shape,version:b(),websiteUrl:b().optional(),description:b().optional()}),kR=va(C({applyDefaults:Le().optional()}),we(b(),ke())),wR=Pp(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,va(C({form:kR.optional(),url:qe.optional()}),we(b(),ke()).optional())),$R=rt({list:qe.optional(),cancel:qe.optional(),requests:rt({sampling:rt({createMessage:qe.optional()}).optional(),elicitation:rt({create:qe.optional()}).optional()}).optional()}),ER=rt({list:qe.optional(),cancel:qe.optional(),requests:rt({tools:rt({call:qe.optional()}).optional()}).optional()}),TR=C({experimental:we(b(),qe).optional(),sampling:C({context:qe.optional(),tools:qe.optional()}).optional(),elicitation:wR.optional(),roots:C({listChanged:Le().optional()}).optional(),tasks:$R.optional()}),PR=xt.extend({protocolVersion:b(),capabilities:TR,clientInfo:rv}),zp=Be.extend({method:z("initialize"),params:PR}),RR=C({experimental:we(b(),qe).optional(),logging:qe.optional(),completions:qe.optional(),prompts:C({listChanged:Le().optional()}).optional(),resources:C({subscribe:Le().optional(),listChanged:Le().optional()}).optional(),tools:C({listChanged:Le().optional()}).optional(),tasks:ER.optional()}),OR=Ve.extend({protocolVersion:b(),capabilities:RR,serverInfo:rv,instructions:b().optional()}),jp=At.extend({method:z("notifications/initialized"),params:It.optional()}),Ea=Be.extend({method:z("ping"),params:xt.optional()}),CR=C({progress:ce(),total:Ee(ce()),message:Ee(b())}),IR=C({...It.shape,...CR.shape,progressToken:Gx}),Ta=At.extend({method:z("notifications/progress"),params:IR}),AR=xt.extend({cursor:Kx.optional()}),Is=Be.extend({params:AR.optional()}),As=Ve.extend({nextCursor:Kx.optional()}),NR=ut(["working","input_required","completed","failed","cancelled"]),Ns=C({taskId:b(),status:NR,ttl:ge([ce(),Ep()]),createdAt:b(),lastUpdatedAt:b(),pollInterval:Ee(ce()),statusMessage:Ee(b())}),yo=Ve.extend({task:Ns}),zR=It.merge(Ns),zs=At.extend({method:z("notifications/tasks/status"),params:zR}),Pa=Be.extend({method:z("tasks/get"),params:xt.extend({taskId:b()})}),Ra=Ve.merge(Ns),Oa=Be.extend({method:z("tasks/result"),params:xt.extend({taskId:b()})}),lU=Ve.loose(),Ca=Is.extend({method:z("tasks/list")}),Ia=As.extend({tasks:te(Ns)}),Aa=Be.extend({method:z("tasks/cancel"),params:xt.extend({taskId:b()})}),nv=Ve.merge(Ns),ov=C({uri:b(),mimeType:Ee(b()),_meta:we(b(),ke()).optional()}),sv=ov.extend({text:b()}),Mp=b().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),iv=ov.extend({blob:Mp}),js=ut(["user","assistant"]),xo=C({audience:te(js).optional(),priority:ce().min(0).max(1).optional(),lastModified:Ts.datetime({offset:!0}).optional()}),av=C({..._o.shape,...Cs.shape,uri:b(),description:Ee(b()),mimeType:Ee(b()),annotations:xo.optional(),_meta:Ee(rt({}))}),jR=C({..._o.shape,...Cs.shape,uriTemplate:b(),description:Ee(b()),mimeType:Ee(b()),annotations:xo.optional(),_meta:Ee(rt({}))}),vo=Is.extend({method:z("resources/list")}),MR=As.extend({resources:te(av)}),bo=Is.extend({method:z("resources/templates/list")}),DR=As.extend({resourceTemplates:te(jR)}),Dp=xt.extend({uri:b()}),LR=Dp,Na=Be.extend({method:z("resources/read"),params:LR}),FR=Ve.extend({contents:te(ge([sv,iv]))}),UR=At.extend({method:z("notifications/resources/list_changed"),params:It.optional()}),ZR=Dp,HR=Be.extend({method:z("resources/subscribe"),params:ZR}),qR=Dp,BR=Be.extend({method:z("resources/unsubscribe"),params:qR}),VR=It.extend({uri:b()}),WR=At.extend({method:z("notifications/resources/updated"),params:VR}),GR=C({name:b(),description:Ee(b()),required:Ee(Le())}),KR=C({..._o.shape,...Cs.shape,description:Ee(b()),arguments:Ee(te(GR)),_meta:Ee(rt({}))}),So=Is.extend({method:z("prompts/list")}),JR=As.extend({prompts:te(KR)}),YR=xt.extend({name:b(),arguments:we(b(),b()).optional()}),za=Be.extend({method:z("prompts/get"),params:YR}),Lp=C({type:z("text"),text:b(),annotations:xo.optional(),_meta:we(b(),ke()).optional()}),Fp=C({type:z("image"),data:Mp,mimeType:b(),annotations:xo.optional(),_meta:we(b(),ke()).optional()}),Up=C({type:z("audio"),data:Mp,mimeType:b(),annotations:xo.optional(),_meta:we(b(),ke()).optional()}),XR=C({type:z("tool_use"),name:b(),id:b(),input:we(b(),ke()),_meta:we(b(),ke()).optional()}),QR=C({type:z("resource"),resource:ge([sv,iv]),annotations:xo.optional(),_meta:we(b(),ke()).optional()}),eO=av.extend({type:z("resource_link")}),Zp=ge([Lp,Fp,Up,eO,QR]),tO=C({role:js,content:Zp}),rO=Ve.extend({description:b().optional(),messages:te(tO)}),nO=At.extend({method:z("notifications/prompts/list_changed"),params:It.optional()}),oO=C({title:b().optional(),readOnlyHint:Le().optional(),destructiveHint:Le().optional(),idempotentHint:Le().optional(),openWorldHint:Le().optional()}),sO=C({taskSupport:ut(["required","optional","forbidden"]).optional()}),cv=C({..._o.shape,...Cs.shape,description:b().optional(),inputSchema:C({type:z("object"),properties:we(b(),qe).optional(),required:te(b()).optional()}).catchall(ke()),outputSchema:C({type:z("object"),properties:we(b(),qe).optional(),required:te(b()).optional()}).catchall(ke()).optional(),annotations:oO.optional(),execution:sO.optional(),_meta:we(b(),ke()).optional()}),ja=Is.extend({method:z("tools/list")}),iO=As.extend({tools:te(cv)}),Ma=Ve.extend({content:te(Zp).default([]),structuredContent:we(b(),ke()).optional(),isError:Le().optional()}),dU=Ma.or(Ve.extend({toolResult:ke()})),aO=Rs.extend({name:b(),arguments:we(b(),ke()).optional()}),ko=Be.extend({method:z("tools/call"),params:aO}),cO=At.extend({method:z("notifications/tools/list_changed"),params:It.optional()}),pU=C({autoRefresh:Le().default(!0),debounceMs:ce().int().nonnegative().default(300)}),Ms=ut(["debug","info","notice","warning","error","critical","alert","emergency"]),uO=xt.extend({level:Ms}),Hp=Be.extend({method:z("logging/setLevel"),params:uO}),lO=It.extend({level:Ms,logger:b().optional(),data:ke()}),dO=At.extend({method:z("notifications/message"),params:lO}),pO=C({name:b().optional()}),mO=C({hints:te(pO).optional(),costPriority:ce().min(0).max(1).optional(),speedPriority:ce().min(0).max(1).optional(),intelligencePriority:ce().min(0).max(1).optional()}),fO=C({mode:ut(["auto","required","none"]).optional()}),hO=C({type:z("tool_result"),toolUseId:b().describe("The unique identifier for the corresponding tool call."),content:te(Zp).default([]),structuredContent:C({}).loose().optional(),isError:Le().optional(),_meta:we(b(),ke()).optional()}),gO=Tp("type",[Lp,Fp,Up]),ba=Tp("type",[Lp,Fp,Up,XR,hO]),_O=C({role:js,content:ge([ba,te(ba)]),_meta:we(b(),ke()).optional()}),yO=Rs.extend({messages:te(_O),modelPreferences:mO.optional(),systemPrompt:b().optional(),includeContext:ut(["none","thisServer","allServers"]).optional(),temperature:ce().optional(),maxTokens:ce().int(),stopSequences:te(b()).optional(),metadata:qe.optional(),tools:te(cv).optional(),toolChoice:fO.optional()}),xO=Be.extend({method:z("sampling/createMessage"),params:yO}),qp=Ve.extend({model:b(),stopReason:Ee(ut(["endTurn","stopSequence","maxTokens"]).or(b())),role:js,content:gO}),Bp=Ve.extend({model:b(),stopReason:Ee(ut(["endTurn","stopSequence","maxTokens","toolUse"]).or(b())),role:js,content:ge([ba,te(ba)])}),vO=C({type:z("boolean"),title:b().optional(),description:b().optional(),default:Le().optional()}),bO=C({type:z("string"),title:b().optional(),description:b().optional(),minLength:ce().optional(),maxLength:ce().optional(),format:ut(["email","uri","date","date-time"]).optional(),default:b().optional()}),SO=C({type:ut(["number","integer"]),title:b().optional(),description:b().optional(),minimum:ce().optional(),maximum:ce().optional(),default:ce().optional()}),kO=C({type:z("string"),title:b().optional(),description:b().optional(),enum:te(b()),default:b().optional()}),wO=C({type:z("string"),title:b().optional(),description:b().optional(),oneOf:te(C({const:b(),title:b()})),default:b().optional()}),$O=C({type:z("string"),title:b().optional(),description:b().optional(),enum:te(b()),enumNames:te(b()).optional(),default:b().optional()}),EO=ge([kO,wO]),TO=C({type:z("array"),title:b().optional(),description:b().optional(),minItems:ce().optional(),maxItems:ce().optional(),items:C({type:z("string"),enum:te(b())}),default:te(b()).optional()}),PO=C({type:z("array"),title:b().optional(),description:b().optional(),minItems:ce().optional(),maxItems:ce().optional(),items:C({anyOf:te(C({const:b(),title:b()}))}),default:te(b()).optional()}),RO=ge([TO,PO]),OO=ge([$O,EO,RO]),CO=ge([OO,vO,bO,SO]),IO=Rs.extend({mode:z("form").optional(),message:b(),requestedSchema:C({type:z("object"),properties:we(b(),CO),required:te(b()).optional()})}),AO=Rs.extend({mode:z("url"),message:b(),elicitationId:b(),url:b().url()}),NO=ge([IO,AO]),zO=Be.extend({method:z("elicitation/create"),params:NO}),jO=It.extend({elicitationId:b()}),MO=At.extend({method:z("notifications/elicitation/complete"),params:jO}),Da=Ve.extend({action:ut(["accept","decline","cancel"]),content:Pp(t=>t===null?void 0:t,we(b(),ge([b(),ce(),Le(),te(b())])).optional())}),DO=C({type:z("ref/resource"),uri:b()}),LO=C({type:z("ref/prompt"),name:b()}),FO=xt.extend({ref:ge([LO,DO]),argument:C({name:b(),value:b()}),context:C({arguments:we(b(),b()).optional()}).optional()}),La=Be.extend({method:z("completion/complete"),params:FO});UO=Ve.extend({completion:rt({values:te(b()).max(100),total:Ee(ce().int()),hasMore:Ee(Le())})}),ZO=C({uri:b().startsWith("file://"),name:b().optional(),_meta:we(b(),ke()).optional()}),HO=Be.extend({method:z("roots/list"),params:xt.optional()}),Vp=Ve.extend({roots:te(ZO)}),qO=At.extend({method:z("notifications/roots/list_changed"),params:It.optional()}),mU=ge([Ea,zp,La,Hp,za,So,vo,bo,Na,HR,BR,ko,ja,Pa,Oa,Ca,Aa]),fU=ge([$a,Ta,jp,qO,zs]),hU=ge([wa,qp,Bp,Da,Vp,Ra,Ia,yo]),gU=ge([Ea,xO,zO,HO,Pa,Oa,Ca,Aa]),_U=ge([$a,Ta,dO,WR,UR,cO,nO,zs,MO]),yU=ge([wa,OR,UO,rO,JR,MR,DR,FR,Ma,iO,Ra,Ia,yo]),N=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===M.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Rp(o.elicitations,r)}return new t(e,r,n)}},Rp=class extends N{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(M.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}}});function Hr(t){return t==="completed"||t==="failed"||t==="cancelled"}var dv=v(()=>{});var mv,pv,fv,Fa=v(()=>{mv=Symbol("Let zodToJsonSchema decide on which parser to use"),pv={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"},fv=t=>typeof t=="string"?{...pv,name:t}:{...pv,...t}});var hv,Wp=v(()=>{Fa();hv=t=>{let e=fv(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 Gp(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function re(t,e,r,n,o){t[e]=r,Gp(t,e,n,o)}var qr=v(()=>{});var Ua,Za=v(()=>{Ua=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")}});function $e(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?Ua(e,t.currentPath):e.join("/")}}var Nt=v(()=>{Za()});function gv(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==$.ZodAny&&(r.items=U(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 Kp=v(()=>{ms();qr();ze()});function _v(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 Jp=v(()=>{qr()});function yv(){return{type:"boolean"}}var Yp=v(()=>{});function Ha(t,e){return U(t.type._def,e)}var qa=v(()=>{ze()});var xv,Xp=v(()=>{ze();xv=(t,e)=>U(t.innerType._def,e)});function Qp(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Qp(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 BO(t,e)}}var BO,em=v(()=>{qr();BO=(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 vv(t,e){return{...U(t.innerType._def,e),default:t.defaultValue()}}var tm=v(()=>{ze()});function bv(t,e){return e.effectStrategy==="input"?U(t.schema._def,e):$e(e)}var rm=v(()=>{ze();Nt()});function Sv(t){return{type:"string",enum:Array.from(t.values)}}var nm=v(()=>{});function kv(t,e){let r=[U(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),U(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(VO(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 VO,om=v(()=>{ze();VO=t=>"type"in t&&t.type==="string"?!1:"allOf"in t});function wv(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 sm=v(()=>{});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":Wt(r,"email",n.message,e);break;case"format:idn-email":Wt(r,"idn-email",n.message,e);break;case"pattern:zod":nt(r,Vt.email,n.message,e);break}break;case"url":Wt(r,"uri",n.message,e);break;case"uuid":Wt(r,"uuid",n.message,e);break;case"regex":nt(r,n.regex,n.message,e);break;case"cuid":nt(r,Vt.cuid,n.message,e);break;case"cuid2":nt(r,Vt.cuid2,n.message,e);break;case"startsWith":nt(r,RegExp(`^${am(n.value,e)}`),n.message,e);break;case"endsWith":nt(r,RegExp(`${am(n.value,e)}$`),n.message,e);break;case"datetime":Wt(r,"date-time",n.message,e);break;case"date":Wt(r,"date",n.message,e);break;case"time":Wt(r,"time",n.message,e);break;case"duration":Wt(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":{nt(r,RegExp(am(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&Wt(r,"ipv4",n.message,e),n.version!=="v4"&&Wt(r,"ipv6",n.message,e);break}case"base64url":nt(r,Vt.base64url,n.message,e);break;case"jwt":nt(r,Vt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&nt(r,Vt.ipv4Cidr,n.message,e),n.version!=="v4"&&nt(r,Vt.ipv6Cidr,n.message,e);break}case"emoji":nt(r,Vt.emoji(),n.message,e);break;case"ulid":{nt(r,Vt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{Wt(r,"binary",n.message,e);break}case"contentEncoding:base64":{re(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{nt(r,Vt.base64,n.message,e);break}}break}case"nanoid":nt(r,Vt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function am(t,e){return e.patternStrategy==="escape"?GO(t):t}function GO(t){let e="";for(let r=0;r<t.length;r++)WO.has(t[r])||(e+="\\"),e+=t[r];return e}function Wt(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):re(t,"format",e,r,n)}function nt(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:$v(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):re(t,"pattern",$v(e,n),r,n)}function $v(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
46
+ 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 f=n.external.registry.get(l[0])?.id;if(e!==l[0]&&f){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),f=m.def??m.schema,p={...f};if(m.ref===null)return;let h=m.ref;if(m.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(f.allOf=f.allOf??[],f.allOf.push(g)):(Object.assign(f,g),Object.assign(f,p))}m.isParent||this.override({zodSchema:l,jsonSchema:f,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 gx=v(()=>{});var nt=v(()=>{fo();Al();El();ox();ca();Ll();cr();aa();fa();Pd();Ml();fx();mx();hx();gx()});var gp=v(()=>{nt()});function _p(t,e){let r={type:"object",get shape(){return re.assignProp(this,"shape",{...t}),this.shape},...re.normalizeParams(e)};return new IP(r)}var CP,IP,_x=v(()=>{nt();nt();gp();CP=b("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");de.init(t,e),t.def=e,t.parse=(r,n)=>Pl(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>On(t,r,n),t.parseAsync=async(r,n)=>Ol(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Cn(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)=>xt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))}),IP=b("ZodMiniObject",(t,e)=>{pa.init(t,e),CP.init(t,e),re.defineLazy(t,"shape",()=>e.shape)})});var yx=v(()=>{});var xx=v(()=>{});var vx=v(()=>{});var Sx=v(()=>{nt();gp();_x();yx();nt();fa();xx();vx()});var bx=v(()=>{Sx()});var yp=v(()=>{bx()});function It(t){return!!t._zod}function Nn(t){let e=Object.values(t);if(e.length===0)return _p({});let r=e.every(It),n=e.every(o=>!It(o));if(r)return _p(t);if(n)return ml(t);throw new Error("Mixed Zod versions detected in object shape.")}function Zr(t,e){return It(t)?On(t,e):t.safeParse(e)}async function ba(t,e){return It(t)?await Cn(t,e):await t.safeParseAsync(e)}function Hr(t){if(!t)return;let e;if(It(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function yo(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 Nn(t)}}if(It(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 ka(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 wx(t){return t.description}function $x(t){if(It(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function wa(t){if(It(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 Rs=v(()=>{gs();yp()});var xp=v(()=>{nt()});var Os={};Me(Os,{ZodISODate:()=>Tx,ZodISODateTime:()=>Ex,ZodISODuration:()=>Rx,ZodISOTime:()=>Px,date:()=>Sp,datetime:()=>vp,duration:()=>kp,time:()=>bp});function vp(t){return cx(Ex,t)}function Sp(t){return ux(Tx,t)}function bp(t){return lx(Px,t)}function kp(t){return dx(Rx,t)}var Ex,Tx,Px,Rx,wp=v(()=>{nt();$p();Ex=b("ZodISODateTime",(t,e)=>{Qy.init(t,e),we.init(t,e)});Tx=b("ZodISODate",(t,e)=>{ex.init(t,e),we.init(t,e)});Px=b("ZodISOTime",(t,e)=>{tx.init(t,e),we.init(t,e)});Rx=b("ZodISODuration",(t,e)=>{rx.init(t,e),we.init(t,e)})});var Ox,uU,Cs,Ep=v(()=>{nt();nt();Ox=(t,e)=>{sa.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>$l(t,r)},flatten:{value:r=>wl(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},uU=b("ZodError",Ox),Cs=b("ZodError",Ox,{Parent:Error})});var Cx,Ix,Ax,Nx,Tp=v(()=>{nt();Ep();Cx=Tl(Cs),Ix=Rl(Cs),Ax=Cl(Cs),Nx=Il(Cs)});function S(t){return Rd(ZP,t)}function ue(t){return Yd(Lx,t)}function jx(t){return Xd(iR,t)}function Ue(t){return Qd(aR,t)}function Fx(t){return ep(cR,t)}function $e(){return tp(uR)}function dR(t){return rp(lR,t)}function ne(t,e){return px(pR,t,e)}function C(t,e){let r={type:"object",get shape(){return re.assignProp(this,"shape",{...t}),this.shape},...re.normalizeParams(e)};return new Ux(r)}function ot(t,e){return new Ux({type:"object",get shape(){return re.assignProp(this,"shape",{...t}),this.shape},catchall:$e(),...re.normalizeParams(e)})}function xe(t,e){return new Zx({type:"union",options:t,...re.normalizeParams(e)})}function Op(t,e,r){return new mR({type:"union",options:e,discriminator:t,...re.normalizeParams(r)})}function Ea(t,e){return new fR({type:"intersection",left:t,right:e})}function ye(t,e,r){return new hR({type:"record",keyType:t,valueType:e,...re.normalizeParams(r)})}function dt(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Pp({type:"enum",entries:r,...re.normalizeParams(e)})}function z(t,e){return new gR({type:"literal",values:Array.isArray(t)?t:[t],...re.normalizeParams(e)})}function Hx(t){return new _R({type:"transform",transform:t})}function Ee(t){return new qx({type:"optional",innerType:t})}function Dx(t){return new yR({type:"nullable",innerType:t})}function vR(t,e){return new xR({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}function bR(t,e){return new SR({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}function kR(t,e){return new Bx({type:"nonoptional",innerType:t,...re.normalizeParams(e)})}function $R(t,e){return new wR({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}function Rp(t,e){return new ER({type:"pipe",in:t,out:e})}function PR(t){return new TR({type:"readonly",innerType:t})}function RR(t){let e=new Be({check:"custom"});return e._zod.check=t,e}function Wx(t,e){return mp(Vx,t??(()=>!0),e)}function OR(t,e={}){return fp(Vx,t,e)}function CR(t){let e=RR(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(re.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(re.issue(o))}},t(r.value,r)));return e}function Cp(t,e){return Rp(Hx(t),e)}var Pe,Mx,ZP,we,HP,zx,$a,qP,BP,VP,WP,GP,KP,JP,YP,XP,QP,eR,tR,rR,nR,oR,sR,Lx,iR,aR,cR,uR,lR,pR,Ux,Zx,mR,fR,hR,Pp,gR,_R,qx,yR,xR,SR,Bx,wR,ER,TR,Vx,$p=v(()=>{nt();nt();xp();wp();Tp();Pe=b("ZodType",(t,e)=>(de.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)=>xt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>Cx(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Ax(t,r,n),t.parseAsync=async(r,n)=>Ix(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Nx(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(OR(r,n)),t.superRefine=r=>t.check(CR(r)),t.overwrite=r=>t.check(In(r)),t.optional=()=>Ee(t),t.nullable=()=>Dx(t),t.nullish=()=>Ee(Dx(t)),t.nonoptional=r=>kR(t,r),t.array=()=>ne(t),t.or=r=>xe([t,r]),t.and=r=>Ea(t,r),t.transform=r=>Rp(t,Hx(r)),t.default=r=>vR(t,r),t.prefault=r=>bR(t,r),t.catch=r=>$R(t,r),t.pipe=r=>Rp(t,r),t.readonly=()=>PR(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)),Mx=b("_ZodString",(t,e)=>{$s.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(np(...n)),t.includes=(...n)=>t.check(ip(...n)),t.startsWith=(...n)=>t.check(ap(...n)),t.endsWith=(...n)=>t.check(cp(...n)),t.min=(...n)=>t.check(_o(...n)),t.max=(...n)=>t.check(xa(...n)),t.length=(...n)=>t.check(va(...n)),t.nonempty=(...n)=>t.check(_o(1,...n)),t.lowercase=n=>t.check(op(n)),t.uppercase=n=>t.check(sp(n)),t.trim=()=>t.check(lp()),t.normalize=(...n)=>t.check(up(...n)),t.toLowerCase=()=>t.check(dp()),t.toUpperCase=()=>t.check(pp())}),ZP=b("ZodString",(t,e)=>{$s.init(t,e),Mx.init(t,e),t.email=r=>t.check(Od(HP,r)),t.url=r=>t.check(zd(qP,r)),t.jwt=r=>t.check(Jd(sR,r)),t.emoji=r=>t.check(jd(BP,r)),t.guid=r=>t.check(ha(zx,r)),t.uuid=r=>t.check(Cd($a,r)),t.uuidv4=r=>t.check(Id($a,r)),t.uuidv6=r=>t.check(Ad($a,r)),t.uuidv7=r=>t.check(Nd($a,r)),t.nanoid=r=>t.check(Dd(VP,r)),t.guid=r=>t.check(ha(zx,r)),t.cuid=r=>t.check(Md(WP,r)),t.cuid2=r=>t.check(Ld(GP,r)),t.ulid=r=>t.check(Fd(KP,r)),t.base64=r=>t.check(Wd(rR,r)),t.base64url=r=>t.check(Gd(nR,r)),t.xid=r=>t.check(Ud(JP,r)),t.ksuid=r=>t.check(Zd(YP,r)),t.ipv4=r=>t.check(Hd(XP,r)),t.ipv6=r=>t.check(qd(QP,r)),t.cidrv4=r=>t.check(Bd(eR,r)),t.cidrv6=r=>t.check(Vd(tR,r)),t.e164=r=>t.check(Kd(oR,r)),t.datetime=r=>t.check(vp(r)),t.date=r=>t.check(Sp(r)),t.time=r=>t.check(bp(r)),t.duration=r=>t.check(kp(r))});we=b("ZodStringFormat",(t,e)=>{_e.init(t,e),Mx.init(t,e)}),HP=b("ZodEmail",(t,e)=>{Hl.init(t,e),we.init(t,e)}),zx=b("ZodGUID",(t,e)=>{Ul.init(t,e),we.init(t,e)}),$a=b("ZodUUID",(t,e)=>{Zl.init(t,e),we.init(t,e)}),qP=b("ZodURL",(t,e)=>{ql.init(t,e),we.init(t,e)}),BP=b("ZodEmoji",(t,e)=>{Bl.init(t,e),we.init(t,e)}),VP=b("ZodNanoID",(t,e)=>{Vl.init(t,e),we.init(t,e)}),WP=b("ZodCUID",(t,e)=>{Wl.init(t,e),we.init(t,e)}),GP=b("ZodCUID2",(t,e)=>{Gl.init(t,e),we.init(t,e)}),KP=b("ZodULID",(t,e)=>{Kl.init(t,e),we.init(t,e)}),JP=b("ZodXID",(t,e)=>{Jl.init(t,e),we.init(t,e)}),YP=b("ZodKSUID",(t,e)=>{Yl.init(t,e),we.init(t,e)}),XP=b("ZodIPv4",(t,e)=>{Xl.init(t,e),we.init(t,e)}),QP=b("ZodIPv6",(t,e)=>{Ql.init(t,e),we.init(t,e)}),eR=b("ZodCIDRv4",(t,e)=>{ed.init(t,e),we.init(t,e)}),tR=b("ZodCIDRv6",(t,e)=>{td.init(t,e),we.init(t,e)}),rR=b("ZodBase64",(t,e)=>{rd.init(t,e),we.init(t,e)}),nR=b("ZodBase64URL",(t,e)=>{nd.init(t,e),we.init(t,e)}),oR=b("ZodE164",(t,e)=>{od.init(t,e),we.init(t,e)}),sR=b("ZodJWT",(t,e)=>{sd.init(t,e),we.init(t,e)}),Lx=b("ZodNumber",(t,e)=>{da.init(t,e),Pe.init(t,e),t.gt=(n,o)=>t.check(_a(n,o)),t.gte=(n,o)=>t.check(Ps(n,o)),t.min=(n,o)=>t.check(Ps(n,o)),t.lt=(n,o)=>t.check(ga(n,o)),t.lte=(n,o)=>t.check(Ts(n,o)),t.max=(n,o)=>t.check(Ts(n,o)),t.int=n=>t.check(jx(n)),t.safe=n=>t.check(jx(n)),t.positive=n=>t.check(_a(0,n)),t.nonnegative=n=>t.check(Ps(0,n)),t.negative=n=>t.check(ga(0,n)),t.nonpositive=n=>t.check(Ts(0,n)),t.multipleOf=(n,o)=>t.check(ya(n,o)),t.step=(n,o)=>t.check(ya(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});iR=b("ZodNumberFormat",(t,e)=>{id.init(t,e),Lx.init(t,e)});aR=b("ZodBoolean",(t,e)=>{ad.init(t,e),Pe.init(t,e)});cR=b("ZodNull",(t,e)=>{cd.init(t,e),Pe.init(t,e)});uR=b("ZodUnknown",(t,e)=>{ud.init(t,e),Pe.init(t,e)});lR=b("ZodNever",(t,e)=>{ld.init(t,e),Pe.init(t,e)});pR=b("ZodArray",(t,e)=>{dd.init(t,e),Pe.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(_o(r,n)),t.nonempty=r=>t.check(_o(1,r)),t.max=(r,n)=>t.check(xa(r,n)),t.length=(r,n)=>t.check(va(r,n)),t.unwrap=()=>t.element});Ux=b("ZodObject",(t,e)=>{pa.init(t,e),Pe.init(t,e),re.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>dt(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:dR()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>re.extend(t,r),t.merge=r=>re.merge(t,r),t.pick=r=>re.pick(t,r),t.omit=r=>re.omit(t,r),t.partial=(...r)=>re.partial(qx,t,r[0]),t.required=(...r)=>re.required(Bx,t,r[0])});Zx=b("ZodUnion",(t,e)=>{ma.init(t,e),Pe.init(t,e),t.options=e.options});mR=b("ZodDiscriminatedUnion",(t,e)=>{Zx.init(t,e),pd.init(t,e)});fR=b("ZodIntersection",(t,e)=>{md.init(t,e),Pe.init(t,e)});hR=b("ZodRecord",(t,e)=>{fd.init(t,e),Pe.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});Pp=b("ZodEnum",(t,e)=>{hd.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 Pp({...e,checks:[],...re.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 Pp({...e,checks:[],...re.normalizeParams(o),entries:s})}});gR=b("ZodLiteral",(t,e)=>{gd.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]}})});_R=b("ZodTransform",(t,e)=>{_d.init(t,e),Pe.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(re.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(re.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});qx=b("ZodOptional",(t,e)=>{yd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});yR=b("ZodNullable",(t,e)=>{xd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});xR=b("ZodDefault",(t,e)=>{vd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});SR=b("ZodPrefault",(t,e)=>{Sd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});Bx=b("ZodNonOptional",(t,e)=>{bd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType});wR=b("ZodCatch",(t,e)=>{kd.init(t,e),Pe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});ER=b("ZodPipe",(t,e)=>{wd.init(t,e),Pe.init(t,e),t.in=e.in,t.out=e.out});TR=b("ZodReadonly",(t,e)=>{$d.init(t,e),Pe.init(t,e)});Vx=b("ZodCustom",(t,e)=>{Ed.init(t,e),Pe.init(t,e)})});var Gx=v(()=>{});var Kx=v(()=>{});var Jx=v(()=>{nt();$p();xp();Ep();Tp();Gx();nt();ix();fa();wp();Kx();yt(sx())});var Yx=v(()=>{Jx()});var Xx=v(()=>{Yx()});function hv(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function gv(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var Ap,Qx,qr,Pa,Fe,ev,tv,$U,NR,zR,Np,vt,Is,rv,Ve,At,Nt,We,Ra,nv,zp,ov,sv,jp,As,D,Dp,iv,av,EU,Oa,jR,Ca,DR,Ns,xo,cv,MR,LR,FR,UR,ZR,HR,Mp,qR,BR,Lp,Ia,VR,WR,Aa,GR,zs,js,KR,Ds,vo,JR,Ms,Na,za,ja,TU,Da,Ma,La,uv,lv,dv,Fp,pv,Ls,So,mv,YR,bo,XR,ko,QR,Up,eO,Fa,tO,rO,nO,oO,sO,iO,aO,cO,uO,lO,wo,dO,pO,Ua,Zp,Hp,qp,mO,fO,hO,Bp,gO,_O,yO,xO,vO,fv,Za,SO,Ha,PU,bO,$o,kO,RU,Fs,wO,Vp,$O,EO,TO,PO,RO,OO,CO,Ta,IO,AO,NO,Us,Wp,zO,jO,DO,MO,LO,FO,UO,ZO,HO,qO,BO,VO,WO,GO,KO,JO,YO,XO,Eo,QO,eC,tC,qa,rC,nC,oC,Gp,sC,OU,CU,IU,AU,NU,zU,N,Ip,zn=v(()=>{Xx();Ap="2025-11-25",Qx=[Ap,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],qr="io.modelcontextprotocol/related-task",Pa="2.0",Fe=Wx(t=>t!==null&&(typeof t=="object"||typeof t=="function")),ev=xe([S(),ue().int()]),tv=S(),$U=ot({ttl:ue().optional(),pollInterval:ue().optional()}),NR=C({ttl:ue().optional()}),zR=C({taskId:S()}),Np=ot({progressToken:ev.optional(),[qr]:zR.optional()}),vt=C({_meta:Np.optional()}),Is=vt.extend({task:NR.optional()}),rv=t=>Is.safeParse(t).success,Ve=C({method:S(),params:vt.loose().optional()}),At=C({_meta:Np.optional()}),Nt=C({method:S(),params:At.loose().optional()}),We=ot({_meta:Np.optional()}),Ra=xe([S(),ue().int()]),nv=C({jsonrpc:z(Pa),id:Ra,...Ve.shape}).strict(),zp=t=>nv.safeParse(t).success,ov=C({jsonrpc:z(Pa),...Nt.shape}).strict(),sv=t=>ov.safeParse(t).success,jp=C({jsonrpc:z(Pa),id:Ra,result:We}).strict(),As=t=>jp.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={}));Dp=C({jsonrpc:z(Pa),id:Ra.optional(),error:C({code:ue().int(),message:S(),data:$e().optional()})}).strict(),iv=t=>Dp.safeParse(t).success,av=xe([nv,ov,jp,Dp]),EU=xe([jp,Dp]),Oa=We.strict(),jR=At.extend({requestId:Ra.optional(),reason:S().optional()}),Ca=Nt.extend({method:z("notifications/cancelled"),params:jR}),DR=C({src:S(),mimeType:S().optional(),sizes:ne(S()).optional(),theme:dt(["light","dark"]).optional()}),Ns=C({icons:ne(DR).optional()}),xo=C({name:S(),title:S().optional()}),cv=xo.extend({...xo.shape,...Ns.shape,version:S(),websiteUrl:S().optional(),description:S().optional()}),MR=Ea(C({applyDefaults:Ue().optional()}),ye(S(),$e())),LR=Cp(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Ea(C({form:MR.optional(),url:Fe.optional()}),ye(S(),$e()).optional())),FR=ot({list:Fe.optional(),cancel:Fe.optional(),requests:ot({sampling:ot({createMessage:Fe.optional()}).optional(),elicitation:ot({create:Fe.optional()}).optional()}).optional()}),UR=ot({list:Fe.optional(),cancel:Fe.optional(),requests:ot({tools:ot({call:Fe.optional()}).optional()}).optional()}),ZR=C({experimental:ye(S(),Fe).optional(),sampling:C({context:Fe.optional(),tools:Fe.optional()}).optional(),elicitation:LR.optional(),roots:C({listChanged:Ue().optional()}).optional(),tasks:FR.optional(),extensions:ye(S(),Fe).optional()}),HR=vt.extend({protocolVersion:S(),capabilities:ZR,clientInfo:cv}),Mp=Ve.extend({method:z("initialize"),params:HR}),qR=C({experimental:ye(S(),Fe).optional(),logging:Fe.optional(),completions:Fe.optional(),prompts:C({listChanged:Ue().optional()}).optional(),resources:C({subscribe:Ue().optional(),listChanged:Ue().optional()}).optional(),tools:C({listChanged:Ue().optional()}).optional(),tasks:UR.optional(),extensions:ye(S(),Fe).optional()}),BR=We.extend({protocolVersion:S(),capabilities:qR,serverInfo:cv,instructions:S().optional()}),Lp=Nt.extend({method:z("notifications/initialized"),params:At.optional()}),Ia=Ve.extend({method:z("ping"),params:vt.optional()}),VR=C({progress:ue(),total:Ee(ue()),message:Ee(S())}),WR=C({...At.shape,...VR.shape,progressToken:ev}),Aa=Nt.extend({method:z("notifications/progress"),params:WR}),GR=vt.extend({cursor:tv.optional()}),zs=Ve.extend({params:GR.optional()}),js=We.extend({nextCursor:tv.optional()}),KR=dt(["working","input_required","completed","failed","cancelled"]),Ds=C({taskId:S(),status:KR,ttl:xe([ue(),Fx()]),createdAt:S(),lastUpdatedAt:S(),pollInterval:Ee(ue()),statusMessage:Ee(S())}),vo=We.extend({task:Ds}),JR=At.merge(Ds),Ms=Nt.extend({method:z("notifications/tasks/status"),params:JR}),Na=Ve.extend({method:z("tasks/get"),params:vt.extend({taskId:S()})}),za=We.merge(Ds),ja=Ve.extend({method:z("tasks/result"),params:vt.extend({taskId:S()})}),TU=We.loose(),Da=zs.extend({method:z("tasks/list")}),Ma=js.extend({tasks:ne(Ds)}),La=Ve.extend({method:z("tasks/cancel"),params:vt.extend({taskId:S()})}),uv=We.merge(Ds),lv=C({uri:S(),mimeType:Ee(S()),_meta:ye(S(),$e()).optional()}),dv=lv.extend({text:S()}),Fp=S().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),pv=lv.extend({blob:Fp}),Ls=dt(["user","assistant"]),So=C({audience:ne(Ls).optional(),priority:ue().min(0).max(1).optional(),lastModified:Os.datetime({offset:!0}).optional()}),mv=C({...xo.shape,...Ns.shape,uri:S(),description:Ee(S()),mimeType:Ee(S()),size:Ee(ue()),annotations:So.optional(),_meta:Ee(ot({}))}),YR=C({...xo.shape,...Ns.shape,uriTemplate:S(),description:Ee(S()),mimeType:Ee(S()),annotations:So.optional(),_meta:Ee(ot({}))}),bo=zs.extend({method:z("resources/list")}),XR=js.extend({resources:ne(mv)}),ko=zs.extend({method:z("resources/templates/list")}),QR=js.extend({resourceTemplates:ne(YR)}),Up=vt.extend({uri:S()}),eO=Up,Fa=Ve.extend({method:z("resources/read"),params:eO}),tO=We.extend({contents:ne(xe([dv,pv]))}),rO=Nt.extend({method:z("notifications/resources/list_changed"),params:At.optional()}),nO=Up,oO=Ve.extend({method:z("resources/subscribe"),params:nO}),sO=Up,iO=Ve.extend({method:z("resources/unsubscribe"),params:sO}),aO=At.extend({uri:S()}),cO=Nt.extend({method:z("notifications/resources/updated"),params:aO}),uO=C({name:S(),description:Ee(S()),required:Ee(Ue())}),lO=C({...xo.shape,...Ns.shape,description:Ee(S()),arguments:Ee(ne(uO)),_meta:Ee(ot({}))}),wo=zs.extend({method:z("prompts/list")}),dO=js.extend({prompts:ne(lO)}),pO=vt.extend({name:S(),arguments:ye(S(),S()).optional()}),Ua=Ve.extend({method:z("prompts/get"),params:pO}),Zp=C({type:z("text"),text:S(),annotations:So.optional(),_meta:ye(S(),$e()).optional()}),Hp=C({type:z("image"),data:Fp,mimeType:S(),annotations:So.optional(),_meta:ye(S(),$e()).optional()}),qp=C({type:z("audio"),data:Fp,mimeType:S(),annotations:So.optional(),_meta:ye(S(),$e()).optional()}),mO=C({type:z("tool_use"),name:S(),id:S(),input:ye(S(),$e()),_meta:ye(S(),$e()).optional()}),fO=C({type:z("resource"),resource:xe([dv,pv]),annotations:So.optional(),_meta:ye(S(),$e()).optional()}),hO=mv.extend({type:z("resource_link")}),Bp=xe([Zp,Hp,qp,hO,fO]),gO=C({role:Ls,content:Bp}),_O=We.extend({description:S().optional(),messages:ne(gO)}),yO=Nt.extend({method:z("notifications/prompts/list_changed"),params:At.optional()}),xO=C({title:S().optional(),readOnlyHint:Ue().optional(),destructiveHint:Ue().optional(),idempotentHint:Ue().optional(),openWorldHint:Ue().optional()}),vO=C({taskSupport:dt(["required","optional","forbidden"]).optional()}),fv=C({...xo.shape,...Ns.shape,description:S().optional(),inputSchema:C({type:z("object"),properties:ye(S(),Fe).optional(),required:ne(S()).optional()}).catchall($e()),outputSchema:C({type:z("object"),properties:ye(S(),Fe).optional(),required:ne(S()).optional()}).catchall($e()).optional(),annotations:xO.optional(),execution:vO.optional(),_meta:ye(S(),$e()).optional()}),Za=zs.extend({method:z("tools/list")}),SO=js.extend({tools:ne(fv)}),Ha=We.extend({content:ne(Bp).default([]),structuredContent:ye(S(),$e()).optional(),isError:Ue().optional()}),PU=Ha.or(We.extend({toolResult:$e()})),bO=Is.extend({name:S(),arguments:ye(S(),$e()).optional()}),$o=Ve.extend({method:z("tools/call"),params:bO}),kO=Nt.extend({method:z("notifications/tools/list_changed"),params:At.optional()}),RU=C({autoRefresh:Ue().default(!0),debounceMs:ue().int().nonnegative().default(300)}),Fs=dt(["debug","info","notice","warning","error","critical","alert","emergency"]),wO=vt.extend({level:Fs}),Vp=Ve.extend({method:z("logging/setLevel"),params:wO}),$O=At.extend({level:Fs,logger:S().optional(),data:$e()}),EO=Nt.extend({method:z("notifications/message"),params:$O}),TO=C({name:S().optional()}),PO=C({hints:ne(TO).optional(),costPriority:ue().min(0).max(1).optional(),speedPriority:ue().min(0).max(1).optional(),intelligencePriority:ue().min(0).max(1).optional()}),RO=C({mode:dt(["auto","required","none"]).optional()}),OO=C({type:z("tool_result"),toolUseId:S().describe("The unique identifier for the corresponding tool call."),content:ne(Bp).default([]),structuredContent:C({}).loose().optional(),isError:Ue().optional(),_meta:ye(S(),$e()).optional()}),CO=Op("type",[Zp,Hp,qp]),Ta=Op("type",[Zp,Hp,qp,mO,OO]),IO=C({role:Ls,content:xe([Ta,ne(Ta)]),_meta:ye(S(),$e()).optional()}),AO=Is.extend({messages:ne(IO),modelPreferences:PO.optional(),systemPrompt:S().optional(),includeContext:dt(["none","thisServer","allServers"]).optional(),temperature:ue().optional(),maxTokens:ue().int(),stopSequences:ne(S()).optional(),metadata:Fe.optional(),tools:ne(fv).optional(),toolChoice:RO.optional()}),NO=Ve.extend({method:z("sampling/createMessage"),params:AO}),Us=We.extend({model:S(),stopReason:Ee(dt(["endTurn","stopSequence","maxTokens"]).or(S())),role:Ls,content:CO}),Wp=We.extend({model:S(),stopReason:Ee(dt(["endTurn","stopSequence","maxTokens","toolUse"]).or(S())),role:Ls,content:xe([Ta,ne(Ta)])}),zO=C({type:z("boolean"),title:S().optional(),description:S().optional(),default:Ue().optional()}),jO=C({type:z("string"),title:S().optional(),description:S().optional(),minLength:ue().optional(),maxLength:ue().optional(),format:dt(["email","uri","date","date-time"]).optional(),default:S().optional()}),DO=C({type:dt(["number","integer"]),title:S().optional(),description:S().optional(),minimum:ue().optional(),maximum:ue().optional(),default:ue().optional()}),MO=C({type:z("string"),title:S().optional(),description:S().optional(),enum:ne(S()),default:S().optional()}),LO=C({type:z("string"),title:S().optional(),description:S().optional(),oneOf:ne(C({const:S(),title:S()})),default:S().optional()}),FO=C({type:z("string"),title:S().optional(),description:S().optional(),enum:ne(S()),enumNames:ne(S()).optional(),default:S().optional()}),UO=xe([MO,LO]),ZO=C({type:z("array"),title:S().optional(),description:S().optional(),minItems:ue().optional(),maxItems:ue().optional(),items:C({type:z("string"),enum:ne(S())}),default:ne(S()).optional()}),HO=C({type:z("array"),title:S().optional(),description:S().optional(),minItems:ue().optional(),maxItems:ue().optional(),items:C({anyOf:ne(C({const:S(),title:S()}))}),default:ne(S()).optional()}),qO=xe([ZO,HO]),BO=xe([FO,UO,qO]),VO=xe([BO,zO,jO,DO]),WO=Is.extend({mode:z("form").optional(),message:S(),requestedSchema:C({type:z("object"),properties:ye(S(),VO),required:ne(S()).optional()})}),GO=Is.extend({mode:z("url"),message:S(),elicitationId:S(),url:S().url()}),KO=xe([WO,GO]),JO=Ve.extend({method:z("elicitation/create"),params:KO}),YO=At.extend({elicitationId:S()}),XO=Nt.extend({method:z("notifications/elicitation/complete"),params:YO}),Eo=We.extend({action:dt(["accept","decline","cancel"]),content:Cp(t=>t===null?void 0:t,ye(S(),xe([S(),ue(),Ue(),ne(S())])).optional())}),QO=C({type:z("ref/resource"),uri:S()}),eC=C({type:z("ref/prompt"),name:S()}),tC=vt.extend({ref:xe([eC,QO]),argument:C({name:S(),value:S()}),context:C({arguments:ye(S(),S()).optional()}).optional()}),qa=Ve.extend({method:z("completion/complete"),params:tC});rC=We.extend({completion:ot({values:ne(S()).max(100),total:Ee(ue().int()),hasMore:Ee(Ue())})}),nC=C({uri:S().startsWith("file://"),name:S().optional(),_meta:ye(S(),$e()).optional()}),oC=Ve.extend({method:z("roots/list"),params:vt.optional()}),Gp=We.extend({roots:ne(nC)}),sC=Nt.extend({method:z("notifications/roots/list_changed"),params:At.optional()}),OU=xe([Ia,Mp,qa,Vp,Ua,wo,bo,ko,Fa,oO,iO,$o,Za,Na,ja,Da,La]),CU=xe([Ca,Aa,Lp,sC,Ms]),IU=xe([Oa,Us,Wp,Eo,Gp,za,Ma,vo]),AU=xe([Ia,NO,JO,oC,Na,ja,Da,La]),NU=xe([Ca,Aa,EO,cO,rO,kO,yO,Ms,XO]),zU=xe([Oa,BR,rC,_O,dO,XR,QR,tO,Ha,SO,za,Ma,vo]),N=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 Ip(o.elicitations,r)}return new t(e,r,n)}},Ip=class extends N{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(D.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}}});function Br(t){return t==="completed"||t==="failed"||t==="cancelled"}var _v=v(()=>{});var xv,yv,vv,Ba=v(()=>{xv=Symbol("Let zodToJsonSchema decide on which parser to use"),yv={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"},vv=t=>typeof t=="string"?{...yv,name:t}:{...yv,...t}});var Sv,Kp=v(()=>{Ba();Sv=t=>{let e=vv(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 Jp(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function oe(t,e,r,n,o){t[e]=r,Jp(t,e,n,o)}var Vr=v(()=>{});var Va,Wa=v(()=>{Va=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")}});function Te(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?Va(e,t.currentPath):e.join("/")}}var zt=v(()=>{Wa()});function bv(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==$.ZodAny&&(r.items=U(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&oe(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&oe(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(oe(r,"minItems",t.exactLength.value,t.exactLength.message,e),oe(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}var Yp=v(()=>{gs();Vr();je()});function kv(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?oe(r,"minimum",n.value,n.message,e):oe(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),oe(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?oe(r,"maximum",n.value,n.message,e):oe(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),oe(r,"maximum",n.value,n.message,e));break;case"multipleOf":oe(r,"multipleOf",n.value,n.message,e);break}return r}var Xp=v(()=>{Vr()});function wv(){return{type:"boolean"}}var Qp=v(()=>{});function Ga(t,e){return U(t.type._def,e)}var Ka=v(()=>{je()});var $v,em=v(()=>{je();$v=(t,e)=>U(t.innerType._def,e)});function tm(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>tm(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 iC(t,e)}}var iC,rm=v(()=>{Vr();iC=(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":oe(r,"minimum",n.value,n.message,e);break;case"max":oe(r,"maximum",n.value,n.message,e);break}return r}});function Ev(t,e){return{...U(t.innerType._def,e),default:t.defaultValue()}}var nm=v(()=>{je()});function Tv(t,e){return e.effectStrategy==="input"?U(t.schema._def,e):Te(e)}var om=v(()=>{je();zt()});function Pv(t){return{type:"string",enum:Array.from(t.values)}}var sm=v(()=>{});function Rv(t,e){let r=[U(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),U(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(aC(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 aC,im=v(()=>{je();aC=t=>"type"in t&&t.type==="string"?!1:"allOf"in t});function Ov(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 am=v(()=>{});function Ja(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":oe(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":oe(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":Gt(r,"email",n.message,e);break;case"format:idn-email":Gt(r,"idn-email",n.message,e);break;case"pattern:zod":st(r,Wt.email,n.message,e);break}break;case"url":Gt(r,"uri",n.message,e);break;case"uuid":Gt(r,"uuid",n.message,e);break;case"regex":st(r,n.regex,n.message,e);break;case"cuid":st(r,Wt.cuid,n.message,e);break;case"cuid2":st(r,Wt.cuid2,n.message,e);break;case"startsWith":st(r,RegExp(`^${um(n.value,e)}`),n.message,e);break;case"endsWith":st(r,RegExp(`${um(n.value,e)}$`),n.message,e);break;case"datetime":Gt(r,"date-time",n.message,e);break;case"date":Gt(r,"date",n.message,e);break;case"time":Gt(r,"time",n.message,e);break;case"duration":Gt(r,"duration",n.message,e);break;case"length":oe(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),oe(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{st(r,RegExp(um(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&Gt(r,"ipv4",n.message,e),n.version!=="v4"&&Gt(r,"ipv6",n.message,e);break}case"base64url":st(r,Wt.base64url,n.message,e);break;case"jwt":st(r,Wt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&st(r,Wt.ipv4Cidr,n.message,e),n.version!=="v4"&&st(r,Wt.ipv6Cidr,n.message,e);break}case"emoji":st(r,Wt.emoji(),n.message,e);break;case"ulid":{st(r,Wt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{Gt(r,"binary",n.message,e);break}case"contentEncoding:base64":{oe(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{st(r,Wt.base64,n.message,e);break}}break}case"nanoid":st(r,Wt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function um(t,e){return e.patternStrategy==="escape"?uC(t):t}function uC(t){let e="";for(let r=0;r<t.length;r++)cC.has(t[r])||(e+="\\"),e+=t[r];return e}function Gt(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):oe(t,"format",e,r,n)}function st(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:Cv(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):oe(t,"pattern",Cv(e,n),r,n)}function Cv(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
47
47
  ]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
48
48
  ]))`;continue}}if(r.s&&n[c]==="."){o+=i?`${n[c]}\r
49
49
  `:`[${n[c]}\r
50
- ]`;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 im,Vt,WO,Va=v(()=>{qr();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:()=>(im===void 0&&(im=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),im),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-_]*$/};WO=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]:U(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??$e(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:U(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=v(()=>{ms();ze();Va();qa();Nt()});function Ev(t,e){if(e.mapStrategy==="record")return Wa(t,e);let r=U(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||$e(e),n=U(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||$e(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}var cm=v(()=>{ze();Ga();Nt()});function Tv(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 um=v(()=>{});function Pv(t){return t.target==="openAi"?void 0:{not:$e({...t,currentPath:[...t.currentPath,"not"]})}}var lm=v(()=>{Nt()});function Rv(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var dm=v(()=>{});function Cv(t,e){if(e.target==="openApi3")return Ov(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Ds&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Ds[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 Ov(t,e)}var Ds,Ov,Ka=v(()=>{ze();Ds={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};Ov=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>U(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 Iv(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:Ds[t.innerType._def.typeName],nullable:!0}:{type:[Ds[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=U(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=U(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}var pm=v(()=>{ze();Ka()});function Av(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",Gp(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 mm=v(()=>{qr()});function Nv(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=JO(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=U(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=KO(t,e);return i!==void 0&&(n.additionalProperties=i),n}function KO(t,e){if(t.catchall._def.typeName!=="ZodNever")return U(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 JO(t){try{return t.isOptional()}catch{return!0}}var fm=v(()=>{ze()});var zv,hm=v(()=>{ze();Nt();zv=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return U(t.innerType._def,e);let r=U(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:$e(e)},r]}:$e(e)}});var jv,gm=v(()=>{ze();jv=(t,e)=>{if(e.pipeStrategy==="input")return U(t.in._def,e);if(e.pipeStrategy==="output")return U(t.out._def,e);let r=U(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=U(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}}});function Mv(t,e){return U(t.type._def,e)}var _m=v(()=>{ze()});function Dv(t,e){let n={type:"array",uniqueItems:!0,items:U(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 ym=v(()=>{qr();ze()});function Lv(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>U(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:U(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>U(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}var xm=v(()=>{ze()});function Fv(t){return{not:$e(t)}}var vm=v(()=>{Nt()});function Uv(t){return $e(t)}var bm=v(()=>{Nt()});var Zv,Sm=v(()=>{ze();Zv=(t,e)=>U(t.innerType._def,e)});var Hv,km=v(()=>{ms();Nt();Kp();Jp();Yp();qa();Xp();em();tm();rm();nm();om();sm();cm();um();lm();dm();pm();mm();fm();hm();gm();_m();Ga();ym();Va();xm();vm();Ka();bm();Sm();Hv=(t,e,r)=>{switch(e){case $.ZodString:return Ba(t,r);case $.ZodNumber:return Av(t,r);case $.ZodObject:return Nv(t,r);case $.ZodBigInt:return _v(t,r);case $.ZodBoolean:return yv();case $.ZodDate:return Qp(t,r);case $.ZodUndefined:return Fv(r);case $.ZodNull:return Rv(r);case $.ZodArray:return gv(t,r);case $.ZodUnion:case $.ZodDiscriminatedUnion:return Cv(t,r);case $.ZodIntersection:return kv(t,r);case $.ZodTuple:return Lv(t,r);case $.ZodRecord:return Wa(t,r);case $.ZodLiteral:return wv(t,r);case $.ZodEnum:return Sv(t);case $.ZodNativeEnum:return Tv(t);case $.ZodNullable:return Iv(t,r);case $.ZodOptional:return zv(t,r);case $.ZodMap:return Ev(t,r);case $.ZodSet:return Dv(t,r);case $.ZodLazy:return()=>t.getter()._def;case $.ZodPromise:return Mv(t,r);case $.ZodNaN:case $.ZodNever:return Pv(r);case $.ZodEffects:return bv(t,r);case $.ZodAny:return $e(r);case $.ZodUnknown:return Uv(r);case $.ZodDefault:return vv(t,r);case $.ZodBranded:return Ha(t,r);case $.ZodReadonly:return Zv(t,r);case $.ZodCatch:return xv(t,r);case $.ZodPipeline:return jv(t,r);case $.ZodFunction:case $.ZodVoid:case $.ZodSymbol:return;default:return(n=>{})(e)}}});function U(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==mv)return a}if(n&&!r){let a=YO(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=Hv(t,t.typeName,e),i=typeof s=="function"?U(s(),e):s;if(i&&XO(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var YO,XO,ze=v(()=>{Fa();km();Za();Nt();YO=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Ua(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),$e(e)):e.$refStrategy==="seen"?$e(e):void 0}},XO=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r)});var qv=v(()=>{});var wm,$m=v(()=>{ze();Wp();Nt();wm=(t,e)=>{let r=hv(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:U(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??$e(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=U(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??$e(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a}});var Bv=v(()=>{Fa();Wp();qr();Za();ze();qv();Nt();Kp();Jp();Yp();qa();Xp();em();tm();rm();nm();om();sm();cm();um();lm();dm();pm();mm();fm();hm();gm();_m();Sm();Ga();ym();Va();xm();vm();Ka();bm();km();$m();$m()});function QO(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function Em(t,e){return Ct(t)?dp(t,{target:QO(e?.target),io:e?.pipeStrategy??"input"}):wm(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function Tm(t){let r=Ur(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=ya(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Pm(t,e){let r=Fr(t,e);if(!r.success)throw r.error;return r.data}var Rm=v(()=>{fp();Es();Bv()});function Vv(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Wv(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];Vv(i)&&Vv(s)?r[o]={...i,...s}:r[o]=s}return r}var eC,Ja,Gv=v(()=>{Es();wo();dv();Rm();eC=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($a,r=>{this._oncancel(r)}),this.setNotificationHandler(Ta,r=>{this._onprogress(r)}),this.setRequestHandler(Ea,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Pa,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new N(M.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Oa,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 N(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 N(M.InvalidParams,`Task not found: ${s}`);if(!Hr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Hr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[Zr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Ca,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 N(M.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Aa,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new N(M.InvalidParams,`Task not found: ${r.params.taskId}`);if(Hr(o.status))throw new N(M.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 N(M.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof N?o:new N(M.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),N.fromError(M.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),Os(s)||ev(s)?this._onresponse(s):Ip(s)?this._onrequest(s,i):Qx(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=N.fromError(M.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?.[Zr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:M.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=Jx(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 N(M.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:M.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Os(e))n(e);else{let i=new N(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(Os(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),Os(e))o(e);else{let i=N.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 N?i:new N(M.InternalError,String(i))}}return}let s;try{let i=await this.request(e,yo,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new N(M.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Hr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new N(M.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new N(M.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 N?i:new N(M.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||{},[Zr]: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 x=y instanceof N?y:new N(M.RequestTimeout,String(y));l(x)};this._responseHandlers.set(m,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return l(y);try{let x=Fr(r,y.result);x.success?u(x.data):l(x.error)}catch(x){l(x)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let f=n?.timeout??eC,g=()=>p(N.fromError(M.RequestTimeout,"Request timed out",{timeout:f}));this._setupTimeout(m,f,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let y=x=>{let k=this._responseHandlers.get(m);k?k(x):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(x=>{this._cleanupTimeout(m),l(x)})}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},Ra,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},Ia,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},nv,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||{},[Zr]: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||{},[Zr]: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||{},[Zr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=Tm(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=Pm(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=Tm(e);this._notificationHandlers.set(n,o=>{let s=Pm(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"&&Ip(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new N(M.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 N(M.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new N(M.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 N(M.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=zs.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Hr(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 N(M.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Hr(a.status))throw new N(M.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=zs.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Hr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}}});var Us=R(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.regexpCode=ae.getEsmExportName=ae.getProperty=ae.safeStringify=ae.stringify=ae.strConcat=ae.addCodeArg=ae.str=ae._=ae.nil=ae._Code=ae.Name=ae.IDENTIFIER=ae._CodeOrName=void 0;var Ls=class{};ae._CodeOrName=Ls;ae.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Nn=class extends Ls{constructor(e){if(super(),!ae.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}}};ae.Name=Nn;var zt=class extends Ls{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 Nn&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ae._Code=zt;ae.nil=new zt("");function Kv(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Cm(r,e[n]),r.push(t[++n]);return new zt(r)}ae._=Kv;var Om=new zt("+");function Jv(t,...e){let r=[Fs(t[0])],n=0;for(;n<e.length;)r.push(Om),Cm(r,e[n]),r.push(Om,Fs(t[++n]));return tC(r),new zt(r)}ae.str=Jv;function Cm(t,e){e instanceof zt?t.push(...e._items):e instanceof Nn?t.push(e):t.push(oC(e))}ae.addCodeArg=Cm;function tC(t){let e=1;for(;e<t.length-1;){if(t[e]===Om){let r=rC(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function rC(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Nn||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Nn))return`"${t}${e.slice(1)}`}function nC(t,e){return e.emptyStr()?t:t.emptyStr()?e:Jv`${t}${e}`}ae.strConcat=nC;function oC(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Fs(Array.isArray(t)?t.join(","):t)}function sC(t){return new zt(Fs(t))}ae.stringify=sC;function Fs(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ae.safeStringify=Fs;function iC(t){return typeof t=="string"&&ae.IDENTIFIER.test(t)?new zt(`.${t}`):Kv`[${t}]`}ae.getProperty=iC;function aC(t){if(typeof t=="string"&&ae.IDENTIFIER.test(t))return new zt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ae.getEsmExportName=aC;function cC(t){return new zt(t.toString())}ae.regexpCode=cC});var Nm=R(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.ValueScope=dt.ValueScopeName=dt.Scope=dt.varKinds=dt.UsedValueState=void 0;var lt=Us(),Im=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||(dt.UsedValueState=Ya={}));dt.varKinds={const:new lt.Name("const"),let:new lt.Name("let"),var:new lt.Name("var")};var Xa=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof lt.Name?e:this.name(e)}name(e){return new lt.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}}};dt.Scope=Xa;var Qa=class extends lt.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,lt._)`.${new lt.Name(r)}[${n}]`}};dt.ValueScopeName=Qa;var uC=(0,lt._)`\n`,Am=class extends Xa{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?uC:lt.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,lt._)`${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=lt.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?dt.varKinds.var:dt.varKinds.const;s=(0,lt._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,lt._)`${s}${l}${this.opts._n}`;else throw new Im(u);c.set(u,Ya.Completed)})}return s}};dt.ValueScope=Am});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=Us(),Gt=Nm(),Br=Us();Object.defineProperty(Y,"_",{enumerable:!0,get:function(){return Br._}});Object.defineProperty(Y,"str",{enumerable:!0,get:function(){return Br.str}});Object.defineProperty(Y,"strConcat",{enumerable:!0,get:function(){return Br.strConcat}});Object.defineProperty(Y,"nil",{enumerable:!0,get:function(){return Br.nil}});Object.defineProperty(Y,"getProperty",{enumerable:!0,get:function(){return Br.getProperty}});Object.defineProperty(Y,"stringify",{enumerable:!0,get:function(){return Br.stringify}});Object.defineProperty(Y,"regexpCode",{enumerable:!0,get:function(){return Br.regexpCode}});Object.defineProperty(Y,"Name",{enumerable:!0,get:function(){return Br.Name}});var nc=Nm();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 Sr=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},zm=class extends Sr{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Gt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Eo(this.rhs,e,r)),this}get names(){return this.rhs instanceof ne._CodeOrName?this.rhs.names:{}}},ec=class extends Sr{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=Eo(this.rhs,e,r),this}get names(){let e=this.lhs instanceof ne.Name?{}:{...this.lhs.names};return rc(e,this.rhs)}},jm=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}},Mm=class extends Sr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Dm=class extends Sr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Lm=class extends Sr{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Fm=class extends Sr{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=Eo(this.code,e,r),this}get names(){return this.code instanceof ne._CodeOrName?this.code.names:{}}},Zs=class extends Sr{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)||(lC(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Mn(e,r.names),{})}},kr=class extends Zs{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Um=class extends Zs{},$o=class extends kr{};$o.kind="else";var zn=class t extends kr{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 $o(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Yv(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=Eo(this.condition,e,r),this}get names(){let e=super.names;return rc(e,this.condition),this.else&&Mn(e,this.else.names),e}};zn.kind="if";var jn=class extends kr{};jn.kind="for";var Zm=class extends jn{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=Eo(this.iteration,e,r),this}get names(){return Mn(super.names,this.iteration.names)}},Hm=class extends jn{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?Gt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=rc(super.names,this.from);return rc(e,this.to)}},tc=class extends jn{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=Eo(this.iterable,e,r),this}get names(){return Mn(super.names,this.iterable.names)}},Hs=class extends kr{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)}};Hs.kind="func";var qs=class extends Zs{render(e){return"return "+super.render(e)}};qs.kind="return";var qm=class extends kr{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&&Mn(e,this.catch.names),this.finally&&Mn(e,this.finally.names),e}},Bs=class extends kr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Bs.kind="catch";var Vs=class extends kr{render(e){return"finally"+super.render(e)}};Vs.kind="finally";var Bm=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
51
- `:""},this._extScope=e,this._scope=new Gt.Scope({parent:e}),this._nodes=[new Um]}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 zm(e,s,n)),s}const(e,r,n){return this._def(Gt.varKinds.const,e,r,n)}let(e,r,n){return this._def(Gt.varKinds.let,e,r,n)}var(e,r,n){return this._def(Gt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new ec(e,r,n))}add(e,r){return this._leafNode(new jm(e,Y.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==ne.nil&&this._leafNode(new Fm(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 zn(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 zn(e))}else(){return this._elseNode(new $o)}endIf(){return this._endBlockNode(zn,$o)}_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?Gt.varKinds.var:Gt.varKinds.let){let i=this._scope.toName(e);return this._for(new Hm(s,i,r,n),()=>o(i))}forOf(e,r,n,o=Gt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof 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?Gt.varKinds.var:Gt.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(jn)}label(e){return this._leafNode(new Mm(e))}break(e){return this._leafNode(new Dm(e))}return(e){let r=new qs;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(qs)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new qm;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Bs(s),r(s)}return n&&(this._currNode=o.finally=new Vs,this.code(n)),this._endBlockNode(Bs,Vs)}throw(e){return this._leafNode(new Lm(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 Hs(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Hs)}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 zn))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=Bm;function Mn(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?Mn(t,e.names):t}function Eo(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 lC(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Yv(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,ne._)`!${Vm(t)}`}Y.not=Yv;var dC=Xv(Y.operators.AND);function pC(...t){return t.reduce(dC)}Y.and=pC;var mC=Xv(Y.operators.OR);function fC(...t){return t.reduce(mC)}Y.or=fC;function Xv(t){return(e,r)=>e===ne.nil?r:r===ne.nil?e:(0,ne._)`${Vm(e)} ${t} ${Vm(r)}`}function Vm(t){return t instanceof ne.Name?t:(0,ne._)`(${t})`}});var se=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 me=K(),hC=Us();function gC(t){let e={};for(let r of t)e[r]=!0;return e}X.toHash=gC;function _C(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(t0(t,e),!r0(e,t.self.RULES.all))}X.alwaysValidSchema=_C;function t0(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]||s0(t,`unknown keyword: "${s}"`)}X.checkUnknownRules=t0;function r0(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}X.schemaHasRules=r0;function yC(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=yC;function xC({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,me._)`${r}`}return(0,me._)`${t}${e}${(0,me.getProperty)(n)}`}X.schemaRefOrVal=xC;function vC(t){return n0(decodeURIComponent(t))}X.unescapeFragment=vC;function bC(t){return encodeURIComponent(Gm(t))}X.escapeFragment=bC;function Gm(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}X.escapeJsonPointer=Gm;function n0(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}X.unescapeJsonPointer=n0;function SC(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}X.eachItem=SC;function Qv({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof me.Name?(s instanceof me.Name?t(o,s,i):e(o,s,i),i):s instanceof me.Name?(e(o,i,s),s):r(s,i);return a===me.Name&&!(c instanceof me.Name)?n(o,c):c}}X.mergeEvaluated={props:Qv({mergeNames:(t,e,r)=>t.if((0,me._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,me._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,me._)`${r} || {}`).code((0,me._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,me._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,me._)`${r} || {}`),Km(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:o0}),items:Qv({mergeNames:(t,e,r)=>t.if((0,me._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,me._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,me._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,me._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function o0(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,me._)`{}`);return e!==void 0&&Km(t,r,e),r}X.evaluatedPropsToName=o0;function Km(t,e,r){Object.keys(r).forEach(n=>t.assign((0,me._)`${e}${(0,me.getProperty)(n)}`,!0))}X.setEvaluated=Km;var e0={};function kC(t,e){return t.scopeValue("func",{ref:e,code:e0[e.code]||(e0[e.code]=new hC._Code(e.code))})}X.useFunc=kC;var Wm;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Wm||(X.Type=Wm={}));function wC(t,e,r){if(t instanceof me.Name){let n=e===Wm.Num;return r?n?(0,me._)`"[" + ${t} + "]"`:(0,me._)`"['" + ${t} + "']"`:n?(0,me._)`"/" + ${t}`:(0,me._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,me.getProperty)(t).toString():"/"+Gm(t)}X.getErrorPath=wC;function s0(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=s0});var wr=R(Jm=>{"use strict";Object.defineProperty(Jm,"__esModule",{value:!0});var Ye=K(),$C={data:new Ye.Name("data"),valCxt:new Ye.Name("valCxt"),instancePath:new Ye.Name("instancePath"),parentData:new Ye.Name("parentData"),parentDataProperty:new Ye.Name("parentDataProperty"),rootData:new Ye.Name("rootData"),dynamicAnchors:new Ye.Name("dynamicAnchors"),vErrors:new Ye.Name("vErrors"),errors:new Ye.Name("errors"),this:new Ye.Name("this"),self:new Ye.Name("self"),scope:new Ye.Name("scope"),json:new Ye.Name("json"),jsonPos:new Ye.Name("jsonPos"),jsonLen:new Ye.Name("jsonLen"),jsonPart:new Ye.Name("jsonPart")};Jm.default=$C});var Ws=R(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.extendErrors=Xe.resetErrorsCount=Xe.reportExtraError=Xe.reportError=Xe.keyword$DataError=Xe.keywordError=void 0;var ie=K(),oc=se(),ot=wr();Xe.keywordError={message:({keyword:t})=>(0,ie.str)`must pass "${t}" keyword validation`};Xe.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,ie.str)`"${t}" keyword must be ${e} ($data)`:(0,ie.str)`"${t}" keyword is invalid ($data)`};function EC(t,e=Xe.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=c0(t,e,r);n??(i||a)?i0(s,c):a0(o,(0,ie._)`[${c}]`)}Xe.reportError=EC;function TC(t,e=Xe.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=c0(t,e,r);i0(o,a),s||i||a0(n,ot.default.vErrors)}Xe.reportExtraError=TC;function PC(t,e){t.assign(ot.default.errors,e),t.if((0,ie._)`${ot.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,ie._)`${ot.default.vErrors}.length`,e),()=>t.assign(ot.default.vErrors,null)))}Xe.resetErrorsCount=PC;function RC({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,ot.default.errors,a=>{t.const(i,(0,ie._)`${ot.default.vErrors}[${a}]`),t.if((0,ie._)`${i}.instancePath === undefined`,()=>t.assign((0,ie._)`${i}.instancePath`,(0,ie.strConcat)(ot.default.instancePath,s.errorPath))),t.assign((0,ie._)`${i}.schemaPath`,(0,ie.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,ie._)`${i}.schema`,r),t.assign((0,ie._)`${i}.data`,n))})}Xe.extendErrors=RC;function i0(t,e){let r=t.const("err",e);t.if((0,ie._)`${ot.default.vErrors} === null`,()=>t.assign(ot.default.vErrors,(0,ie._)`[${r}]`),(0,ie._)`${ot.default.vErrors}.push(${r})`),t.code((0,ie._)`${ot.default.errors}++`)}function a0(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,ie._)`new ${t.ValidationError}(${e})`):(r.assign((0,ie._)`${n}.errors`,e),r.return(!1))}var Dn={keyword:new ie.Name("keyword"),schemaPath:new ie.Name("schemaPath"),params:new ie.Name("params"),propertyName:new ie.Name("propertyName"),message:new ie.Name("message"),schema:new ie.Name("schema"),parentSchema:new ie.Name("parentSchema")};function c0(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ie._)`{}`:OC(t,e,r)}function OC(t,e,r={}){let{gen:n,it:o}=t,s=[CC(o,r),IC(t,r)];return AC(t,e,s),n.object(...s)}function CC({errorPath:t},{instancePath:e}){let r=e?(0,ie.str)`${t}${(0,oc.getErrorPath)(e,oc.Type.Str)}`:t;return[ot.default.instancePath,(0,ie.strConcat)(ot.default.instancePath,r)]}function IC({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,ie.str)`${e}/${t}`;return r&&(o=(0,ie.str)`${o}${(0,oc.getErrorPath)(r,oc.Type.Str)}`),[Dn.schemaPath,o]}function AC(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([Dn.keyword,o],[Dn.params,typeof e=="function"?e(t):e||(0,ie._)`{}`]),c.messages&&n.push([Dn.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Dn.schema,i],[Dn.parentSchema,(0,ie._)`${l}${d}`],[ot.default.data,s]),u&&n.push([Dn.propertyName,u])}});var l0=R(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.boolOrEmptySchema=To.topBoolOrEmptySchema=void 0;var NC=Ws(),zC=K(),jC=wr(),MC={message:"boolean schema is false"};function DC(t){let{gen:e,schema:r,validateName:n}=t;r===!1?u0(t,!1):typeof r=="object"&&r.$async===!0?e.return(jC.default.data):(e.assign((0,zC._)`${n}.errors`,null),e.return(!0))}To.topBoolOrEmptySchema=DC;function LC(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),u0(t)):r.var(e,!0)}To.boolOrEmptySchema=LC;function u0(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,NC.reportError)(o,MC,void 0,e)}});var Ym=R(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.getRules=Po.isJSONType=void 0;var FC=["string","number","integer","boolean","null","object","array"],UC=new Set(FC);function ZC(t){return typeof t=="string"&&UC.has(t)}Po.isJSONType=ZC;function HC(){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:{}}}Po.getRules=HC});var Xm=R(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.shouldUseRule=Vr.shouldUseGroup=Vr.schemaHasRulesForType=void 0;function qC({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&d0(t,n)}Vr.schemaHasRulesForType=qC;function d0(t,e){return e.rules.some(r=>p0(t,r))}Vr.shouldUseGroup=d0;function p0(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))}Vr.shouldUseRule=p0});var Gs=R(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 BC=Ym(),VC=Xm(),WC=Ws(),W=K(),m0=se(),Ro;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Ro||(Qe.DataType=Ro={}));function GC(t){let e=f0(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=GC;function f0(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(BC.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Qe.getJSONTypes=f0;function KC(t,e){let{gen:r,data:n,opts:o}=t,s=JC(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,VC.schemaHasRulesForType)(t,e[0]));if(i){let a=ef(e,n,o.strictNumbers,Ro.Wrong);r.if(a,()=>{s.length?YC(t,e,s):tf(t)})}return i}Qe.coerceAndCheckDataType=KC;var h0=new Set(["string","number","integer","boolean","null"]);function JC(t,e){return e?t.filter(r=>h0.has(r)||e==="array"&&r==="array"):[]}function YC(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(ef(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,W._)`${a} !== undefined`);for(let u of r)(h0.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),tf(t),n.endIf(),n.if((0,W._)`${a} !== undefined`,()=>{n.assign(o,a),XC(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
52
- || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,W._)`+${o}`);return;case"integer":n.elseIf((0,W._)`${i} === "boolean" || ${o} === null
53
- || (${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"
54
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,W._)`[${o}]`)}}}function XC({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,W._)`${e} !== undefined`,()=>t.assign((0,W._)`${e}[${r}]`,n))}function Qm(t,e,r,n=Ro.Correct){let o=n===Ro.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===Ro.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)}}Qe.checkDataType=Qm;function ef(t,e,r,n){if(t.length===1)return Qm(t[0],e,r,n);let o,s=(0,m0.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,Qm(i,e,r,n));return o}Qe.checkDataTypes=ef;var QC={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,W._)`{type: ${t}}`:(0,W._)`{type: ${e}}`};function tf(t){let e=eI(t);(0,WC.reportError)(e,QC)}Qe.reportTypeError=tf;function eI(t){let{gen:e,data:r,schema:n}=t,o=(0,m0.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var _0=R(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.assignDefaults=void 0;var Oo=K(),tI=se();function rI(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)g0(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>g0(t,s,o.default))}sc.assignDefaults=rI;function g0(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Oo._)`${s}${(0,Oo.getProperty)(e)}`;if(o){(0,tI.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Oo._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Oo._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Oo._)`${a} = ${(0,Oo.stringify)(r)}`)}});var jt=R(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.validateUnion=de.validateArray=de.usePattern=de.callValidateCode=de.schemaProperties=de.allSchemaProperties=de.noPropertyInData=de.propertyInData=de.isOwnProperty=de.hasPropFunc=de.reportMissingProp=de.checkMissingProp=de.checkReportMissingProp=void 0;var ye=K(),rf=se(),Wr=wr(),nI=se();function oI(t,e){let{gen:r,data:n,it:o}=t;r.if(of(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ye._)`${e}`},!0),t.error()})}de.checkReportMissingProp=oI;function sI({gen:t,data:e,it:{opts:r}},n,o){return(0,ye.or)(...n.map(s=>(0,ye.and)(of(t,e,s,r.ownProperties),(0,ye._)`${o} = ${s}`)))}de.checkMissingProp=sI;function iI(t,e){t.setParams({missingProperty:e},!0),t.error()}de.reportMissingProp=iI;function y0(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ye._)`Object.prototype.hasOwnProperty`})}de.hasPropFunc=y0;function nf(t,e,r){return(0,ye._)`${y0(t)}.call(${e}, ${r})`}de.isOwnProperty=nf;function aI(t,e,r,n){let o=(0,ye._)`${e}${(0,ye.getProperty)(r)} !== undefined`;return n?(0,ye._)`${o} && ${nf(t,e,r)}`:o}de.propertyInData=aI;function of(t,e,r,n){let o=(0,ye._)`${e}${(0,ye.getProperty)(r)} === undefined`;return n?(0,ye.or)(o,(0,ye.not)(nf(t,e,r))):o}de.noPropertyInData=of;function x0(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}de.allSchemaProperties=x0;function cI(t,e){return x0(e).filter(r=>!(0,rf.alwaysValidSchema)(t,e[r]))}de.schemaProperties=cI;function uI({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,ye._)`${t}, ${e}, ${n}${o}`:e,d=[[Wr.default.instancePath,(0,ye.strConcat)(Wr.default.instancePath,s)],[Wr.default.parentData,i.parentData],[Wr.default.parentDataProperty,i.parentDataProperty],[Wr.default.rootData,Wr.default.rootData]];i.opts.dynamicRef&&d.push([Wr.default.dynamicAnchors,Wr.default.dynamicAnchors]);let m=(0,ye._)`${l}, ${r.object(...d)}`;return c!==ye.nil?(0,ye._)`${a}.call(${c}, ${m})`:(0,ye._)`${a}(${m})`}de.callValidateCode=uI;var lI=(0,ye._)`new RegExp`;function dI({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,ye._)`${o.code==="new RegExp"?lI:(0,nI.useFunc)(t,o)}(${r}, ${n})`})}de.usePattern=dI;function pI(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,ye._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:rf.Type.Num},s),e.if((0,ye.not)(s),a)})}}de.validateArray=pI;function mI(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,rf.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,ye._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ye.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}de.validateUnion=mI});var S0=R(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.validateKeywordUsage=cr.validSchemaType=cr.funcKeywordCode=cr.macroKeywordCode=void 0;var st=K(),Ln=wr(),fI=jt(),hI=Ws();function gI(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=b0(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:st.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}cr.macroKeywordCode=gI;function _I(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;xI(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=b0(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(()=>yI(t,_))}}function h(){let _=n.let("ruleErrs",null);return n.try(()=>f((0,st._)`await `),y=>n.assign(d,!1).if((0,st._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,st._)`${y}.errors`),()=>n.throw(y))),_}function p(){let _=(0,st._)`${l}.errors`;return n.assign(_,null),f(st.nil),_}function f(_=e.async?(0,st._)`await `:st.nil){let y=c.opts.passContext?Ln.default.this:Ln.default.self,x=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,st._)`${_}${(0,fI.callValidateCode)(t,l,y,x)}`,e.modifying)}function g(_){var y;n.if((0,st.not)((y=e.valid)!==null&&y!==void 0?y:d),_)}}cr.funcKeywordCode=_I;function v0(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,st._)`${n.parentData}[${n.parentDataProperty}]`))}function yI(t,e){let{gen:r}=t;r.if((0,st._)`Array.isArray(${e})`,()=>{r.assign(Ln.default.vErrors,(0,st._)`${Ln.default.vErrors} === null ? ${e} : ${Ln.default.vErrors}.concat(${e})`).assign(Ln.default.errors,(0,st._)`${Ln.default.vErrors}.length`),(0,hI.extendErrors)(t)},()=>t.error())}function xI({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function b0(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,st.stringify)(r)})}function vI(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")}cr.validSchemaType=vI;function bI({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)}}cr.validateKeywordUsage=bI});var w0=R(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.extendSubschemaMode=Gr.extendSubschemaData=Gr.getSubschema=void 0;var ur=K(),k0=se();function SI(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,ur._)`${t.schemaPath}${(0,ur.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,ur._)`${t.schemaPath}${(0,ur.getProperty)(e)}${(0,ur.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,k0.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')}Gr.getSubschema=SI;function kI(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,ur._)`${e.data}${(0,ur.getProperty)(r)}`,!0);c(m),t.errorPath=(0,ur.str)`${u}${(0,k0.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,ur._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof ur.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]}}Gr.extendSubschemaData=kI;function wI(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}Gr.extendSubschemaMode=wI});var sf=R((Nq,$0)=>{"use strict";$0.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 T0=R((zq,E0)=>{"use strict";var Kr=E0.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)};Kr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Kr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Kr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Kr.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 Kr.arrayKeywords)for(var m=0;m<d.length;m++)ic(t,e,r,d[m],o+"/"+l+"/"+m,s,o,l,n,m)}else if(l in Kr.propsKeywords){if(d&&typeof d=="object")for(var h in d)ic(t,e,r,d[h],o+"/"+l+"/"+$I(h),s,o,l,n,h)}else(l in Kr.keywords||t.allKeys&&!(l in Kr.skipKeywords))&&ic(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function $I(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Ks=R(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.getSchemaRefs=pt.resolveUrl=pt.normalizeId=pt._getFullPath=pt.getFullPath=pt.inlineRef=void 0;var EI=se(),TI=sf(),PI=T0(),RI=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function OI(t,e=!0){return typeof t=="boolean"?!0:e===!0?!af(t):e?P0(t)<=e:!1}pt.inlineRef=OI;var CI=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function af(t){for(let e in t){if(CI.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(af)||typeof r=="object"&&af(r))return!0}return!1}function P0(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!RI.has(r)&&(typeof t[r]=="object"&&(0,EI.eachItem)(t[r],n=>e+=P0(n)),e===1/0))return 1/0}return e}function R0(t,e="",r){r!==!1&&(e=Co(e));let n=t.parse(e);return O0(t,n)}pt.getFullPath=R0;function O0(t,e){return t.serialize(e).split("#")[0]+"#"}pt._getFullPath=O0;var II=/#\/?$/;function Co(t){return t?t.replace(II,""):""}pt.normalizeId=Co;function AI(t,e,r){return r=Co(r),t.resolve(e,r)}pt.resolveUrl=AI;var NI=/^[a-z_][-a-z0-9._]*$/i;function zI(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Co(t[r]||e),s={"":o},i=R0(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 _(x){let k=this.opts.uriResolver.resolve;if(x=Co(g?k(g,x):x),c.has(x))throw l(x);c.add(x);let T=this.refs[x];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?u(d,T.schema,x):x!==Co(f)&&(x[0]==="#"?(u(d,a[x],x),a[x]=d):this.refs[x]=f),x}function y(x){if(typeof x=="string"){if(!NI.test(x))throw new Error(`invalid anchor "${x}"`);_.call(this,`#${x}`)}}}),a;function u(d,m,h){if(m!==void 0&&!TI(d,m))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}pt.getSchemaRefs=zI});var Xs=R(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.getData=Jr.KeywordCxt=Jr.validateFunctionCode=void 0;var z0=l0(),C0=Gs(),uf=Xm(),ac=Gs(),jI=_0(),Ys=S0(),cf=w0(),j=K(),q=wr(),MI=Ks(),$r=se(),Js=Ws();function DI(t){if(D0(t)&&(L0(t),M0(t))){UI(t);return}j0(t,()=>(0,z0.topBoolOrEmptySchema)(t))}Jr.validateFunctionCode=DI;function j0({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,j._)`${q.default.data}, ${q.default.valCxt}`,n.$async,()=>{t.code((0,j._)`"use strict"; ${I0(r,o)}`),FI(t,o),t.code(s)}):t.func(e,(0,j._)`${q.default.data}, ${LI(o)}`,n.$async,()=>t.code(I0(r,o)).code(s))}function LI(t){return(0,j._)`{${q.default.instancePath}="", ${q.default.parentData}, ${q.default.parentDataProperty}, ${q.default.rootData}=${q.default.data}${t.dynamicRef?(0,j._)`, ${q.default.dynamicAnchors}={}`:j.nil}}={}`}function FI(t,e){t.if(q.default.valCxt,()=>{t.var(q.default.instancePath,(0,j._)`${q.default.valCxt}.${q.default.instancePath}`),t.var(q.default.parentData,(0,j._)`${q.default.valCxt}.${q.default.parentData}`),t.var(q.default.parentDataProperty,(0,j._)`${q.default.valCxt}.${q.default.parentDataProperty}`),t.var(q.default.rootData,(0,j._)`${q.default.valCxt}.${q.default.rootData}`),e.dynamicRef&&t.var(q.default.dynamicAnchors,(0,j._)`${q.default.valCxt}.${q.default.dynamicAnchors}`)},()=>{t.var(q.default.instancePath,(0,j._)`""`),t.var(q.default.parentData,(0,j._)`undefined`),t.var(q.default.parentDataProperty,(0,j._)`undefined`),t.var(q.default.rootData,q.default.data),e.dynamicRef&&t.var(q.default.dynamicAnchors,(0,j._)`{}`)})}function UI(t){let{schema:e,opts:r,gen:n}=t;j0(t,()=>{r.$comment&&e.$comment&&U0(t),VI(t),n.let(q.default.vErrors,null),n.let(q.default.errors,0),r.unevaluated&&ZI(t),F0(t),KI(t)})}function ZI(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,j._)`${r}.evaluated`),e.if((0,j._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,j._)`${t.evaluated}.props`,(0,j._)`undefined`)),e.if((0,j._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,j._)`${t.evaluated}.items`,(0,j._)`undefined`))}function I0(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,j._)`/*# sourceURL=${r} */`:j.nil}function HI(t,e){if(D0(t)&&(L0(t),M0(t))){qI(t,e);return}(0,z0.boolOrEmptySchema)(t,e)}function M0({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 D0(t){return typeof t.schema!="boolean"}function qI(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&U0(t),WI(t),GI(t);let s=n.const("_errs",q.default.errors);F0(t,s),n.var(e,(0,j._)`${s} === ${q.default.errors}`)}function L0(t){(0,$r.checkUnknownRules)(t),BI(t)}function F0(t,e){if(t.opts.jtd)return A0(t,[],!1,e);let r=(0,C0.getSchemaTypes)(t.schema),n=(0,C0.coerceAndCheckDataType)(t,r);A0(t,r,!n,e)}function BI(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,$r.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function VI(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,$r.checkStrictMode)(t,"default is ignored in the schema root")}function WI(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,MI.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function GI(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function U0({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,j._)`${q.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,j.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,j._)`${q.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function KI(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,j._)`${q.default.errors} === 0`,()=>e.return(q.default.data),()=>e.throw((0,j._)`new ${o}(${q.default.vErrors})`)):(e.assign((0,j._)`${n}.errors`,q.default.vErrors),s.unevaluated&&JI(t),e.return((0,j._)`${q.default.errors} === 0`))}function JI({gen:t,evaluated:e,props:r,items:n}){r instanceof j.Name&&t.assign((0,j._)`${e}.props`,r),n instanceof j.Name&&t.assign((0,j._)`${e}.items`,n)}function A0(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,$r.schemaHasRulesButRef)(s,l))){o.block(()=>H0(t,"$ref",l.all.$ref.definition));return}c.jtd||YI(t,e),o.block(()=>{for(let m of l.rules)d(m);d(l.post)});function d(m){(0,uf.shouldUseGroup)(s,m)&&(m.type?(o.if((0,ac.checkDataType)(m.type,i,c.strictNumbers)),N0(t,m),e.length===1&&e[0]===m.type&&r&&(o.else(),(0,ac.reportTypeError)(t)),o.endIf()):N0(t,m),a||o.if((0,j._)`${q.default.errors} === ${n||0}`))}}function N0(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,jI.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,uf.shouldUseRule)(n,s)&&H0(t,s.keyword,s.definition,e.type)})}function YI(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(XI(t,e),t.opts.allowUnionTypes||QI(t,e),e1(t,t.dataTypes))}function XI(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Z0(t.dataTypes,r)||lf(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),r1(t,e)}}function QI(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&lf(t,"use allowUnionTypes to allow union type keyword")}function e1(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,uf.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>t1(e,i))&&lf(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function t1(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 r1(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 lf(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,$r.checkStrictMode)(t,e,t.opts.strictTypes)}var cc=class{constructor(e,r,n){if((0,Ys.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,$r.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",q0(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Ys.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,j.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,j.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,j._)`${r} !== undefined && (${(0,j.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?Js.reportExtraError:Js.reportError)(this,this.def.error,r)}$dataError(){(0,Js.reportError)(this,this.def.$dataError||Js.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Js.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=j.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=j.nil,r=j.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,j.or)((0,j._)`${o} === undefined`,r)),e!==j.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==j.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,j.or)(i(),a());function i(){if(n.length){if(!(r instanceof j.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,j._)`${(0,ac.checkDataTypes)(c,r,s.opts.strictNumbers,ac.DataType.Wrong)}`}return j.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,j._)`!${c}(${r})`}return j.nil}}subschema(e,r){let n=(0,cf.getSubschema)(this.it,e);(0,cf.extendSubschemaData)(n,this.it,e),(0,cf.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return HI(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=$r.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=$r.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,j.Name)),!0}};Jr.KeywordCxt=cc;function H0(t,e,r,n){let o=new cc(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Ys.funcKeywordCode)(o,r):"macro"in r?(0,Ys.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Ys.funcKeywordCode)(o,r)}var n1=/^\/(?:[^~]|~0|~1)*$/,o1=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function q0(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return q.default.rootData;if(t[0]==="/"){if(!n1.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=q.default.rootData}else{let u=o1.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,j._)`${s}${(0,j.getProperty)((0,$r.unescapeJsonPointer)(u))}`,i=(0,j._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Jr.getData=q0});var uc=R(pf=>{"use strict";Object.defineProperty(pf,"__esModule",{value:!0});var df=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};pf.default=df});var Qs=R(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});var mf=Ks(),ff=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,mf.resolveUrl)(e,r,n),this.missingSchema=(0,mf.normalizeId)((0,mf.getFullPath)(e,this.missingRef))}};hf.default=ff});var dc=R(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.resolveSchema=Mt.getCompilingSchema=Mt.resolveRef=Mt.compileSchema=Mt.SchemaEnv=void 0;var Kt=K(),s1=uc(),Fn=wr(),Jt=Ks(),B0=se(),i1=Xs(),Io=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,Jt.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=Io;function _f(t){let e=V0.call(this,t);if(e)return e;let r=(0,Jt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Kt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:s1.default,code:(0,Kt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Fn.default.data,parentData:Fn.default.parentData,parentDataProperty:Fn.default.parentDataProperty,dataNames:[Fn.default.data],dataPathArr:[Kt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Kt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Kt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Kt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,i1.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Fn.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let h=new Function(`${Fn.default.self}`,`${Fn.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 Kt.Name?void 0:p,items:f instanceof Kt.Name?void 0:f,dynamicProps:p instanceof Kt.Name,dynamicItems:f instanceof Kt.Name},h.source&&(h.source.evaluated=(0,Kt.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)}}Mt.compileSchema=_f;function a1(t,e,r){var n;r=(0,Jt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=l1.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 Io({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=c1.call(this,s)}Mt.resolveRef=a1;function c1(t){return(0,Jt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:_f.call(this,t)}function V0(t){for(let e of this._compilations)if(u1(e,t))return e}Mt.getCompilingSchema=V0;function u1(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function l1(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,Jt._getFullPath)(this.opts.uriResolver,r),o=(0,Jt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return gf.call(this,r,t);let s=(0,Jt.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:gf.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||_f.call(this,i),s===(0,Jt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Jt.resolveUrl)(this.opts.uriResolver,o,u)),new Io({schema:a,schemaId:c,root:t,baseId:o})}return gf.call(this,r,i)}}Mt.resolveSchema=lc;var d1=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function gf(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,B0.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!d1.has(a)&&u&&(e=(0,Jt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,B0.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Jt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=lc.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Io({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var W0=R((Uq,p1)=>{p1.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 xf=R((Zq,Y0)=>{"use strict";var m1=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),K0=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 yf(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var f1=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function G0(t){return t.length=0,!0}function h1(t,e,r){if(t.length){let n=yf(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function g1(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=h1;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=G0}else{o.push(u);continue}}return o.length&&(a===G0?r.zone=o.join(""):i?n.push(o.join("")):n.push(yf(o))),r.address=n.join(""),r}function J0(t){if(_1(t,":")<2)return{host:t,isIPV6:!1};let e=g1(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 _1(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function y1(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function x1(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function v1(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!K0(r)){let n=J0(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Y0.exports={nonSimpleDomain:f1,recomposeAuthority:v1,normalizeComponentEncoding:x1,removeDotSegments:y1,isIPv4:K0,isUUID:m1,normalizeIPv6:J0,stringArrayToHexStripped:yf}});var rb=R((Hq,tb)=>{"use strict";var{isUUID:b1}=xf(),S1=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,k1=["http","https","ws","wss","urn","urn:uuid"];function w1(t){return k1.indexOf(t)!==-1}function vf(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 X0(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Q0(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 $1(t){return t.secure=vf(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function E1(t){if((t.port===(vf(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 T1(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(S1);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=bf(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=bf(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 R1(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!b1(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function O1(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var eb={scheme:"http",domainHost:!0,parse:X0,serialize:Q0},C1={scheme:"https",domainHost:eb.domainHost,parse:X0,serialize:Q0},pc={scheme:"ws",domainHost:!0,parse:$1,serialize:E1},I1={scheme:"wss",domainHost:pc.domainHost,parse:pc.parse,serialize:pc.serialize},A1={scheme:"urn",parse:T1,serialize:P1,skipNormalize:!0},N1={scheme:"urn:uuid",parse:R1,serialize:O1,skipNormalize:!0},mc={http:eb,https:C1,ws:pc,wss:I1,urn:A1,"urn:uuid":N1};Object.setPrototypeOf(mc,null);function bf(t){return t&&(mc[t]||mc[t.toLowerCase()])||void 0}tb.exports={wsIsSecure:vf,SCHEMES:mc,isValidSchemeName:w1,getSchemeHandler:bf}});var sb=R((qq,hc)=>{"use strict";var{normalizeIPv6:z1,removeDotSegments:ei,recomposeAuthority:j1,normalizeComponentEncoding:fc,isIPv4:M1,nonSimpleDomain:D1}=xf(),{SCHEMES:L1,getSchemeHandler:nb}=rb();function F1(t,e){return typeof t=="string"?t=lr(Er(t,e),e):typeof t=="object"&&(t=Er(lr(t,e),e)),t}function U1(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=ob(Er(t,n),Er(e,n),n,!0);return n.skipEscape=!0,lr(o,n)}function ob(t,e,r,n){let o={};return n||(t=Er(lr(t,r),r),e=Er(lr(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=ei(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=ei(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=ei(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=ei(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 Z1(t,e,r){return typeof t=="string"?(t=unescape(t),t=lr(fc(Er(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=lr(fc(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=lr(fc(Er(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=lr(fc(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function lr(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=nb(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=j1(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=ei(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 H1=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Er(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(H1);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(M1(n.host)===!1){let c=z1(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=nb(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&D1(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 Sf={SCHEMES:L1,normalize:F1,resolve:U1,resolveComponent:ob,equal:Z1,serialize:lr,parse:Er};hc.exports=Sf;hc.exports.default=Sf;hc.exports.fastUri=Sf});var ab=R(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});var ib=sb();ib.code='require("ajv/dist/runtime/uri").default';kf.default=ib});var hb=R(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.CodeGen=We.Name=We.nil=We.stringify=We.str=We._=We.KeywordCxt=void 0;var q1=Xs();Object.defineProperty(We,"KeywordCxt",{enumerable:!0,get:function(){return q1.KeywordCxt}});var Ao=K();Object.defineProperty(We,"_",{enumerable:!0,get:function(){return Ao._}});Object.defineProperty(We,"str",{enumerable:!0,get:function(){return Ao.str}});Object.defineProperty(We,"stringify",{enumerable:!0,get:function(){return Ao.stringify}});Object.defineProperty(We,"nil",{enumerable:!0,get:function(){return Ao.nil}});Object.defineProperty(We,"Name",{enumerable:!0,get:function(){return Ao.Name}});Object.defineProperty(We,"CodeGen",{enumerable:!0,get:function(){return Ao.CodeGen}});var B1=uc(),pb=Qs(),V1=Ym(),ti=dc(),W1=K(),ri=Ks(),gc=Gs(),$f=se(),cb=W0(),G1=ab(),mb=(t,e)=>new RegExp(t,e);mb.code="new RegExp";var K1=["removeAdditional","useDefaults","coerceTypes"],J1=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Y1={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."},X1={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},ub=200;function Q1(t){var e,r,n,o,s,i,a,c,u,l,d,m,h,p,f,g,_,y,x,k,T,J,B,oe,ht;let Fe=t.strict,F=(e=t.code)===null||e===void 0?void 0:e.optimize,gt=F===!0||F===void 0?1:F||0,Ne=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:mb,ve=(o=t.uriResolver)!==null&&o!==void 0?o:G1.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Fe)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Fe)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Fe)!==null&&l!==void 0?l:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:Fe)!==null&&m!==void 0?m:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:Fe)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:gt,regExp:Ne}:{optimize:gt,regExp:Ne},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:ub,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:ub,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(y=t.messages)!==null&&y!==void 0?y:!0,inlineRefs:(x=t.inlineRefs)!==null&&x!==void 0?x:!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:(oe=t.unicodeRegExp)!==null&&oe!==void 0?oe:!0,int32range:(ht=t.int32range)!==null&&ht!==void 0?ht:!0,uriResolver:ve}}var ni=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Q1(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new W1.ValueScope({scope:{},prefixes:J1,es5:r,lines:n}),this.logger=sA(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,V1.getRules)(),lb.call(this,Y1,e,"NOT SUPPORTED"),lb.call(this,X1,e,"DEPRECATED","warn"),this._metaOpts=nA.call(this),e.formats&&tA.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&rA.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),eA.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=cb;n==="id"&&(o={...cb},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 pb.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,ri.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=db.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ti.SchemaEnv({schema:{},schemaId:n});if(r=ti.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=db.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,ri.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(aA.call(this,n,r),!r)return(0,$f.eachItem)(n,s=>wf.call(this,s)),this;uA.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=>wf.call(this,s,o):s=>o.type.forEach(i=>wf.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]=fb(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,ri.normalizeId)(i||n);let u=ri.getSchemaRefs.call(this,e,n);return c=new ti.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):ti.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{ti.compileSchema.call(this,e)}finally{this.opts=r}}};ni.ValidationError=B1.default;ni.MissingRefError=pb.default;We.default=ni;function lb(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 db(t){return t=(0,ri.normalizeId)(t),this.schemas[t]||this.refs[t]}function eA(){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 tA(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function rA(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 nA(){let t={...this.opts};for(let e of K1)delete t[e];return t}var oA={log(){},warn(){},error(){}};function sA(t){if(t===!1)return oA;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 iA=/^[a-z_$][a-z0-9_$:-]*$/i;function aA(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(!iA.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 wf(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?cA.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 cA(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 uA(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=fb(e)),t.validateSchema=this.compile(e,!0))}var lA={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function fb(t){return{anyOf:[t,lA]}}});var gb=R(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0});var dA={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ef.default=dA});var vb=R(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.callRef=Un.getValidate=void 0;var pA=Qs(),_b=jt(),mt=K(),No=wr(),yb=dc(),_c=se(),mA={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=yb.resolveRef.call(c,u,o,r);if(l===void 0)throw new pA.default(n.opts.uriResolver,o,r);if(l instanceof yb.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,mt._)`${p}.validate`,u,u.$async)}function m(p){let f=xb(t,p);yc(t,f,p,p.$async)}function h(p){let f=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,mt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:mt.nil,topSchemaRef:f,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function xb(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,mt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Un.getValidate=xb;function yc(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?No.default.this:mt.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,mt._)`await ${(0,_b.callValidateCode)(t,e,u)}`),h(e),i||o.assign(p,!0)},f=>{o.if((0,mt._)`!(${f} instanceof ${s.ValidationError})`,()=>o.throw(f)),m(f),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,_b.callValidateCode)(t,e,u),()=>h(e),()=>m(e))}function m(p){let f=(0,mt._)`${p}.errors`;o.assign(No.default.vErrors,(0,mt._)`${No.default.vErrors} === null ? ${f} : ${No.default.vErrors}.concat(${f})`),o.assign(No.default.errors,(0,mt._)`${No.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,mt._)`${p}.evaluated.props`);s.props=_c.mergeEvaluated.props(o,_,s.props,mt.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,mt._)`${p}.evaluated.items`);s.items=_c.mergeEvaluated.items(o,_,s.items,mt.Name)}}}Un.callRef=yc;Un.default=mA});var bb=R(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});var fA=gb(),hA=vb(),gA=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",fA.default,hA.default];Tf.default=gA});var Sb=R(Pf=>{"use strict";Object.defineProperty(Pf,"__esModule",{value:!0});var xc=K(),Yr=xc.operators,vc={maximum:{okStr:"<=",ok:Yr.LTE,fail:Yr.GT},minimum:{okStr:">=",ok:Yr.GTE,fail:Yr.LT},exclusiveMaximum:{okStr:"<",ok:Yr.LT,fail:Yr.GTE},exclusiveMinimum:{okStr:">",ok:Yr.GT,fail:Yr.LTE}},_A={message:({keyword:t,schemaCode:e})=>(0,xc.str)`must be ${vc[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,xc._)`{comparison: ${vc[t].okStr}, limit: ${e}}`},yA={keyword:Object.keys(vc),type:"number",schemaType:"number",$data:!0,error:_A,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,xc._)`${r} ${vc[e].fail} ${n} || isNaN(${r})`)}};Pf.default=yA});var kb=R(Rf=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});var oi=K(),xA={message:({schemaCode:t})=>(0,oi.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,oi._)`{multipleOf: ${t}}`},vA={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:xA,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,oi._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,oi._)`${i} !== parseInt(${i})`;t.fail$data((0,oi._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};Rf.default=vA});var $b=R(Of=>{"use strict";Object.defineProperty(Of,"__esModule",{value:!0});function wb(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}Of.default=wb;wb.code='require("ajv/dist/runtime/ucs2length").default'});var Eb=R(Cf=>{"use strict";Object.defineProperty(Cf,"__esModule",{value:!0});var Zn=K(),bA=se(),SA=$b(),kA={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Zn.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Zn._)`{limit: ${t}}`},wA={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:kA,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?Zn.operators.GT:Zn.operators.LT,i=o.opts.unicode===!1?(0,Zn._)`${r}.length`:(0,Zn._)`${(0,bA.useFunc)(t.gen,SA.default)}(${r})`;t.fail$data((0,Zn._)`${i} ${s} ${n}`)}};Cf.default=wA});var Tb=R(If=>{"use strict";Object.defineProperty(If,"__esModule",{value:!0});var $A=jt(),EA=se(),zo=K(),TA={message:({schemaCode:t})=>(0,zo.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,zo._)`{pattern: ${t}}`},PA={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:TA,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,zo._)`new RegExp`:(0,EA.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,zo._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,zo._)`!${l}`)}else{let c=(0,$A.usePattern)(t,o);t.fail$data((0,zo._)`!${c}.test(${r})`)}}};If.default=PA});var Pb=R(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});var si=K(),RA={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,si.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,si._)`{limit: ${t}}`},OA={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:RA,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?si.operators.GT:si.operators.LT;t.fail$data((0,si._)`Object.keys(${r}).length ${o} ${n}`)}};Af.default=OA});var Rb=R(Nf=>{"use strict";Object.defineProperty(Nf,"__esModule",{value:!0});var ii=jt(),ai=K(),CA=se(),IA={message:({params:{missingProperty:t}})=>(0,ai.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,ai._)`{missingProperty: ${t}}`},AA={keyword:"required",type:"object",schemaType:"array",$data:!0,error:IA,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,CA.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(ai.nil,d);else for(let h of r)(0,ii.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,ii.checkMissingProp)(t,r,h)),(0,ii.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,ii.noPropertyInData)(e,o,h,a.ownProperties),()=>t.error())})}function m(h,p){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(p,(0,ii.propertyInData)(e,o,h,a.ownProperties)),e.if((0,ai.not)(p),()=>{t.error(),e.break()})},ai.nil)}}};Nf.default=AA});var Ob=R(zf=>{"use strict";Object.defineProperty(zf,"__esModule",{value:!0});var ci=K(),NA={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ci.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ci._)`{limit: ${t}}`},zA={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:NA,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?ci.operators.GT:ci.operators.LT;t.fail$data((0,ci._)`${r}.length ${o} ${n}`)}};zf.default=zA});var bc=R(jf=>{"use strict";Object.defineProperty(jf,"__esModule",{value:!0});var Cb=sf();Cb.code='require("ajv/dist/runtime/equal").default';jf.default=Cb});var Ib=R(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});var Mf=Gs(),Ge=K(),jA=se(),MA=bc(),DA={message:({params:{i:t,j:e}})=>(0,Ge.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Ge._)`{i: ${t}, j: ${e}}`},LA={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:DA,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,Mf.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,Ge._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,Ge._)`${r}.length`),f=e.let("j");t.setParams({i:p,j:f}),e.assign(c,!0),e.if((0,Ge._)`${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,Mf.checkDataTypes)(u,g,a.opts.strictNumbers,Mf.DataType.Wrong),y=e.const("indices",(0,Ge._)`{}`);e.for((0,Ge._)`;${p}--;`,()=>{e.let(g,(0,Ge._)`${r}[${p}]`),e.if(_,(0,Ge._)`continue`),u.length>1&&e.if((0,Ge._)`typeof ${g} == "string"`,(0,Ge._)`${g} += "_"`),e.if((0,Ge._)`typeof ${y}[${g}] == "number"`,()=>{e.assign(f,(0,Ge._)`${y}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,Ge._)`${y}[${g}] = ${p}`)})}function h(p,f){let g=(0,jA.useFunc)(e,MA.default),_=e.name("outer");e.label(_).for((0,Ge._)`;${p}--;`,()=>e.for((0,Ge._)`${f} = ${p}; ${f}--;`,()=>e.if((0,Ge._)`${g}(${r}[${p}], ${r}[${f}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Df.default=LA});var Ab=R(Ff=>{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});var Lf=K(),FA=se(),UA=bc(),ZA={message:"must be equal to constant",params:({schemaCode:t})=>(0,Lf._)`{allowedValue: ${t}}`},HA={keyword:"const",$data:!0,error:ZA,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,Lf._)`!${(0,FA.useFunc)(e,UA.default)}(${r}, ${o})`):t.fail((0,Lf._)`${s} !== ${r}`)}};Ff.default=HA});var Nb=R(Uf=>{"use strict";Object.defineProperty(Uf,"__esModule",{value:!0});var ui=K(),qA=se(),BA=bc(),VA={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,ui._)`{allowedValues: ${t}}`},WA={keyword:"enum",schemaType:"array",$data:!0,error:VA,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,qA.useFunc)(e,BA.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,ui.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,ui._)`${u()}(${r}, ${h})`,()=>e.assign(l,!0).break()))}function m(h,p){let f=o[p];return typeof f=="object"&&f!==null?(0,ui._)`${u()}(${r}, ${h}[${p}])`:(0,ui._)`${r} === ${f}`}}};Uf.default=WA});var zb=R(Zf=>{"use strict";Object.defineProperty(Zf,"__esModule",{value:!0});var GA=Sb(),KA=kb(),JA=Eb(),YA=Tb(),XA=Pb(),QA=Rb(),eN=Ob(),tN=Ib(),rN=Ab(),nN=Nb(),oN=[GA.default,KA.default,JA.default,YA.default,XA.default,QA.default,eN.default,tN.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},rN.default,nN.default];Zf.default=oN});var qf=R(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});li.validateAdditionalItems=void 0;var Hn=K(),Hf=se(),sN={message:({params:{len:t}})=>(0,Hn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Hn._)`{limit: ${t}}`},iN={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:sN,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Hf.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}jb(t,n)}};function jb(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Hn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Hn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Hf.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Hn._)`${a} <= ${e.length}`);r.if((0,Hn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Hf.Type.Num},u),i.allErrors||r.if((0,Hn.not)(u),()=>r.break())})}}li.validateAdditionalItems=jb;li.default=iN});var Bf=R(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.validateTuple=void 0;var Mb=K(),Sc=se(),aN=jt(),cN={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Db(t,"additionalItems",e);r.items=!0,!(0,Sc.alwaysValidSchema)(r,e)&&t.ok((0,aN.validateArray)(t))}};function Db(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,Mb._)`${s}.length`);r.forEach((d,m)=>{(0,Sc.alwaysValidSchema)(a,d)||(n.if((0,Mb._)`${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)}}}di.validateTuple=Db;di.default=cN});var Lb=R(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0});var uN=Bf(),lN={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,uN.validateTuple)(t,"items")};Vf.default=lN});var Ub=R(Wf=>{"use strict";Object.defineProperty(Wf,"__esModule",{value:!0});var Fb=K(),dN=se(),pN=jt(),mN=qf(),fN={message:({params:{len:t}})=>(0,Fb.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Fb._)`{limit: ${t}}`},hN={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:fN,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,dN.alwaysValidSchema)(n,e)&&(o?(0,mN.validateAdditionalItems)(t,o):t.ok((0,pN.validateArray)(t)))}};Wf.default=hN});var Zb=R(Gf=>{"use strict";Object.defineProperty(Gf,"__esModule",{value:!0});var Dt=K(),kc=se(),gN={message:({params:{min:t,max:e}})=>e===void 0?(0,Dt.str)`must contain at least ${t} valid item(s)`:(0,Dt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Dt._)`{minContains: ${t}}`:(0,Dt._)`{minContains: ${t}, maxContains: ${e}}`},_N={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:gN,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,Dt._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,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,Dt._)`${l} >= ${i}`;a!==void 0&&(f=(0,Dt._)`${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,Dt._)`${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,Dt._)`${f}++`),a===void 0?e.if((0,Dt._)`${f} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,Dt._)`${f} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,Dt._)`${f} >= ${i}`,()=>e.assign(d,!0)))}}};Gf.default=_N});var Bb=R(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.validateSchemaDeps=dr.validatePropertyDeps=dr.error=void 0;var Kf=K(),yN=se(),pi=jt();dr.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Kf.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Kf._)`{property: ${t},
50
+ ]`;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 cm,Wt,cC,Ya=v(()=>{Vr();Wt={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:()=>(cm===void 0&&(cm=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),cm),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-_]*$/};cC=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789")});function Xa(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]:U(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??Te(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:U(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}=Ja(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}=Ga(t.keyType._def,e);return{...r,propertyNames:o}}}return r}var Qa=v(()=>{gs();je();Ya();Ka();zt()});function Iv(t,e){if(e.mapStrategy==="record")return Xa(t,e);let r=U(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||Te(e),n=U(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 lm=v(()=>{je();Qa();zt()});function Av(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 dm=v(()=>{});function Nv(t){return t.target==="openAi"?void 0:{not:Te({...t,currentPath:[...t.currentPath,"not"]})}}var pm=v(()=>{zt()});function zv(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var mm=v(()=>{});function Dv(t,e){if(e.target==="openApi3")return jv(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Zs&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Zs[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 jv(t,e)}var Zs,jv,ec=v(()=>{je();Zs={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};jv=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>U(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 Mv(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:Zs[t.innerType._def.typeName],nullable:!0}:{type:[Zs[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=U(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=U(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}var fm=v(()=>{je();ec()});function Lv(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",Jp(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?oe(r,"minimum",n.value,n.message,e):oe(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),oe(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?oe(r,"maximum",n.value,n.message,e):oe(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),oe(r,"maximum",n.value,n.message,e));break;case"multipleOf":oe(r,"multipleOf",n.value,n.message,e);break}return r}var hm=v(()=>{Vr()});function Fv(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=dC(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=U(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=lC(t,e);return i!==void 0&&(n.additionalProperties=i),n}function lC(t,e){if(t.catchall._def.typeName!=="ZodNever")return U(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 dC(t){try{return t.isOptional()}catch{return!0}}var gm=v(()=>{je()});var Uv,_m=v(()=>{je();zt();Uv=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return U(t.innerType._def,e);let r=U(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Te(e)},r]}:Te(e)}});var Zv,ym=v(()=>{je();Zv=(t,e)=>{if(e.pipeStrategy==="input")return U(t.in._def,e);if(e.pipeStrategy==="output")return U(t.out._def,e);let r=U(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=U(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}}});function Hv(t,e){return U(t.type._def,e)}var xm=v(()=>{je()});function qv(t,e){let n={type:"array",uniqueItems:!0,items:U(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&oe(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&oe(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}var vm=v(()=>{Vr();je()});function Bv(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>U(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:U(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>U(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}var Sm=v(()=>{je()});function Vv(t){return{not:Te(t)}}var bm=v(()=>{zt()});function Wv(t){return Te(t)}var km=v(()=>{zt()});var Gv,wm=v(()=>{je();Gv=(t,e)=>U(t.innerType._def,e)});var Kv,$m=v(()=>{gs();zt();Yp();Xp();Qp();Ka();em();rm();nm();om();sm();im();am();lm();dm();pm();mm();fm();hm();gm();_m();ym();xm();Qa();vm();Ya();Sm();bm();ec();km();wm();Kv=(t,e,r)=>{switch(e){case $.ZodString:return Ja(t,r);case $.ZodNumber:return Lv(t,r);case $.ZodObject:return Fv(t,r);case $.ZodBigInt:return kv(t,r);case $.ZodBoolean:return wv();case $.ZodDate:return tm(t,r);case $.ZodUndefined:return Vv(r);case $.ZodNull:return zv(r);case $.ZodArray:return bv(t,r);case $.ZodUnion:case $.ZodDiscriminatedUnion:return Dv(t,r);case $.ZodIntersection:return Rv(t,r);case $.ZodTuple:return Bv(t,r);case $.ZodRecord:return Xa(t,r);case $.ZodLiteral:return Ov(t,r);case $.ZodEnum:return Pv(t);case $.ZodNativeEnum:return Av(t);case $.ZodNullable:return Mv(t,r);case $.ZodOptional:return Uv(t,r);case $.ZodMap:return Iv(t,r);case $.ZodSet:return qv(t,r);case $.ZodLazy:return()=>t.getter()._def;case $.ZodPromise:return Hv(t,r);case $.ZodNaN:case $.ZodNever:return Nv(r);case $.ZodEffects:return Tv(t,r);case $.ZodAny:return Te(r);case $.ZodUnknown:return Wv(r);case $.ZodDefault:return Ev(t,r);case $.ZodBranded:return Ga(t,r);case $.ZodReadonly:return Gv(t,r);case $.ZodCatch:return $v(t,r);case $.ZodPipeline:return Zv(t,r);case $.ZodFunction:case $.ZodVoid:case $.ZodSymbol:return;default:return(n=>{})(e)}}});function U(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==xv)return a}if(n&&!r){let a=pC(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=Kv(t,t.typeName,e),i=typeof s=="function"?U(s(),e):s;if(i&&mC(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var pC,mC,je=v(()=>{Ba();$m();Wa();zt();pC=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Va(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),Te(e)):e.$refStrategy==="seen"?Te(e):void 0}},mC=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r)});var Jv=v(()=>{});var Em,Tm=v(()=>{je();Kp();zt();Em=(t,e)=>{let r=Sv(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:U(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=U(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 Yv=v(()=>{Ba();Kp();Vr();Wa();je();Jv();zt();Yp();Xp();Qp();Ka();em();rm();nm();om();sm();im();am();lm();dm();pm();mm();fm();hm();gm();_m();ym();xm();wm();Qa();vm();Ya();Sm();bm();ec();km();$m();Tm();Tm()});function fC(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function Pm(t,e){return It(t)?hp(t,{target:fC(e?.target),io:e?.pipeStrategy??"input"}):Em(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function Rm(t){let r=Hr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=wa(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Om(t,e){let r=Zr(t,e);if(!r.success)throw r.error;return r.data}var Cm=v(()=>{yp();Rs();Yv()});function Xv(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Qv(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];Xv(i)&&Xv(s)?r[o]={...i,...s}:r[o]=s}return r}var hC,tc,eS=v(()=>{Rs();zn();_v();Cm();hC=6e4,tc=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(Ca,r=>{this._oncancel(r)}),this.setNotificationHandler(Aa,r=>{this._onprogress(r)}),this.setRequestHandler(Ia,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Na,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new N(D.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(ja,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 N(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 N(D.InvalidParams,`Task not found: ${s}`);if(!Br(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Br(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[qr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Da,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 N(D.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(La,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new N(D.InvalidParams,`Task not found: ${r.params.taskId}`);if(Br(o.status))throw new N(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 N(D.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof N?o:new N(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),N.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),As(s)||iv(s)?this._onresponse(s):zp(s)?this._onrequest(s,i):sv(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=N.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?.[qr]?.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=rv(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 N(D.ConnectionClosed,"Request was cancelled");let f={...m,relatedRequestId:e.id};s&&!f.relatedTask&&(f.relatedTask={taskId:s});let p=f.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code: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),As(e))n(e);else{let i=new N(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(As(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),As(e))o(e);else{let i=N.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 N?i:new N(D.InternalError,String(i))}}return}let s;try{let i=await this.request(e,vo,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new N(D.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Br(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new N(D.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new N(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 N?i:new N(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++,f={...e,jsonrpc:"2.0",id:m};n?.onprogress&&(this._progressHandlers.set(m,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:m}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[qr]: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 x=y instanceof N?y:new N(D.RequestTimeout,String(y));l(x)};this._responseHandlers.set(m,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return l(y);try{let x=Zr(r,y.result);x.success?u(x.data):l(x.error)}catch(x){l(x)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let h=n?.timeout??hC,g=()=>p(N.fromError(D.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(m,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let y=x=>{let k=this._responseHandlers.get(m);k?k(x):this._onerror(new Error(`Response handler missing for side-channeled request ${m}`))};this._requestResolvers.set(m,y),this._enqueueTaskMessage(_,{type:"request",message:f,timestamp:Date.now()}).catch(x=>{this._cleanupTimeout(m),l(x)})}else this._transport.send(f,{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},za,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},Ma,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},uv,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||{},[qr]: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||{},[qr]: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||{},[qr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=Rm(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=Om(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=Rm(e);this._notificationHandlers.set(n,o=>{let s=Om(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"&&zp(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new N(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 N(D.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new N(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 N(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=Ms.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Br(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 N(D.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Br(a.status))throw new N(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=Ms.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Br(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}}});var Bs=R(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.regexpCode=ce.getEsmExportName=ce.getProperty=ce.safeStringify=ce.stringify=ce.strConcat=ce.addCodeArg=ce.str=ce._=ce.nil=ce._Code=ce.Name=ce.IDENTIFIER=ce._CodeOrName=void 0;var Hs=class{};ce._CodeOrName=Hs;ce.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var jn=class extends Hs{constructor(e){if(super(),!ce.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}}};ce.Name=jn;var jt=class extends Hs{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 jn&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ce._Code=jt;ce.nil=new jt("");function tS(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Am(r,e[n]),r.push(t[++n]);return new jt(r)}ce._=tS;var Im=new jt("+");function rS(t,...e){let r=[qs(t[0])],n=0;for(;n<e.length;)r.push(Im),Am(r,e[n]),r.push(Im,qs(t[++n]));return gC(r),new jt(r)}ce.str=rS;function Am(t,e){e instanceof jt?t.push(...e._items):e instanceof jn?t.push(e):t.push(xC(e))}ce.addCodeArg=Am;function gC(t){let e=1;for(;e<t.length-1;){if(t[e]===Im){let r=_C(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function _C(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof jn||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof jn))return`"${t}${e.slice(1)}`}function yC(t,e){return e.emptyStr()?t:t.emptyStr()?e:rS`${t}${e}`}ce.strConcat=yC;function xC(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:qs(Array.isArray(t)?t.join(","):t)}function vC(t){return new jt(qs(t))}ce.stringify=vC;function qs(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ce.safeStringify=qs;function SC(t){return typeof t=="string"&&ce.IDENTIFIER.test(t)?new jt(`.${t}`):tS`[${t}]`}ce.getProperty=SC;function bC(t){if(typeof t=="string"&&ce.IDENTIFIER.test(t))return new jt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ce.getEsmExportName=bC;function kC(t){return new jt(t.toString())}ce.regexpCode=kC});var jm=R(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.ValueScope=mt.ValueScopeName=mt.Scope=mt.varKinds=mt.UsedValueState=void 0;var pt=Bs(),Nm=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},rc;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(rc||(mt.UsedValueState=rc={}));mt.varKinds={const:new pt.Name("const"),let:new pt.Name("let"),var:new pt.Name("var")};var nc=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof pt.Name?e:this.name(e)}name(e){return new pt.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}}};mt.Scope=nc;var oc=class extends pt.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,pt._)`.${new pt.Name(r)}[${n}]`}};mt.ValueScopeName=oc;var wC=(0,pt._)`\n`,zm=class extends nc{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?wC:pt.nil}}get(){return this._scope}name(e){return new oc(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,pt._)`${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=pt.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,rc.Started);let l=r(u);if(l){let d=this.opts.es5?mt.varKinds.var:mt.varKinds.const;s=(0,pt._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,pt._)`${s}${l}${this.opts._n}`;else throw new Nm(u);c.set(u,rc.Completed)})}return s}};mt.ValueScope=zm});var X=R(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.or=Q.and=Q.not=Q.CodeGen=Q.operators=Q.varKinds=Q.ValueScopeName=Q.ValueScope=Q.Scope=Q.Name=Q.regexpCode=Q.stringify=Q.getProperty=Q.nil=Q.strConcat=Q.str=Q._=void 0;var se=Bs(),Kt=jm(),Wr=Bs();Object.defineProperty(Q,"_",{enumerable:!0,get:function(){return Wr._}});Object.defineProperty(Q,"str",{enumerable:!0,get:function(){return Wr.str}});Object.defineProperty(Q,"strConcat",{enumerable:!0,get:function(){return Wr.strConcat}});Object.defineProperty(Q,"nil",{enumerable:!0,get:function(){return Wr.nil}});Object.defineProperty(Q,"getProperty",{enumerable:!0,get:function(){return Wr.getProperty}});Object.defineProperty(Q,"stringify",{enumerable:!0,get:function(){return Wr.stringify}});Object.defineProperty(Q,"regexpCode",{enumerable:!0,get:function(){return Wr.regexpCode}});Object.defineProperty(Q,"Name",{enumerable:!0,get:function(){return Wr.Name}});var cc=jm();Object.defineProperty(Q,"Scope",{enumerable:!0,get:function(){return cc.Scope}});Object.defineProperty(Q,"ValueScope",{enumerable:!0,get:function(){return cc.ValueScope}});Object.defineProperty(Q,"ValueScopeName",{enumerable:!0,get:function(){return cc.ValueScopeName}});Object.defineProperty(Q,"varKinds",{enumerable:!0,get:function(){return cc.varKinds}});Q.operators={GT:new se._Code(">"),GTE:new se._Code(">="),LT:new se._Code("<"),LTE:new se._Code("<="),EQ:new se._Code("==="),NEQ:new se._Code("!=="),NOT:new se._Code("!"),OR:new se._Code("||"),AND:new se._Code("&&"),ADD:new se._Code("+")};var kr=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Dm=class extends kr{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=Po(this.rhs,e,r)),this}get names(){return this.rhs instanceof se._CodeOrName?this.rhs.names:{}}},sc=class extends kr{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 se.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Po(this.rhs,e,r),this}get names(){let e=this.lhs instanceof se.Name?{}:{...this.lhs.names};return ac(e,this.rhs)}},Mm=class extends sc{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Lm=class extends kr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Fm=class extends kr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Um=class extends kr{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Zm=class extends kr{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=Po(this.code,e,r),this}get names(){return this.code instanceof se._CodeOrName?this.code.names:{}}},Vs=class extends kr{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)||($C(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Ln(e,r.names),{})}},wr=class extends Vs{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Hm=class extends Vs{},To=class extends wr{};To.kind="else";var Dn=class t extends wr{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 To(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(nS(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=Po(this.condition,e,r),this}get names(){let e=super.names;return ac(e,this.condition),this.else&&Ln(e,this.else.names),e}};Dn.kind="if";var Mn=class extends wr{};Mn.kind="for";var qm=class extends Mn{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=Po(this.iteration,e,r),this}get names(){return Ln(super.names,this.iteration.names)}},Bm=class extends Mn{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=ac(super.names,this.from);return ac(e,this.to)}},ic=class extends Mn{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=Po(this.iterable,e,r),this}get names(){return Ln(super.names,this.iterable.names)}},Ws=class extends wr{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)}};Ws.kind="func";var Gs=class extends Vs{render(e){return"return "+super.render(e)}};Gs.kind="return";var Vm=class extends wr{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&&Ln(e,this.catch.names),this.finally&&Ln(e,this.finally.names),e}},Ks=class extends wr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ks.kind="catch";var Js=class extends wr{render(e){return"finally"+super.render(e)}};Js.kind="finally";var Wm=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
51
+ `:""},this._extScope=e,this._scope=new Kt.Scope({parent:e}),this._nodes=[new Hm]}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 Dm(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 sc(e,r,n))}add(e,r){return this._leafNode(new Mm(e,Q.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==se.nil&&this._leafNode(new Zm(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,se.addCodeArg)(r,o));return r.push("}"),new se._Code(r)}if(e,r,n){if(this._blockNode(new Dn(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 Dn(e))}else(){return this._elseNode(new To)}endIf(){return this._endBlockNode(Dn,To)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new qm(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 Bm(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 se.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,se._)`${i}.length`,a=>{this.var(s,(0,se._)`${i}[${a}]`),n(s)})}return this._for(new ic("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,se._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new ic("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Mn)}label(e){return this._leafNode(new Lm(e))}break(e){return this._leafNode(new Fm(e))}return(e){let r=new Gs;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Gs)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Vm;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Ks(s),r(s)}return n&&(this._currNode=o.finally=new Js,this.code(n)),this._endBlockNode(Ks,Js)}throw(e){return this._leafNode(new Um(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=se.nil,n,o){return this._blockNode(new Ws(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Ws)}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 Dn))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}};Q.CodeGen=Wm;function Ln(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function ac(t,e){return e instanceof se._CodeOrName?Ln(t,e.names):t}function Po(t,e,r){if(t instanceof se.Name)return n(t);if(!o(t))return t;return new se._Code(t._items.reduce((s,i)=>(i instanceof se.Name&&(i=n(i)),i instanceof se._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 se._Code&&s._items.some(i=>i instanceof se.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function $C(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function nS(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,se._)`!${Gm(t)}`}Q.not=nS;var EC=oS(Q.operators.AND);function TC(...t){return t.reduce(EC)}Q.and=TC;var PC=oS(Q.operators.OR);function RC(...t){return t.reduce(PC)}Q.or=RC;function oS(t){return(e,r)=>e===se.nil?r:r===se.nil?e:(0,se._)`${Gm(e)} ${t} ${Gm(r)}`}function Gm(t){return t instanceof se.Name?t:(0,se._)`(${t})`}});var ie=R(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.checkStrictMode=ee.getErrorPath=ee.Type=ee.useFunc=ee.setEvaluated=ee.evaluatedPropsToName=ee.mergeEvaluated=ee.eachItem=ee.unescapeJsonPointer=ee.escapeJsonPointer=ee.escapeFragment=ee.unescapeFragment=ee.schemaRefOrVal=ee.schemaHasRulesButRef=ee.schemaHasRules=ee.checkUnknownRules=ee.alwaysValidSchema=ee.toHash=void 0;var he=X(),OC=Bs();function CC(t){let e={};for(let r of t)e[r]=!0;return e}ee.toHash=CC;function IC(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(aS(t,e),!cS(e,t.self.RULES.all))}ee.alwaysValidSchema=IC;function aS(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]||dS(t,`unknown keyword: "${s}"`)}ee.checkUnknownRules=aS;function cS(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}ee.schemaHasRules=cS;function AC(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}ee.schemaHasRulesButRef=AC;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,he._)`${r}`}return(0,he._)`${t}${e}${(0,he.getProperty)(n)}`}ee.schemaRefOrVal=NC;function zC(t){return uS(decodeURIComponent(t))}ee.unescapeFragment=zC;function jC(t){return encodeURIComponent(Jm(t))}ee.escapeFragment=jC;function Jm(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}ee.escapeJsonPointer=Jm;function uS(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}ee.unescapeJsonPointer=uS;function DC(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}ee.eachItem=DC;function sS({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof he.Name?(s instanceof he.Name?t(o,s,i):e(o,s,i),i):s instanceof he.Name?(e(o,i,s),s):r(s,i);return a===he.Name&&!(c instanceof he.Name)?n(o,c):c}}ee.mergeEvaluated={props:sS({mergeNames:(t,e,r)=>t.if((0,he._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,he._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,he._)`${r} || {}`).code((0,he._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,he._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,he._)`${r} || {}`),Ym(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:lS}),items:sS({mergeNames:(t,e,r)=>t.if((0,he._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,he._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,he._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,he._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function lS(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,he._)`{}`);return e!==void 0&&Ym(t,r,e),r}ee.evaluatedPropsToName=lS;function Ym(t,e,r){Object.keys(r).forEach(n=>t.assign((0,he._)`${e}${(0,he.getProperty)(n)}`,!0))}ee.setEvaluated=Ym;var iS={};function MC(t,e){return t.scopeValue("func",{ref:e,code:iS[e.code]||(iS[e.code]=new OC._Code(e.code))})}ee.useFunc=MC;var Km;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Km||(ee.Type=Km={}));function LC(t,e,r){if(t instanceof he.Name){let n=e===Km.Num;return r?n?(0,he._)`"[" + ${t} + "]"`:(0,he._)`"['" + ${t} + "']"`:n?(0,he._)`"/" + ${t}`:(0,he._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,he.getProperty)(t).toString():"/"+Jm(t)}ee.getErrorPath=LC;function dS(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}ee.checkStrictMode=dS});var $r=R(Xm=>{"use strict";Object.defineProperty(Xm,"__esModule",{value:!0});var Xe=X(),FC={data:new Xe.Name("data"),valCxt:new Xe.Name("valCxt"),instancePath:new Xe.Name("instancePath"),parentData:new Xe.Name("parentData"),parentDataProperty:new Xe.Name("parentDataProperty"),rootData:new Xe.Name("rootData"),dynamicAnchors:new Xe.Name("dynamicAnchors"),vErrors:new Xe.Name("vErrors"),errors:new Xe.Name("errors"),this:new Xe.Name("this"),self:new Xe.Name("self"),scope:new Xe.Name("scope"),json:new Xe.Name("json"),jsonPos:new Xe.Name("jsonPos"),jsonLen:new Xe.Name("jsonLen"),jsonPart:new Xe.Name("jsonPart")};Xm.default=FC});var Ys=R(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.extendErrors=Qe.resetErrorsCount=Qe.reportExtraError=Qe.reportError=Qe.keyword$DataError=Qe.keywordError=void 0;var ae=X(),uc=ie(),it=$r();Qe.keywordError={message:({keyword:t})=>(0,ae.str)`must pass "${t}" keyword validation`};Qe.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,ae.str)`"${t}" keyword must be ${e} ($data)`:(0,ae.str)`"${t}" keyword is invalid ($data)`};function UC(t,e=Qe.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=fS(t,e,r);n??(i||a)?pS(s,c):mS(o,(0,ae._)`[${c}]`)}Qe.reportError=UC;function ZC(t,e=Qe.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=fS(t,e,r);pS(o,a),s||i||mS(n,it.default.vErrors)}Qe.reportExtraError=ZC;function HC(t,e){t.assign(it.default.errors,e),t.if((0,ae._)`${it.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,ae._)`${it.default.vErrors}.length`,e),()=>t.assign(it.default.vErrors,null)))}Qe.resetErrorsCount=HC;function qC({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,it.default.errors,a=>{t.const(i,(0,ae._)`${it.default.vErrors}[${a}]`),t.if((0,ae._)`${i}.instancePath === undefined`,()=>t.assign((0,ae._)`${i}.instancePath`,(0,ae.strConcat)(it.default.instancePath,s.errorPath))),t.assign((0,ae._)`${i}.schemaPath`,(0,ae.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,ae._)`${i}.schema`,r),t.assign((0,ae._)`${i}.data`,n))})}Qe.extendErrors=qC;function pS(t,e){let r=t.const("err",e);t.if((0,ae._)`${it.default.vErrors} === null`,()=>t.assign(it.default.vErrors,(0,ae._)`[${r}]`),(0,ae._)`${it.default.vErrors}.push(${r})`),t.code((0,ae._)`${it.default.errors}++`)}function mS(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,ae._)`new ${t.ValidationError}(${e})`):(r.assign((0,ae._)`${n}.errors`,e),r.return(!1))}var Fn={keyword:new ae.Name("keyword"),schemaPath:new ae.Name("schemaPath"),params:new ae.Name("params"),propertyName:new ae.Name("propertyName"),message:new ae.Name("message"),schema:new ae.Name("schema"),parentSchema:new ae.Name("parentSchema")};function fS(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,ae._)`{}`:BC(t,e,r)}function BC(t,e,r={}){let{gen:n,it:o}=t,s=[VC(o,r),WC(t,r)];return GC(t,e,s),n.object(...s)}function VC({errorPath:t},{instancePath:e}){let r=e?(0,ae.str)`${t}${(0,uc.getErrorPath)(e,uc.Type.Str)}`:t;return[it.default.instancePath,(0,ae.strConcat)(it.default.instancePath,r)]}function WC({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,ae.str)`${e}/${t}`;return r&&(o=(0,ae.str)`${o}${(0,uc.getErrorPath)(r,uc.Type.Str)}`),[Fn.schemaPath,o]}function GC(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([Fn.keyword,o],[Fn.params,typeof e=="function"?e(t):e||(0,ae._)`{}`]),c.messages&&n.push([Fn.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Fn.schema,i],[Fn.parentSchema,(0,ae._)`${l}${d}`],[it.default.data,s]),u&&n.push([Fn.propertyName,u])}});var gS=R(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.boolOrEmptySchema=Ro.topBoolOrEmptySchema=void 0;var KC=Ys(),JC=X(),YC=$r(),XC={message:"boolean schema is false"};function QC(t){let{gen:e,schema:r,validateName:n}=t;r===!1?hS(t,!1):typeof r=="object"&&r.$async===!0?e.return(YC.default.data):(e.assign((0,JC._)`${n}.errors`,null),e.return(!0))}Ro.topBoolOrEmptySchema=QC;function eI(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),hS(t)):r.var(e,!0)}Ro.boolOrEmptySchema=eI;function hS(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,KC.reportError)(o,XC,void 0,e)}});var Qm=R(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.getRules=Oo.isJSONType=void 0;var tI=["string","number","integer","boolean","null","object","array"],rI=new Set(tI);function nI(t){return typeof t=="string"&&rI.has(t)}Oo.isJSONType=nI;function oI(){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:{}}}Oo.getRules=oI});var ef=R(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.shouldUseRule=Gr.shouldUseGroup=Gr.schemaHasRulesForType=void 0;function sI({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&_S(t,n)}Gr.schemaHasRulesForType=sI;function _S(t,e){return e.rules.some(r=>yS(t,r))}Gr.shouldUseGroup=_S;function yS(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))}Gr.shouldUseRule=yS});var Xs=R(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.reportTypeError=et.checkDataTypes=et.checkDataType=et.coerceAndCheckDataType=et.getJSONTypes=et.getSchemaTypes=et.DataType=void 0;var iI=Qm(),aI=ef(),cI=Ys(),K=X(),xS=ie(),Co;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Co||(et.DataType=Co={}));function uI(t){let e=vS(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}et.getSchemaTypes=uI;function vS(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(iI.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}et.getJSONTypes=vS;function lI(t,e){let{gen:r,data:n,opts:o}=t,s=dI(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,aI.schemaHasRulesForType)(t,e[0]));if(i){let a=rf(e,n,o.strictNumbers,Co.Wrong);r.if(a,()=>{s.length?pI(t,e,s):nf(t)})}return i}et.coerceAndCheckDataType=lI;var SS=new Set(["string","number","integer","boolean","null"]);function dI(t,e){return e?t.filter(r=>SS.has(r)||e==="array"&&r==="array"):[]}function pI(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,K._)`typeof ${o}`),a=n.let("coerced",(0,K._)`undefined`);s.coerceTypes==="array"&&n.if((0,K._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,K._)`${o}[0]`).assign(i,(0,K._)`typeof ${o}`).if(rf(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,K._)`${a} !== undefined`);for(let u of r)(SS.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),nf(t),n.endIf(),n.if((0,K._)`${a} !== undefined`,()=>{n.assign(o,a),mI(t,a)});function c(u){switch(u){case"string":n.elseIf((0,K._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,K._)`"" + ${o}`).elseIf((0,K._)`${o} === null`).assign(a,(0,K._)`""`);return;case"number":n.elseIf((0,K._)`${i} == "boolean" || ${o} === null
52
+ || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,K._)`+${o}`);return;case"integer":n.elseIf((0,K._)`${i} === "boolean" || ${o} === null
53
+ || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,K._)`+${o}`);return;case"boolean":n.elseIf((0,K._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,K._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,K._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,K._)`${i} === "string" || ${i} === "number"
54
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,K._)`[${o}]`)}}}function mI({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,K._)`${e} !== undefined`,()=>t.assign((0,K._)`${e}[${r}]`,n))}function tf(t,e,r,n=Co.Correct){let o=n===Co.Correct?K.operators.EQ:K.operators.NEQ,s;switch(t){case"null":return(0,K._)`${e} ${o} null`;case"array":s=(0,K._)`Array.isArray(${e})`;break;case"object":s=(0,K._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,K._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,K._)`typeof ${e} ${o} ${t}`}return n===Co.Correct?s:(0,K.not)(s);function i(a=K.nil){return(0,K.and)((0,K._)`typeof ${e} == "number"`,a,r?(0,K._)`isFinite(${e})`:K.nil)}}et.checkDataType=tf;function rf(t,e,r,n){if(t.length===1)return tf(t[0],e,r,n);let o,s=(0,xS.toHash)(t);if(s.array&&s.object){let i=(0,K._)`typeof ${e} != "object"`;o=s.null?i:(0,K._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=K.nil;s.number&&delete s.integer;for(let i in s)o=(0,K.and)(o,tf(i,e,r,n));return o}et.checkDataTypes=rf;var fI={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,K._)`{type: ${t}}`:(0,K._)`{type: ${e}}`};function nf(t){let e=hI(t);(0,cI.reportError)(e,fI)}et.reportTypeError=nf;function hI(t){let{gen:e,data:r,schema:n}=t,o=(0,xS.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var kS=R(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.assignDefaults=void 0;var Io=X(),gI=ie();function _I(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)bS(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>bS(t,s,o.default))}lc.assignDefaults=_I;function bS(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Io._)`${s}${(0,Io.getProperty)(e)}`;if(o){(0,gI.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Io._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Io._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Io._)`${a} = ${(0,Io.stringify)(r)}`)}});var Dt=R(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.validateUnion=pe.validateArray=pe.usePattern=pe.callValidateCode=pe.schemaProperties=pe.allSchemaProperties=pe.noPropertyInData=pe.propertyInData=pe.isOwnProperty=pe.hasPropFunc=pe.reportMissingProp=pe.checkMissingProp=pe.checkReportMissingProp=void 0;var ve=X(),of=ie(),Kr=$r(),yI=ie();function xI(t,e){let{gen:r,data:n,it:o}=t;r.if(af(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ve._)`${e}`},!0),t.error()})}pe.checkReportMissingProp=xI;function vI({gen:t,data:e,it:{opts:r}},n,o){return(0,ve.or)(...n.map(s=>(0,ve.and)(af(t,e,s,r.ownProperties),(0,ve._)`${o} = ${s}`)))}pe.checkMissingProp=vI;function SI(t,e){t.setParams({missingProperty:e},!0),t.error()}pe.reportMissingProp=SI;function wS(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ve._)`Object.prototype.hasOwnProperty`})}pe.hasPropFunc=wS;function sf(t,e,r){return(0,ve._)`${wS(t)}.call(${e}, ${r})`}pe.isOwnProperty=sf;function bI(t,e,r,n){let o=(0,ve._)`${e}${(0,ve.getProperty)(r)} !== undefined`;return n?(0,ve._)`${o} && ${sf(t,e,r)}`:o}pe.propertyInData=bI;function af(t,e,r,n){let o=(0,ve._)`${e}${(0,ve.getProperty)(r)} === undefined`;return n?(0,ve.or)(o,(0,ve.not)(sf(t,e,r))):o}pe.noPropertyInData=af;function $S(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}pe.allSchemaProperties=$S;function kI(t,e){return $S(e).filter(r=>!(0,of.alwaysValidSchema)(t,e[r]))}pe.schemaProperties=kI;function wI({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=[[Kr.default.instancePath,(0,ve.strConcat)(Kr.default.instancePath,s)],[Kr.default.parentData,i.parentData],[Kr.default.parentDataProperty,i.parentDataProperty],[Kr.default.rootData,Kr.default.rootData]];i.opts.dynamicRef&&d.push([Kr.default.dynamicAnchors,Kr.default.dynamicAnchors]);let m=(0,ve._)`${l}, ${r.object(...d)}`;return c!==ve.nil?(0,ve._)`${a}.call(${c}, ${m})`:(0,ve._)`${a}(${m})`}pe.callValidateCode=wI;var $I=(0,ve._)`new RegExp`;function EI({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"?$I:(0,yI.useFunc)(t,o)}(${r}, ${n})`})}pe.usePattern=EI;function TI(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:of.Type.Num},s),e.if((0,ve.not)(s),a)})}}pe.validateArray=TI;function PI(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,of.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))}pe.validateUnion=PI});var PS=R(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.validateKeywordUsage=ur.validSchemaType=ur.funcKeywordCode=ur.macroKeywordCode=void 0;var at=X(),Un=$r(),RI=Dt(),OI=Ys();function CI(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=TS(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:at.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}ur.macroKeywordCode=CI;function II(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=TS(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)h(),e.modifying&&ES(t),g(()=>t.error());else{let _=e.async?f():p();e.modifying&&ES(t),g(()=>AI(t,_))}}function f(){let _=n.let("ruleErrs",null);return n.try(()=>h((0,at._)`await `),y=>n.assign(d,!1).if((0,at._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,at._)`${y}.errors`),()=>n.throw(y))),_}function p(){let _=(0,at._)`${l}.errors`;return n.assign(_,null),h(at.nil),_}function h(_=e.async?(0,at._)`await `:at.nil){let y=c.opts.passContext?Un.default.this:Un.default.self,x=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,at._)`${_}${(0,RI.callValidateCode)(t,l,y,x)}`,e.modifying)}function g(_){var y;n.if((0,at.not)((y=e.valid)!==null&&y!==void 0?y:d),_)}}ur.funcKeywordCode=II;function ES(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,at._)`${n.parentData}[${n.parentDataProperty}]`))}function AI(t,e){let{gen:r}=t;r.if((0,at._)`Array.isArray(${e})`,()=>{r.assign(Un.default.vErrors,(0,at._)`${Un.default.vErrors} === null ? ${e} : ${Un.default.vErrors}.concat(${e})`).assign(Un.default.errors,(0,at._)`${Un.default.vErrors}.length`),(0,OI.extendErrors)(t)},()=>t.error())}function NI({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function TS(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,at.stringify)(r)})}function zI(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")}ur.validSchemaType=zI;function jI({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)}}ur.validateKeywordUsage=jI});var OS=R(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.extendSubschemaMode=Jr.extendSubschemaData=Jr.getSubschema=void 0;var lr=X(),RS=ie();function DI(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,lr._)`${t.schemaPath}${(0,lr.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,lr._)`${t.schemaPath}${(0,lr.getProperty)(e)}${(0,lr.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,RS.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')}Jr.getSubschema=DI;function MI(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,lr._)`${e.data}${(0,lr.getProperty)(r)}`,!0);c(m),t.errorPath=(0,lr.str)`${u}${(0,RS.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,lr._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof lr.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]}}Jr.extendSubschemaData=MI;function LI(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}Jr.extendSubschemaMode=LI});var cf=R((Yq,CS)=>{"use strict";CS.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 AS=R((Xq,IS)=>{"use strict";var Yr=IS.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(){};dc(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 dc(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 m=0;m<d.length;m++)dc(t,e,r,d[m],o+"/"+l+"/"+m,s,o,l,n,m)}else if(l in Yr.propsKeywords){if(d&&typeof d=="object")for(var f in d)dc(t,e,r,d[f],o+"/"+l+"/"+FI(f),s,o,l,n,f)}else(l in Yr.keywords||t.allKeys&&!(l in Yr.skipKeywords))&&dc(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function FI(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Qs=R(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.getSchemaRefs=ft.resolveUrl=ft.normalizeId=ft._getFullPath=ft.getFullPath=ft.inlineRef=void 0;var UI=ie(),ZI=cf(),HI=AS(),qI=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function BI(t,e=!0){return typeof t=="boolean"?!0:e===!0?!uf(t):e?NS(t)<=e:!1}ft.inlineRef=BI;var VI=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function uf(t){for(let e in t){if(VI.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(uf)||typeof r=="object"&&uf(r))return!0}return!1}function NS(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!qI.has(r)&&(typeof t[r]=="object"&&(0,UI.eachItem)(t[r],n=>e+=NS(n)),e===1/0))return 1/0}return e}function zS(t,e="",r){r!==!1&&(e=Ao(e));let n=t.parse(e);return jS(t,n)}ft.getFullPath=zS;function jS(t,e){return t.serialize(e).split("#")[0]+"#"}ft._getFullPath=jS;var WI=/#\/?$/;function Ao(t){return t?t.replace(WI,""):""}ft.normalizeId=Ao;function GI(t,e,r){return r=Ao(r),t.resolve(e,r)}ft.resolveUrl=GI;var KI=/^[a-z_][-a-z0-9._]*$/i;function JI(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Ao(t[r]||e),s={"":o},i=zS(n,o,!1),a={},c=new Set;return HI(t,{allKeys:!0},(d,m,f,p)=>{if(p===void 0)return;let h=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 _(x){let k=this.opts.uriResolver.resolve;if(x=Ao(g?k(g,x):x),c.has(x))throw l(x);c.add(x);let E=this.refs[x];return typeof E=="string"&&(E=this.refs[E]),typeof E=="object"?u(d,E.schema,x):x!==Ao(h)&&(x[0]==="#"?(u(d,a[x],x),a[x]=d):this.refs[x]=h),x}function y(x){if(typeof x=="string"){if(!KI.test(x))throw new Error(`invalid anchor "${x}"`);_.call(this,`#${x}`)}}}),a;function u(d,m,f){if(m!==void 0&&!ZI(d,m))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}ft.getSchemaRefs=JI});var ri=R(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.getData=Xr.KeywordCxt=Xr.validateFunctionCode=void 0;var US=gS(),DS=Xs(),df=ef(),pc=Xs(),YI=kS(),ti=PS(),lf=OS(),j=X(),V=$r(),XI=Qs(),Er=ie(),ei=Ys();function QI(t){if(qS(t)&&(BS(t),HS(t))){r1(t);return}ZS(t,()=>(0,US.topBoolOrEmptySchema)(t))}Xr.validateFunctionCode=QI;function ZS({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,j._)`${V.default.data}, ${V.default.valCxt}`,n.$async,()=>{t.code((0,j._)`"use strict"; ${MS(r,o)}`),t1(t,o),t.code(s)}):t.func(e,(0,j._)`${V.default.data}, ${e1(o)}`,n.$async,()=>t.code(MS(r,o)).code(s))}function e1(t){return(0,j._)`{${V.default.instancePath}="", ${V.default.parentData}, ${V.default.parentDataProperty}, ${V.default.rootData}=${V.default.data}${t.dynamicRef?(0,j._)`, ${V.default.dynamicAnchors}={}`:j.nil}}={}`}function t1(t,e){t.if(V.default.valCxt,()=>{t.var(V.default.instancePath,(0,j._)`${V.default.valCxt}.${V.default.instancePath}`),t.var(V.default.parentData,(0,j._)`${V.default.valCxt}.${V.default.parentData}`),t.var(V.default.parentDataProperty,(0,j._)`${V.default.valCxt}.${V.default.parentDataProperty}`),t.var(V.default.rootData,(0,j._)`${V.default.valCxt}.${V.default.rootData}`),e.dynamicRef&&t.var(V.default.dynamicAnchors,(0,j._)`${V.default.valCxt}.${V.default.dynamicAnchors}`)},()=>{t.var(V.default.instancePath,(0,j._)`""`),t.var(V.default.parentData,(0,j._)`undefined`),t.var(V.default.parentDataProperty,(0,j._)`undefined`),t.var(V.default.rootData,V.default.data),e.dynamicRef&&t.var(V.default.dynamicAnchors,(0,j._)`{}`)})}function r1(t){let{schema:e,opts:r,gen:n}=t;ZS(t,()=>{r.$comment&&e.$comment&&WS(t),a1(t),n.let(V.default.vErrors,null),n.let(V.default.errors,0),r.unevaluated&&n1(t),VS(t),l1(t)})}function n1(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,j._)`${r}.evaluated`),e.if((0,j._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,j._)`${t.evaluated}.props`,(0,j._)`undefined`)),e.if((0,j._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,j._)`${t.evaluated}.items`,(0,j._)`undefined`))}function MS(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,j._)`/*# sourceURL=${r} */`:j.nil}function o1(t,e){if(qS(t)&&(BS(t),HS(t))){s1(t,e);return}(0,US.boolOrEmptySchema)(t,e)}function HS({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 qS(t){return typeof t.schema!="boolean"}function s1(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&WS(t),c1(t),u1(t);let s=n.const("_errs",V.default.errors);VS(t,s),n.var(e,(0,j._)`${s} === ${V.default.errors}`)}function BS(t){(0,Er.checkUnknownRules)(t),i1(t)}function VS(t,e){if(t.opts.jtd)return LS(t,[],!1,e);let r=(0,DS.getSchemaTypes)(t.schema),n=(0,DS.coerceAndCheckDataType)(t,r);LS(t,r,!n,e)}function i1(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 a1(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 c1(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,XI.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function u1(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function WS({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,j._)`${V.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,j.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,j._)`${V.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function l1(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,j._)`${V.default.errors} === 0`,()=>e.return(V.default.data),()=>e.throw((0,j._)`new ${o}(${V.default.vErrors})`)):(e.assign((0,j._)`${n}.errors`,V.default.vErrors),s.unevaluated&&d1(t),e.return((0,j._)`${V.default.errors} === 0`))}function d1({gen:t,evaluated:e,props:r,items:n}){r instanceof j.Name&&t.assign((0,j._)`${e}.props`,r),n instanceof j.Name&&t.assign((0,j._)`${e}.items`,n)}function LS(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(()=>KS(t,"$ref",l.all.$ref.definition));return}c.jtd||p1(t,e),o.block(()=>{for(let m of l.rules)d(m);d(l.post)});function d(m){(0,df.shouldUseGroup)(s,m)&&(m.type?(o.if((0,pc.checkDataType)(m.type,i,c.strictNumbers)),FS(t,m),e.length===1&&e[0]===m.type&&r&&(o.else(),(0,pc.reportTypeError)(t)),o.endIf()):FS(t,m),a||o.if((0,j._)`${V.default.errors} === ${n||0}`))}}function FS(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,YI.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,df.shouldUseRule)(n,s)&&KS(t,s.keyword,s.definition,e.type)})}function p1(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(m1(t,e),t.opts.allowUnionTypes||f1(t,e),h1(t,t.dataTypes))}function m1(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{GS(t.dataTypes,r)||pf(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),_1(t,e)}}function f1(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&pf(t,"use allowUnionTypes to allow union type keyword")}function h1(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,df.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>g1(e,i))&&pf(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function g1(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function GS(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function _1(t,e){let r=[];for(let n of t.dataTypes)GS(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function pf(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Er.checkStrictMode)(t,e,t.opts.strictTypes)}var mc=class{constructor(e,r,n){if((0,ti.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",JS(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ti.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",V.default.errors))}result(e,r,n){this.failResult((0,j.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,j.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,j._)`${r} !== undefined && (${(0,j.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?ei.reportExtraError:ei.reportError)(this,this.def.error,r)}$dataError(){(0,ei.reportError)(this,this.def.$dataError||ei.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,ei.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=j.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=j.nil,r=j.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,j.or)((0,j._)`${o} === undefined`,r)),e!==j.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==j.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,j.or)(i(),a());function i(){if(n.length){if(!(r instanceof j.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,j._)`${(0,pc.checkDataTypes)(c,r,s.opts.strictNumbers,pc.DataType.Wrong)}`}return j.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,j._)`!${c}(${r})`}return j.nil}}subschema(e,r){let n=(0,lf.getSubschema)(this.it,e);(0,lf.extendSubschemaData)(n,this.it,e),(0,lf.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return o1(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,j.Name)),!0}};Xr.KeywordCxt=mc;function KS(t,e,r,n){let o=new mc(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,ti.funcKeywordCode)(o,r):"macro"in r?(0,ti.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,ti.funcKeywordCode)(o,r)}var y1=/^\/(?:[^~]|~0|~1)*$/,x1=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function JS(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return V.default.rootData;if(t[0]==="/"){if(!y1.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=V.default.rootData}else{let u=x1.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,j._)`${s}${(0,j.getProperty)((0,Er.unescapeJsonPointer)(u))}`,i=(0,j._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Xr.getData=JS});var fc=R(ff=>{"use strict";Object.defineProperty(ff,"__esModule",{value:!0});var mf=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};ff.default=mf});var ni=R(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});var hf=Qs(),gf=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,hf.resolveUrl)(e,r,n),this.missingSchema=(0,hf.normalizeId)((0,hf.getFullPath)(e,this.missingRef))}};_f.default=gf});var gc=R(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.resolveSchema=Mt.getCompilingSchema=Mt.resolveRef=Mt.compileSchema=Mt.SchemaEnv=void 0;var Jt=X(),v1=fc(),Zn=$r(),Yt=Qs(),YS=ie(),S1=ri(),No=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Yt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Mt.SchemaEnv=No;function xf(t){let e=XS.call(this,t);if(e)return e;let r=(0,Yt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Jt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:v1.default,code:(0,Jt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Zn.default.data,parentData:Zn.default.parentData,parentDataProperty:Zn.default.parentDataProperty,dataNames:[Zn.default.data],dataPathArr:[Jt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Jt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Jt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Jt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,S1.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Zn.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${Zn.default.self}`,`${Zn.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:h}=u;f.evaluated={props:p instanceof Jt.Name?void 0:p,items:h instanceof Jt.Name?void 0:h,dynamicProps:p instanceof Jt.Name,dynamicItems:h instanceof Jt.Name},f.source&&(f.source.evaluated=(0,Jt.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}Mt.compileSchema=xf;function b1(t,e,r){var n;r=(0,Yt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=$1.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 No({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=k1.call(this,s)}Mt.resolveRef=b1;function k1(t){return(0,Yt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:xf.call(this,t)}function XS(t){for(let e of this._compilations)if(w1(e,t))return e}Mt.getCompilingSchema=XS;function w1(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function $1(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||hc.call(this,t,e)}function hc(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Yt._getFullPath)(this.opts.uriResolver,r),o=(0,Yt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return yf.call(this,r,t);let s=(0,Yt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=hc.call(this,t,i);return typeof a?.schema!="object"?void 0:yf.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||xf.call(this,i),s===(0,Yt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Yt.resolveUrl)(this.opts.uriResolver,o,u)),new No({schema:a,schemaId:c,root:t,baseId:o})}return yf.call(this,r,i)}}Mt.resolveSchema=hc;var E1=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function yf(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,YS.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!E1.has(a)&&u&&(e=(0,Yt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,YS.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Yt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=hc.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new No({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var QS=R((o4,T1)=>{T1.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 Sf=R((s4,nb)=>{"use strict";var P1=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),tb=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 vf(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var R1=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function eb(t){return t.length=0,!0}function O1(t,e,r){if(t.length){let n=vf(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function C1(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=O1;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=eb}else{o.push(u);continue}}return o.length&&(a===eb?r.zone=o.join(""):i?n.push(o.join("")):n.push(vf(o))),r.address=n.join(""),r}function rb(t){if(I1(t,":")<2)return{host:t,isIPV6:!1};let e=C1(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 I1(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function A1(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function N1(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function z1(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!tb(r)){let n=rb(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}nb.exports={nonSimpleDomain:R1,recomposeAuthority:z1,normalizeComponentEncoding:N1,removeDotSegments:A1,isIPv4:tb,isUUID:P1,normalizeIPv6:rb,stringArrayToHexStripped:vf}});var cb=R((i4,ab)=>{"use strict";var{isUUID:j1}=Sf(),D1=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,M1=["http","https","ws","wss","urn","urn:uuid"];function L1(t){return M1.indexOf(t)!==-1}function bf(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 ob(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function sb(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 F1(t){return t.secure=bf(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function U1(t){if((t.port===(bf(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 Z1(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(D1);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=kf(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function H1(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=kf(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 q1(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!j1(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function B1(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var ib={scheme:"http",domainHost:!0,parse:ob,serialize:sb},V1={scheme:"https",domainHost:ib.domainHost,parse:ob,serialize:sb},_c={scheme:"ws",domainHost:!0,parse:F1,serialize:U1},W1={scheme:"wss",domainHost:_c.domainHost,parse:_c.parse,serialize:_c.serialize},G1={scheme:"urn",parse:Z1,serialize:H1,skipNormalize:!0},K1={scheme:"urn:uuid",parse:q1,serialize:B1,skipNormalize:!0},yc={http:ib,https:V1,ws:_c,wss:W1,urn:G1,"urn:uuid":K1};Object.setPrototypeOf(yc,null);function kf(t){return t&&(yc[t]||yc[t.toLowerCase()])||void 0}ab.exports={wsIsSecure:bf,SCHEMES:yc,isValidSchemeName:L1,getSchemeHandler:kf}});var db=R((a4,vc)=>{"use strict";var{normalizeIPv6:J1,removeDotSegments:oi,recomposeAuthority:Y1,normalizeComponentEncoding:xc,isIPv4:X1,nonSimpleDomain:Q1}=Sf(),{SCHEMES:eA,getSchemeHandler:ub}=cb();function tA(t,e){return typeof t=="string"?t=dr(Tr(t,e),e):typeof t=="object"&&(t=Tr(dr(t,e),e)),t}function rA(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=lb(Tr(t,n),Tr(e,n),n,!0);return n.skipEscape=!0,dr(o,n)}function lb(t,e,r,n){let o={};return n||(t=Tr(dr(t,r),r),e=Tr(dr(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=oi(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=oi(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=oi(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=oi(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 nA(t,e,r){return typeof t=="string"?(t=unescape(t),t=dr(xc(Tr(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=dr(xc(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=dr(xc(Tr(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=dr(xc(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function dr(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=ub(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=Y1(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=oi(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 oA=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\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(oA);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(X1(n.host)===!1){let c=J1(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=ub(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&Q1(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 wf={SCHEMES:eA,normalize:tA,resolve:rA,resolveComponent:lb,equal:nA,serialize:dr,parse:Tr};vc.exports=wf;vc.exports.default=wf;vc.exports.fastUri=wf});var mb=R($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0});var pb=db();pb.code='require("ajv/dist/runtime/uri").default';$f.default=pb});var Sb=R(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.CodeGen=Ge.Name=Ge.nil=Ge.stringify=Ge.str=Ge._=Ge.KeywordCxt=void 0;var sA=ri();Object.defineProperty(Ge,"KeywordCxt",{enumerable:!0,get:function(){return sA.KeywordCxt}});var zo=X();Object.defineProperty(Ge,"_",{enumerable:!0,get:function(){return zo._}});Object.defineProperty(Ge,"str",{enumerable:!0,get:function(){return zo.str}});Object.defineProperty(Ge,"stringify",{enumerable:!0,get:function(){return zo.stringify}});Object.defineProperty(Ge,"nil",{enumerable:!0,get:function(){return zo.nil}});Object.defineProperty(Ge,"Name",{enumerable:!0,get:function(){return zo.Name}});Object.defineProperty(Ge,"CodeGen",{enumerable:!0,get:function(){return zo.CodeGen}});var iA=fc(),yb=ni(),aA=Qm(),si=gc(),cA=X(),ii=Qs(),Sc=Xs(),Tf=ie(),fb=QS(),uA=mb(),xb=(t,e)=>new RegExp(t,e);xb.code="new RegExp";var lA=["removeAdditional","useDefaults","coerceTypes"],dA=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),pA={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."},mA={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},hb=200;function fA(t){var e,r,n,o,s,i,a,c,u,l,d,m,f,p,h,g,_,y,x,k,E,B,H,J,tt;let Ze=t.strict,F=(e=t.code)===null||e===void 0?void 0:e.optimize,_t=F===!0||F===void 0?1:F||0,ze=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:xb,be=(o=t.uriResolver)!==null&&o!==void 0?o:uA.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Ze)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Ze)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Ze)!==null&&l!==void 0?l:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:Ze)!==null&&m!==void 0?m:"log",strictRequired:(p=(f=t.strictRequired)!==null&&f!==void 0?f:Ze)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:_t,regExp:ze}:{optimize:_t,regExp:ze},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:hb,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:hb,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(y=t.messages)!==null&&y!==void 0?y:!0,inlineRefs:(x=t.inlineRefs)!==null&&x!==void 0?x:!0,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(E=t.addUsedSchema)!==null&&E!==void 0?E:!0,validateSchema:(B=t.validateSchema)!==null&&B!==void 0?B:!0,validateFormats:(H=t.validateFormats)!==null&&H!==void 0?H:!0,unicodeRegExp:(J=t.unicodeRegExp)!==null&&J!==void 0?J:!0,int32range:(tt=t.int32range)!==null&&tt!==void 0?tt:!0,uriResolver:be}}var ai=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...fA(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new cA.ValueScope({scope:{},prefixes:dA,es5:r,lines:n}),this.logger=vA(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,aA.getRules)(),gb.call(this,pA,e,"NOT SUPPORTED"),gb.call(this,mA,e,"DEPRECATED","warn"),this._metaOpts=yA.call(this),e.formats&&gA.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&_A.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),hA.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=fb;n==="id"&&(o={...fb},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 yb.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,ii.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=_b.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new si.SchemaEnv({schema:{},schemaId:n});if(r=si.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=_b.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,ii.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(bA.call(this,n,r),!r)return(0,Tf.eachItem)(n,s=>Ef.call(this,s)),this;wA.call(this,r);let o={...r,type:(0,Sc.getJSONTypes)(r.type),schemaType:(0,Sc.getJSONTypes)(r.schemaType)};return(0,Tf.eachItem)(n,o.type.length===0?s=>Ef.call(this,s,o):s=>o.type.forEach(i=>Ef.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]=vb(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,ii.normalizeId)(i||n);let u=ii.getSchemaRefs.call(this,e,n);return c=new si.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):si.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{si.compileSchema.call(this,e)}finally{this.opts=r}}};ai.ValidationError=iA.default;ai.MissingRefError=yb.default;Ge.default=ai;function gb(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 _b(t){return t=(0,ii.normalizeId)(t),this.schemas[t]||this.refs[t]}function hA(){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 gA(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function _A(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 yA(){let t={...this.opts};for(let e of lA)delete t[e];return t}var xA={log(){},warn(){},error(){}};function vA(t){if(t===!1)return xA;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 SA=/^[a-z_$][a-z0-9_$:-]*$/i;function bA(t,e){let{RULES:r}=this;if((0,Tf.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!SA.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 Ef(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,Sc.getJSONTypes)(e.type),schemaType:(0,Sc.getJSONTypes)(e.schemaType)}};e.before?kA.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 kA(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 wA(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=vb(e)),t.validateSchema=this.compile(e,!0))}var $A={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function vb(t){return{anyOf:[t,$A]}}});var bb=R(Pf=>{"use strict";Object.defineProperty(Pf,"__esModule",{value:!0});var EA={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Pf.default=EA});var Eb=R(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.callRef=Hn.getValidate=void 0;var TA=ni(),kb=Dt(),ht=X(),jo=$r(),wb=gc(),bc=ie(),PA={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=wb.resolveRef.call(c,u,o,r);if(l===void 0)throw new TA.default(n.opts.uriResolver,o,r);if(l instanceof wb.SchemaEnv)return m(l);return f(l);function d(){if(s===u)return kc(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return kc(t,(0,ht._)`${p}.validate`,u,u.$async)}function m(p){let h=$b(t,p);kc(t,h,p,p.$async)}function f(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,ht.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:ht.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,ht._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Hn.getValidate=$b;function kc(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?jo.default.this:ht.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,ht._)`await ${(0,kb.callValidateCode)(t,e,u)}`),f(e),i||o.assign(p,!0)},h=>{o.if((0,ht._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),m(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,kb.callValidateCode)(t,e,u),()=>f(e),()=>m(e))}function m(p){let h=(0,ht._)`${p}.errors`;o.assign(jo.default.vErrors,(0,ht._)`${jo.default.vErrors} === null ? ${h} : ${jo.default.vErrors}.concat(${h})`),o.assign(jo.default.errors,(0,ht._)`${jo.default.vErrors}.length`)}function f(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=bc.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,ht._)`${p}.evaluated.props`);s.props=bc.mergeEvaluated.props(o,_,s.props,ht.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=bc.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,ht._)`${p}.evaluated.items`);s.items=bc.mergeEvaluated.items(o,_,s.items,ht.Name)}}}Hn.callRef=kc;Hn.default=PA});var Tb=R(Rf=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});var RA=bb(),OA=Eb(),CA=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",RA.default,OA.default];Rf.default=CA});var Pb=R(Of=>{"use strict";Object.defineProperty(Of,"__esModule",{value:!0});var wc=X(),Qr=wc.operators,$c={maximum:{okStr:"<=",ok:Qr.LTE,fail:Qr.GT},minimum:{okStr:">=",ok:Qr.GTE,fail:Qr.LT},exclusiveMaximum:{okStr:"<",ok:Qr.LT,fail:Qr.GTE},exclusiveMinimum:{okStr:">",ok:Qr.GT,fail:Qr.LTE}},IA={message:({keyword:t,schemaCode:e})=>(0,wc.str)`must be ${$c[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,wc._)`{comparison: ${$c[t].okStr}, limit: ${e}}`},AA={keyword:Object.keys($c),type:"number",schemaType:"number",$data:!0,error:IA,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,wc._)`${r} ${$c[e].fail} ${n} || isNaN(${r})`)}};Of.default=AA});var Rb=R(Cf=>{"use strict";Object.defineProperty(Cf,"__esModule",{value:!0});var ci=X(),NA={message:({schemaCode:t})=>(0,ci.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,ci._)`{multipleOf: ${t}}`},zA={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,ci._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,ci._)`${i} !== parseInt(${i})`;t.fail$data((0,ci._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};Cf.default=zA});var Cb=R(If=>{"use strict";Object.defineProperty(If,"__esModule",{value:!0});function Ob(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}If.default=Ob;Ob.code='require("ajv/dist/runtime/ucs2length").default'});var Ib=R(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});var qn=X(),jA=ie(),DA=Cb(),MA={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,qn.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,qn._)`{limit: ${t}}`},LA={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:MA,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?qn.operators.GT:qn.operators.LT,i=o.opts.unicode===!1?(0,qn._)`${r}.length`:(0,qn._)`${(0,jA.useFunc)(t.gen,DA.default)}(${r})`;t.fail$data((0,qn._)`${i} ${s} ${n}`)}};Af.default=LA});var Ab=R(Nf=>{"use strict";Object.defineProperty(Nf,"__esModule",{value:!0});var FA=Dt(),UA=ie(),Do=X(),ZA={message:({schemaCode:t})=>(0,Do.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Do._)`{pattern: ${t}}`},HA={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:ZA,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,Do._)`new RegExp`:(0,UA.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Do._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Do._)`!${l}`)}else{let c=(0,FA.usePattern)(t,o);t.fail$data((0,Do._)`!${c}.test(${r})`)}}};Nf.default=HA});var Nb=R(zf=>{"use strict";Object.defineProperty(zf,"__esModule",{value:!0});var ui=X(),qA={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,ui.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,ui._)`{limit: ${t}}`},BA={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:qA,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?ui.operators.GT:ui.operators.LT;t.fail$data((0,ui._)`Object.keys(${r}).length ${o} ${n}`)}};zf.default=BA});var zb=R(jf=>{"use strict";Object.defineProperty(jf,"__esModule",{value:!0});var li=Dt(),di=X(),VA=ie(),WA={message:({params:{missingProperty:t}})=>(0,di.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,di._)`{missingProperty: ${t}}`},GA={keyword:"required",type:"object",schemaType:"array",$data:!0,error:WA,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let f=t.parentSchema.properties,{definedProperties:p}=t.it;for(let h of r)if(f?.[h]===void 0&&!p.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,VA.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(di.nil,d);else for(let f of r)(0,li.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>m(f,p)),t.ok(p)}else e.if((0,li.checkMissingProp)(t,r,f)),(0,li.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,li.noPropertyInData)(e,o,f,a.ownProperties),()=>t.error())})}function m(f,p){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(p,(0,li.propertyInData)(e,o,f,a.ownProperties)),e.if((0,di.not)(p),()=>{t.error(),e.break()})},di.nil)}}};jf.default=GA});var jb=R(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});var pi=X(),KA={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,pi.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,pi._)`{limit: ${t}}`},JA={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:KA,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?pi.operators.GT:pi.operators.LT;t.fail$data((0,pi._)`${r}.length ${o} ${n}`)}};Df.default=JA});var Ec=R(Mf=>{"use strict";Object.defineProperty(Mf,"__esModule",{value:!0});var Db=cf();Db.code='require("ajv/dist/runtime/equal").default';Mf.default=Db});var Mb=R(Ff=>{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});var Lf=Xs(),Ke=X(),YA=ie(),XA=Ec(),QA={message:({params:{i:t,j:e}})=>(0,Ke.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Ke._)`{i: ${t}, j: ${e}}`},eN={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:QA,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,Lf.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,Ke._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,Ke._)`${r}.length`),h=e.let("j");t.setParams({i:p,j:h}),e.assign(c,!0),e.if((0,Ke._)`${p} > 1`,()=>(d()?m:f)(p,h))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function m(p,h){let g=e.name("item"),_=(0,Lf.checkDataTypes)(u,g,a.opts.strictNumbers,Lf.DataType.Wrong),y=e.const("indices",(0,Ke._)`{}`);e.for((0,Ke._)`;${p}--;`,()=>{e.let(g,(0,Ke._)`${r}[${p}]`),e.if(_,(0,Ke._)`continue`),u.length>1&&e.if((0,Ke._)`typeof ${g} == "string"`,(0,Ke._)`${g} += "_"`),e.if((0,Ke._)`typeof ${y}[${g}] == "number"`,()=>{e.assign(h,(0,Ke._)`${y}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,Ke._)`${y}[${g}] = ${p}`)})}function f(p,h){let g=(0,YA.useFunc)(e,XA.default),_=e.name("outer");e.label(_).for((0,Ke._)`;${p}--;`,()=>e.for((0,Ke._)`${h} = ${p}; ${h}--;`,()=>e.if((0,Ke._)`${g}(${r}[${p}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};Ff.default=eN});var Lb=R(Zf=>{"use strict";Object.defineProperty(Zf,"__esModule",{value:!0});var Uf=X(),tN=ie(),rN=Ec(),nN={message:"must be equal to constant",params:({schemaCode:t})=>(0,Uf._)`{allowedValue: ${t}}`},oN={keyword:"const",$data:!0,error:nN,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,Uf._)`!${(0,tN.useFunc)(e,rN.default)}(${r}, ${o})`):t.fail((0,Uf._)`${s} !== ${r}`)}};Zf.default=oN});var Fb=R(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});var mi=X(),sN=ie(),iN=Ec(),aN={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,mi._)`{allowedValues: ${t}}`},cN={keyword:"enum",schemaType:"array",$data:!0,error:aN,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,sN.useFunc)(e,iN.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=e.const("vSchema",s);l=(0,mi.or)(...o.map((p,h)=>m(f,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,f=>e.if((0,mi._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function m(f,p){let h=o[p];return typeof h=="object"&&h!==null?(0,mi._)`${u()}(${r}, ${f}[${p}])`:(0,mi._)`${r} === ${h}`}}};Hf.default=cN});var Ub=R(qf=>{"use strict";Object.defineProperty(qf,"__esModule",{value:!0});var uN=Pb(),lN=Rb(),dN=Ib(),pN=Ab(),mN=Nb(),fN=zb(),hN=jb(),gN=Mb(),_N=Lb(),yN=Fb(),xN=[uN.default,lN.default,dN.default,pN.default,mN.default,fN.default,hN.default,gN.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},_N.default,yN.default];qf.default=xN});var Vf=R(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.validateAdditionalItems=void 0;var Bn=X(),Bf=ie(),vN={message:({params:{len:t}})=>(0,Bn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Bn._)`{limit: ${t}}`},SN={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:vN,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Bf.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,Bn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Bn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Bf.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Bn._)`${a} <= ${e.length}`);r.if((0,Bn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Bf.Type.Num},u),i.allErrors||r.if((0,Bn.not)(u),()=>r.break())})}}fi.validateAdditionalItems=Zb;fi.default=SN});var Wf=R(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.validateTuple=void 0;var Hb=X(),Tc=ie(),bN=Dt(),kN={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return qb(t,"additionalItems",e);r.items=!0,!(0,Tc.alwaysValidSchema)(r,e)&&t.ok((0,bN.validateArray)(t))}};function qb(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=Tc.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Hb._)`${s}.length`);r.forEach((d,m)=>{(0,Tc.alwaysValidSchema)(a,d)||(n.if((0,Hb._)`${u} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},c)),t.ok(c))});function l(d){let{opts:m,errSchemaPath:f}=a,p=r.length,h=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(m.strictTuples&&!h){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,Tc.checkStrictMode)(a,g,m.strictTuples)}}}hi.validateTuple=qb;hi.default=kN});var Bb=R(Gf=>{"use strict";Object.defineProperty(Gf,"__esModule",{value:!0});var wN=Wf(),$N={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,wN.validateTuple)(t,"items")};Gf.default=$N});var Wb=R(Kf=>{"use strict";Object.defineProperty(Kf,"__esModule",{value:!0});var Vb=X(),EN=ie(),TN=Dt(),PN=Vf(),RN={message:({params:{len:t}})=>(0,Vb.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Vb._)`{limit: ${t}}`},ON={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:RN,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,EN.alwaysValidSchema)(n,e)&&(o?(0,PN.validateAdditionalItems)(t,o):t.ok((0,TN.validateArray)(t)))}};Kf.default=ON});var Gb=R(Jf=>{"use strict";Object.defineProperty(Jf,"__esModule",{value:!0});var Lt=X(),Pc=ie(),CN={message:({params:{min:t,max:e}})=>e===void 0?(0,Lt.str)`must contain at least ${t} valid item(s)`:(0,Lt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Lt._)`{minContains: ${t}}`:(0,Lt._)`{minContains: ${t}, maxContains: ${e}}`},IN={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:CN,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,Lt._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Pc.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Pc.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Pc.alwaysValidSchema)(s,r)){let h=(0,Lt._)`${l} >= ${i}`;a!==void 0&&(h=(0,Lt._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?f(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,Lt._)`${o}.length > 0`,m)):(e.let(d,!1),m()),t.result(d,()=>t.reset());function m(){let h=e.name("_valid"),g=e.let("count",0);f(h,()=>e.if(h,()=>p(g)))}function f(h,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:Pc.Type.Num,compositeRule:!0},h),g()})}function p(h){e.code((0,Lt._)`${h}++`),a===void 0?e.if((0,Lt._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,Lt._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,Lt._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};Jf.default=IN});var Yb=R(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.validateSchemaDeps=pr.validatePropertyDeps=pr.error=void 0;var Yf=X(),AN=ie(),gi=Dt();pr.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Yf.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Yf._)`{property: ${t},
55
55
  missingProperty: ${n},
56
56
  depsCount: ${e},
57
- deps: ${r}}`};var xN={keyword:"dependencies",type:"object",schemaType:"object",error:dr.error,code(t){let[e,r]=vN(t);Hb(t,e),qb(t,r)}};function vN({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 Hb(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,pi.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,pi.checkReportMissingProp)(t,u)}):(r.if((0,Kf._)`${c} && (${(0,pi.checkMissingProp)(t,a,s)})`),(0,pi.reportMissingProp)(t,s),r.else())}}dr.validatePropertyDeps=Hb;function qb(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,yN.alwaysValidSchema)(s,e[a])||(r.if((0,pi.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))}dr.validateSchemaDeps=qb;dr.default=xN});var Wb=R(Jf=>{"use strict";Object.defineProperty(Jf,"__esModule",{value:!0});var Vb=K(),bN=se(),SN={message:"property name must be valid",params:({params:t})=>(0,Vb._)`{propertyName: ${t.propertyName}}`},kN={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:SN,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,bN.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,Vb.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Jf.default=kN});var Xf=R(Yf=>{"use strict";Object.defineProperty(Yf,"__esModule",{value:!0});var wc=jt(),Yt=K(),wN=wr(),$c=se(),$N={message:"must NOT have additional properties",params:({params:t})=>(0,Yt._)`{additionalProperty: ${t.additionalProperty}}`},EN={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:$N,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,Yt._)`${s} === ${wN.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,Yt.or)(...u.map(y=>(0,Yt._)`${g} === ${y}`)):_=Yt.nil;return l.length&&(_=(0,Yt.or)(_,...l.map(y=>(0,Yt._)`${(0,wc.usePattern)(t,y)}.test(${g})`))),(0,Yt.not)(_)}function h(g){e.code((0,Yt._)`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,Yt.not)(_),()=>{t.reset(),h(g)})):(f(g,_),a||e.if((0,Yt.not)(_),()=>e.break()))}}function f(g,_,y){let x={keyword:"additionalProperties",dataProp:g,dataPropType:$c.Type.Str};y===!1&&Object.assign(x,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(x,_)}}};Yf.default=EN});var Jb=R(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});var TN=Xs(),Gb=jt(),Qf=se(),Kb=Xf(),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&&Kb.default.code(new TN.KeywordCxt(s,Kb.default,"additionalProperties"));let i=(0,Gb.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Qf.mergeEvaluated.props(e,(0,Qf.toHash)(i),s.props));let a=i.filter(d=>!(0,Qf.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,Gb.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)}}};eh.default=PN});var eS=R(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});var Yb=jt(),Ec=K(),Xb=se(),Qb=se(),RN={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,Yb.allSchemaProperties)(r),c=a.filter(f=>(0,Xb.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,Qb.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,Xb.checkStrictMode)(s,`property ${g} matches pattern ${f} (use allowMatchingProperties)`)}function p(f){e.forIn("key",n,g=>{e.if((0,Ec._)`${(0,Yb.usePattern)(t,f)}.test(${g})`,()=>{let _=c.includes(f);_||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:g,dataPropType:Qb.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())})})}}};th.default=RN});var tS=R(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});var ON=se(),CN={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,ON.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"}};rh.default=CN});var rS=R(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});var IN=jt(),AN={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:IN.validateUnion,error:{message:"must match a schema in anyOf"}};nh.default=AN});var nS=R(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});var Tc=K(),NN=se(),zN={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Tc._)`{passingSchemas: ${t.passing}}`},jN={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:zN,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,NN.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)})})}}};oh.default=jN});var oS=R(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});var MN=se(),DN={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,MN.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};sh.default=DN});var aS=R(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});var Pc=K(),iS=se(),LN={message:({params:t})=>(0,Pc.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Pc._)`{failingKeyword: ${t.ifClause}}`},FN={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:LN,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,iS.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=sS(n,"then"),s=sS(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 sS(t,e){let r=t.schema[e];return r!==void 0&&!(0,iS.alwaysValidSchema)(t,r)}ih.default=FN});var cS=R(ah=>{"use strict";Object.defineProperty(ah,"__esModule",{value:!0});var UN=se(),ZN={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,UN.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};ah.default=ZN});var uS=R(ch=>{"use strict";Object.defineProperty(ch,"__esModule",{value:!0});var HN=qf(),qN=Lb(),BN=Bf(),VN=Ub(),WN=Zb(),GN=Bb(),KN=Wb(),JN=Xf(),YN=Jb(),XN=eS(),QN=tS(),ez=rS(),tz=nS(),rz=oS(),nz=aS(),oz=cS();function sz(t=!1){let e=[QN.default,ez.default,tz.default,rz.default,nz.default,oz.default,KN.default,JN.default,GN.default,YN.default,XN.default];return t?e.push(qN.default,VN.default):e.push(HN.default,BN.default),e.push(WN.default),e}ch.default=sz});var lS=R(uh=>{"use strict";Object.defineProperty(uh,"__esModule",{value:!0});var Ce=K(),iz={message:({schemaCode:t})=>(0,Ce.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ce._)`{format: ${t}}`},az={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:iz,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,Ce._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,Ce._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(g,(0,Ce._)`${f}.type || "string"`).assign(_,(0,Ce._)`${f}.validate`),()=>r.assign(g,(0,Ce._)`"string"`).assign(_,f)),t.fail$data((0,Ce.or)(y(),x()));function y(){return c.strictSchema===!1?Ce.nil:(0,Ce._)`${i} && !${_}`}function x(){let k=l.$async?(0,Ce._)`(${f}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Ce._)`${_}(${n})`,T=(0,Ce._)`(typeof ${_} == "function" ? ${k} : ${_}.test(${n}))`;return(0,Ce._)`${_} && ${_} !== true && ${g} === ${e} && !${T}`}}function h(){let p=d.formats[s];if(!p){y();return}if(p===!0)return;let[f,g,_]=x(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 x(T){let J=T instanceof RegExp?(0,Ce.regexpCode)(T):c.code.formats?(0,Ce._)`${c.code.formats}${(0,Ce.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,Ce._)`${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,Ce._)`await ${_}(${n})`}return typeof g=="function"?(0,Ce._)`${_}(${n})`:(0,Ce._)`${_}.test(${n})`}}}};uh.default=az});var dS=R(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});var cz=lS(),uz=[cz.default];lh.default=uz});var pS=R(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.contentVocabulary=jo.metadataVocabulary=void 0;jo.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];jo.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var fS=R(dh=>{"use strict";Object.defineProperty(dh,"__esModule",{value:!0});var lz=bb(),dz=zb(),pz=uS(),mz=dS(),mS=pS(),fz=[lz.default,dz.default,(0,pz.default)(),mz.default,mS.metadataVocabulary,mS.contentVocabulary];dh.default=fz});var gS=R(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.DiscrError=void 0;var hS;(function(t){t.Tag="tag",t.Mapping="mapping"})(hS||(Rc.DiscrError=hS={}))});var yS=R(mh=>{"use strict";Object.defineProperty(mh,"__esModule",{value:!0});var Mo=K(),ph=gS(),_S=dc(),hz=Qs(),gz=se(),_z={message:({params:{discrError:t,tagName:e}})=>t===ph.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Mo._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},yz={keyword:"discriminator",type:"object",schemaType:"object",error:_z,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,Mo._)`${r}${(0,Mo.getProperty)(a)}`);e.if((0,Mo._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:ph.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,Mo._)`${u} === ${p}`),e.assign(c,d(h[p]));e.else(),t.error(!1,{discrError:ph.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,Mo.Name),p}function m(){var h;let p={},f=_(o),g=!0;for(let k=0;k<i.length;k++){let T=i[k];if(T?.$ref&&!(0,gz.schemaHasRulesButRef)(T,s.self.RULES)){let B=T.$ref;if(T=_S.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,B),T instanceof _S.SchemaEnv&&(T=T.schema),T===void 0)throw new hz.default(s.opts.uriResolver,s.baseId,B)}let J=(h=T?.properties)===null||h===void 0?void 0:h[a];if(typeof J!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(f||_(T)),y(J,k)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:k}){return Array.isArray(k)&&k.includes(a)}function y(k,T){if(k.const)x(k.const,T);else if(k.enum)for(let J of k.enum)x(J,T);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function x(k,T){if(typeof k!="string"||k in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[k]=T}}}};mh.default=yz});var xS=R((I4,xz)=>{xz.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 hh=R((xe,fh)=>{"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 vz=hb(),bz=fS(),Sz=yS(),vS=xS(),kz=["/properties"],Oc="http://json-schema.org/draft-07/schema",Do=class extends vz.default{_addVocabularies(){super._addVocabularies(),bz.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Sz.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(vS,kz):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=Do;fh.exports=xe=Do;fh.exports.Ajv=Do;Object.defineProperty(xe,"__esModule",{value:!0});xe.default=Do;var wz=Xs();Object.defineProperty(xe,"KeywordCxt",{enumerable:!0,get:function(){return wz.KeywordCxt}});var Lo=K();Object.defineProperty(xe,"_",{enumerable:!0,get:function(){return Lo._}});Object.defineProperty(xe,"str",{enumerable:!0,get:function(){return Lo.str}});Object.defineProperty(xe,"stringify",{enumerable:!0,get:function(){return Lo.stringify}});Object.defineProperty(xe,"nil",{enumerable:!0,get:function(){return Lo.nil}});Object.defineProperty(xe,"Name",{enumerable:!0,get:function(){return Lo.Name}});Object.defineProperty(xe,"CodeGen",{enumerable:!0,get:function(){return Lo.CodeGen}});var $z=uc();Object.defineProperty(xe,"ValidationError",{enumerable:!0,get:function(){return $z.default}});var Ez=Qs();Object.defineProperty(xe,"MissingRefError",{enumerable:!0,get:function(){return Ez.default}})});var PS=R(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.formatNames=mr.fastFormats=mr.fullFormats=void 0;function pr(t,e){return{validate:t,compare:e}}mr.fullFormats={date:pr(wS,xh),time:pr(_h(!0),vh),"date-time":pr(bS(!0),ES),"iso-time":pr(_h(),$S),"iso-date-time":pr(bS(),TS),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:Iz,"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:Lz,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:Az,int32:{type:"number",validate:jz},int64:{type:"number",validate:Mz},float:{type:"number",validate:kS},double:{type:"number",validate:kS},password:!0,binary:!0};mr.fastFormats={...mr.fullFormats,date:pr(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,xh),time:pr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,vh),"date-time":pr(/^\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,ES),"iso-time":pr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,$S),"iso-date-time":pr(/^\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,TS),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};mr.formatNames=Object.keys(mr.fullFormats);function Tz(t){return t%4===0&&(t%100!==0||t%400===0)}var Pz=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Rz=[0,31,28,31,30,31,30,31,31,30,31,30,31];function wS(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&&Tz(r)?29:Rz[n])}function xh(t,e){if(t&&e)return t>e?1:t<e?-1:0}var gh=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function _h(t){return function(r){let n=gh.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,m=o-u*c-(d<0?1:0);return(m===23||m===-1)&&(d===59||d===-1)&&i<61}}function vh(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 $S(t,e){if(!(t&&e))return;let r=gh.exec(t),n=gh.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var yh=/t|\s/i;function bS(t){let e=_h(t);return function(n){let o=n.split(yh);return o.length===2&&wS(o[0])&&e(o[1])}}function ES(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function TS(t,e){if(!(t&&e))return;let[r,n]=t.split(yh),[o,s]=e.split(yh),i=xh(r,o);if(i!==void 0)return i||vh(n,s)}var Oz=/\/|:/,Cz=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function Iz(t){return Oz.test(t)&&Cz.test(t)}var SS=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function Az(t){return SS.lastIndex=0,SS.test(t)}var Nz=-(2**31),zz=2**31-1;function jz(t){return Number.isInteger(t)&&t<=zz&&t>=Nz}function Mz(t){return Number.isInteger(t)}function kS(){return!0}var Dz=/[^\\]\\Z/;function Lz(t){if(Dz.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var RS=R(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.formatLimitDefinition=void 0;var Fz=hh(),Xt=K(),Xr=Xt.operators,Cc={formatMaximum:{okStr:"<=",ok:Xr.LTE,fail:Xr.GT},formatMinimum:{okStr:">=",ok:Xr.GTE,fail:Xr.LT},formatExclusiveMaximum:{okStr:"<",ok:Xr.LT,fail:Xr.GTE},formatExclusiveMinimum:{okStr:">",ok:Xr.GT,fail:Xr.LTE}},Uz={message:({keyword:t,schemaCode:e})=>(0,Xt.str)`should be ${Cc[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Xt._)`{comparison: ${Cc[t].okStr}, limit: ${e}}`};Fo.formatLimitDefinition={keyword:Object.keys(Cc),type:"string",schemaType:"string",$data:!0,error:Uz,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 Fz.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,Xt._)`${m}[${c.schemaCode}]`);t.fail$data((0,Xt.or)((0,Xt._)`typeof ${h} != "object"`,(0,Xt._)`${h} instanceof RegExp`,(0,Xt._)`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,Xt._)`${i.code.formats}${(0,Xt.getProperty)(m)}`:void 0});t.fail$data(d(p))}function d(m){return(0,Xt._)`${m}.compare(${r}, ${n}) ${Cc[o].fail} 0`}},dependencies:["format"]};var Zz=t=>(t.addKeyword(Fo.formatLimitDefinition),t);Fo.default=Zz});var AS=R((mi,IS)=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});var Uo=PS(),Hz=RS(),bh=K(),OS=new bh.Name("fullFormats"),qz=new bh.Name("fastFormats"),Sh=(t,e={keywords:!0})=>{if(Array.isArray(e))return CS(t,e,Uo.fullFormats,OS),t;let[r,n]=e.mode==="fast"?[Uo.fastFormats,qz]:[Uo.fullFormats,OS],o=e.formats||Uo.formatNames;return CS(t,o,r,n),e.keywords&&(0,Hz.default)(t),t};Sh.get=(t,e="full")=>{let n=(e==="fast"?Uo.fastFormats:Uo.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function CS(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,bh._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}IS.exports=mi=Sh;Object.defineProperty(mi,"__esModule",{value:!0});mi.default=Sh});function Bz(){let t=new NS.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,zS.default)(t),t}var NS,zS,Ic,jS=v(()=>{NS=Xo(hh(),1),zS=Xo(AS(),1);Ic=class{constructor(e){this._ajv=e??Bz()}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,MS=v(()=>{Ac=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}}});function DS(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 LS(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 FS=v(()=>{});var Nc,US=v(()=>{Gv();wo();jS();Es();MS();FS();Nc=class extends Ja{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Ms.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Ic,this.setRequestHandler(zp,n=>this._oninitialize(n)),this.setNotificationHandler(jp,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Hp,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Ms.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=Wv(this._capabilities,e)}setRequestHandler(e,r){let o=Ur(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Ct(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=Fr(ko,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new N(M.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,m=await Promise.resolve(r(c,u));if(d.task){let p=Fr(yo,m);if(!p.success){let f=p.error instanceof Error?p.error.message:String(p.error);throw new N(M.InvalidParams,`Invalid task creation result: ${f}`)}return p.data}let h=Fr(Ma,m);if(!h.success){let p=h.error instanceof Error?h.error.message:String(h.error);throw new N(M.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){LS(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&DS(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:Wx.includes(r)?r:Op,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"},wa)}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},Bp,r):this.request({method:"sampling/createMessage",params:e},qp,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},Da,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},Da,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new N(M.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof N?i:new N(M.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},Vp,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 kh(t){return!!t&&typeof t=="object"&&HS in t}function qS(t){return t[HS]?.complete}var HS,ZS,BS=v(()=>{HS=Symbol.for("mcp.completable");(function(t){t.Completable="McpCompletable"})(ZS||(ZS={}))});var VS=v(()=>{});function Wz(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"),!Vz.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 Gz(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 wh(t){let e=Wz(t);return Gz(t,e.warnings),e.isValid}var Vz,WS=v(()=>{Vz=/^[A-Za-z0-9._-]{1,128}$/});var zc,GS=v(()=>{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=v(()=>{Gi();Gi()});function YS(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function Jz(t){return"_def"in t||"_zod"in t||YS(t)}function Eh(t){return typeof t!="object"||t===null||Jz(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(YS)}function KS(t){if(t)return Eh(t)?An(t):t}function Yz(t){let e=Ur(t);return e?Object.entries(e).map(([r,n])=>{let o=xx(n),s=vx(n);return{name:r,description:o,required:!s}}):[]}function Qr(t){let r=Ur(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=ya(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function JS(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var jc,Kz,fi,XS=v(()=>{US();Es();Rm();wo();BS();VS();WS();GS();$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(Qr(ja)),this.server.assertCanSetRequestHandler(Qr(ko)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ja,()=>({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=go(r.inputSchema);return o?Em(o,{strictUnions:!0,pipeStrategy:"input"}):Kz})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=go(r.outputSchema);o&&(n.outputSchema=Em(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(ko,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new N(M.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new N(M.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 N(M.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new N(M.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 N&&n.code===M.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=go(e.inputSchema)??e.inputSchema,i=await ga(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=_a(a);throw new N(M.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 N(M.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=go(e.outputSchema),s=await ga(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=_a(i);throw new N(M.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 N(M.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(Qr(La)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(La,async e=>{switch(e.params.ref.type){case"ref/prompt":return uv(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return lv(e),this.handleResourceCompletion(e,e.params.ref);default:throw new N(M.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new N(M.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new N(M.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return fi;let s=Ur(n.argsSchema)?.[e.params.argument.name];if(!kh(s))return fi;let i=qS(s);if(!i)return fi;let a=await i(e.params.argument.value,e.params.context);return JS(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 fi;throw new N(M.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return fi;let s=await o(e.params.argument.value,e.params.context);return JS(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(Qr(vo)),this.server.assertCanSetRequestHandler(Qr(bo)),this.server.assertCanSetRequestHandler(Qr(Na)),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(bo,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Na,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new N(M.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 N(M.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(Qr(So)),this.server.assertCanSetRequestHandler(Qr(za)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(So,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?Yz(r.argsSchema):void 0}))})),this.server.setRequestHandler(za,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new N(M.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new N(M.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=go(n.argsSchema),s=await ga(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=_a(c);throw new N(M.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:An(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=An(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 at?c._def?.innerType:c;return kh(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){wh(e);let l={title:r,description:n,inputSchema:KS(o),outputSchema:KS(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"&&wh(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=An(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=An(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];Eh(c)?(o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!Eh(r[0])&&(i=r.shift())):typeof c=="object"&&c!==null&&(i=r.shift())}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}},Kz={type:"object",properties:{}};fi={completion:{values:[],hasMore:!1}}});function Xz(t){return tv.parse(JSON.parse(t))}function QS(t){return JSON.stringify(t)+`
58
- `}var Mc,ek=v(()=>{wo();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(`
59
- `);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),Xz(r)}clear(){this._buffer=void 0}}});import tk from"node:process";var Dc,rk=v(()=>{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={};Me(ck,{PolyglotExecutor:()=>Zo});import{spawn as Qz,execSync as ej,execFileSync as ik}from"node:child_process";import{mkdtempSync as tj,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 rj}from"node:os";function Th(t){if(Lt&&t.pid)try{ej(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var Lt,nj,Zo,Ph=v(()=>{"use strict";Ii();Lt=process.platform==="win32",nj=(()=>{if(Lt)return process.env.TEMP??process.env.TMP??rj();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??Kn()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(Lt?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=tj(Lc(nj,".ctx-mode-"));try{let a=this.#i(i,n,r),c=wg(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
57
+ deps: ${r}}`};var NN={keyword:"dependencies",type:"object",schemaType:"object",error:pr.error,code(t){let[e,r]=zN(t);Kb(t,e),Jb(t,r)}};function zN({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 Kb(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,gi.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,gi.checkReportMissingProp)(t,u)}):(r.if((0,Yf._)`${c} && (${(0,gi.checkMissingProp)(t,a,s)})`),(0,gi.reportMissingProp)(t,s),r.else())}}pr.validatePropertyDeps=Kb;function Jb(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,AN.alwaysValidSchema)(s,e[a])||(r.if((0,gi.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))}pr.validateSchemaDeps=Jb;pr.default=NN});var Qb=R(Xf=>{"use strict";Object.defineProperty(Xf,"__esModule",{value:!0});var Xb=X(),jN=ie(),DN={message:"property name must be valid",params:({params:t})=>(0,Xb._)`{propertyName: ${t.propertyName}}`},MN={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:DN,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,jN.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,Xb.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Xf.default=MN});var eh=R(Qf=>{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});var Rc=Dt(),Xt=X(),LN=$r(),Oc=ie(),FN={message:"must NOT have additional properties",params:({params:t})=>(0,Xt._)`{additionalProperty: ${t.additionalProperty}}`},UN={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:FN,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,Oc.alwaysValidSchema)(i,r))return;let u=(0,Rc.allSchemaProperties)(n.properties),l=(0,Rc.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Xt._)`${s} === ${LN.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,Oc.schemaRefOrVal)(i,n.properties,"properties");_=(0,Rc.isOwnProperty)(e,y,g)}else u.length?_=(0,Xt.or)(...u.map(y=>(0,Xt._)`${g} === ${y}`)):_=Xt.nil;return l.length&&(_=(0,Xt.or)(_,...l.map(y=>(0,Xt._)`${(0,Rc.usePattern)(t,y)}.test(${g})`))),(0,Xt.not)(_)}function f(g){e.code((0,Xt._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Oc.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(h(g,_,!1),e.if((0,Xt.not)(_),()=>{t.reset(),f(g)})):(h(g,_),a||e.if((0,Xt.not)(_),()=>e.break()))}}function h(g,_,y){let x={keyword:"additionalProperties",dataProp:g,dataPropType:Oc.Type.Str};y===!1&&Object.assign(x,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(x,_)}}};Qf.default=UN});var r0=R(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});var ZN=ri(),e0=Dt(),th=ie(),t0=eh(),HN={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&&t0.default.code(new ZN.KeywordCxt(s,t0.default,"additionalProperties"));let i=(0,e0.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=th.mergeEvaluated.props(e,(0,th.toHash)(i),s.props));let a=i.filter(d=>!(0,th.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,e0.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)}}};rh.default=HN});var i0=R(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});var n0=Dt(),Cc=X(),o0=ie(),s0=ie(),qN={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,n0.allSchemaProperties)(r),c=a.filter(h=>(0,o0.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 Cc.Name)&&(s.props=(0,s0.evaluatedPropsToName)(e,s.props));let{props:d}=s;m();function m(){for(let h of a)u&&f(h),s.allErrors?p(h):(e.var(l,!0),p(h),e.if(l))}function f(h){for(let g in u)new RegExp(h).test(g)&&(0,o0.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,Cc._)`${(0,n0.usePattern)(t,h)}.test(${g})`,()=>{let _=c.includes(h);_||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:s0.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Cc._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,Cc.not)(l),()=>e.break())})})}}};nh.default=qN});var a0=R(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});var BN=ie(),VN={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,BN.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"}};oh.default=VN});var c0=R(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});var WN=Dt(),GN={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:WN.validateUnion,error:{message:"must match a schema in anyOf"}};sh.default=GN});var u0=R(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});var Ic=X(),KN=ie(),JN={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Ic._)`{passingSchemas: ${t.passing}}`},YN={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:JN,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,KN.alwaysValidSchema)(o,l)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Ic._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Ic._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),m&&t.mergeEvaluated(m,Ic.Name)})})}}};ih.default=YN});var l0=R(ah=>{"use strict";Object.defineProperty(ah,"__esModule",{value:!0});var XN=ie(),QN={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,XN.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};ah.default=QN});var m0=R(ch=>{"use strict";Object.defineProperty(ch,"__esModule",{value:!0});var Ac=X(),p0=ie(),ez={message:({params:t})=>(0,Ac.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Ac._)`{failingKeyword: ${t.ifClause}}`},tz={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ez,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,p0.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=d0(n,"then"),s=d0(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,Ac.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,Ac._)`${l}`):t.setParams({ifClause:l})}}}};function d0(t,e){let r=t.schema[e];return r!==void 0&&!(0,p0.alwaysValidSchema)(t,r)}ch.default=tz});var f0=R(uh=>{"use strict";Object.defineProperty(uh,"__esModule",{value:!0});var rz=ie(),nz={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,rz.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};uh.default=nz});var h0=R(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});var oz=Vf(),sz=Bb(),iz=Wf(),az=Wb(),cz=Gb(),uz=Yb(),lz=Qb(),dz=eh(),pz=r0(),mz=i0(),fz=a0(),hz=c0(),gz=u0(),_z=l0(),yz=m0(),xz=f0();function vz(t=!1){let e=[fz.default,hz.default,gz.default,_z.default,yz.default,xz.default,lz.default,dz.default,uz.default,pz.default,mz.default];return t?e.push(sz.default,az.default):e.push(oz.default,iz.default),e.push(cz.default),e}lh.default=vz});var g0=R(dh=>{"use strict";Object.defineProperty(dh,"__esModule",{value:!0});var Ae=X(),Sz={message:({schemaCode:t})=>(0,Ae.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ae._)`{format: ${t}}`},bz={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Sz,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():f();function m(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,Ae._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,Ae._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,Ae._)`${h}.type || "string"`).assign(_,(0,Ae._)`${h}.validate`),()=>r.assign(g,(0,Ae._)`"string"`).assign(_,h)),t.fail$data((0,Ae.or)(y(),x()));function y(){return c.strictSchema===!1?Ae.nil:(0,Ae._)`${i} && !${_}`}function x(){let k=l.$async?(0,Ae._)`(${h}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Ae._)`${_}(${n})`,E=(0,Ae._)`(typeof ${_} == "function" ? ${k} : ${_}.test(${n}))`;return(0,Ae._)`${_} && ${_} !== true && ${g} === ${e} && !${E}`}}function f(){let p=d.formats[s];if(!p){y();return}if(p===!0)return;let[h,g,_]=x(p);h===e&&t.pass(k());function y(){if(c.strictSchema===!1){d.logger.warn(E());return}throw new Error(E());function E(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function x(E){let B=E instanceof RegExp?(0,Ae.regexpCode)(E):c.code.formats?(0,Ae._)`${c.code.formats}${(0,Ae.getProperty)(s)}`:void 0,H=r.scopeValue("formats",{key:s,ref:E,code:B});return typeof E=="object"&&!(E instanceof RegExp)?[E.type||"string",E.validate,(0,Ae._)`${H}.validate`]:["string",E,H]}function k(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ae._)`await ${_}(${n})`}return typeof g=="function"?(0,Ae._)`${_}(${n})`:(0,Ae._)`${_}.test(${n})`}}}};dh.default=bz});var _0=R(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});var kz=g0(),wz=[kz.default];ph.default=wz});var y0=R(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.contentVocabulary=Mo.metadataVocabulary=void 0;Mo.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Mo.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var v0=R(mh=>{"use strict";Object.defineProperty(mh,"__esModule",{value:!0});var $z=Tb(),Ez=Ub(),Tz=h0(),Pz=_0(),x0=y0(),Rz=[$z.default,Ez.default,(0,Tz.default)(),Pz.default,x0.metadataVocabulary,x0.contentVocabulary];mh.default=Rz});var b0=R(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.DiscrError=void 0;var S0;(function(t){t.Tag="tag",t.Mapping="mapping"})(S0||(Nc.DiscrError=S0={}))});var w0=R(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});var Lo=X(),fh=b0(),k0=gc(),Oz=ni(),Cz=ie(),Iz={message:({params:{discrError:t,tagName:e}})=>t===fh.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Lo._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},Az={keyword:"discriminator",type:"object",schemaType:"object",error:Iz,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,Lo._)`${r}${(0,Lo.getProperty)(a)}`);e.if((0,Lo._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:fh.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let f=m();e.if(!1);for(let p in f)e.elseIf((0,Lo._)`${u} === ${p}`),e.assign(c,d(f[p]));e.else(),t.error(!1,{discrError:fh.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(f){let p=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:f},p);return t.mergeEvaluated(h,Lo.Name),p}function m(){var f;let p={},h=_(o),g=!0;for(let k=0;k<i.length;k++){let E=i[k];if(E?.$ref&&!(0,Cz.schemaHasRulesButRef)(E,s.self.RULES)){let H=E.$ref;if(E=k0.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,H),E instanceof k0.SchemaEnv&&(E=E.schema),E===void 0)throw new Oz.default(s.opts.uriResolver,s.baseId,H)}let B=(f=E?.properties)===null||f===void 0?void 0:f[a];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(h||_(E)),y(B,k)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:k}){return Array.isArray(k)&&k.includes(a)}function y(k,E){if(k.const)x(k.const,E);else if(k.enum)for(let B of k.enum)x(B,E);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function x(k,E){if(typeof k!="string"||k in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[k]=E}}}};hh.default=Az});var $0=R((K4,Nz)=>{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 _h=R((Se,gh)=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.MissingRefError=Se.ValidationError=Se.CodeGen=Se.Name=Se.nil=Se.stringify=Se.str=Se._=Se.KeywordCxt=Se.Ajv=void 0;var zz=Sb(),jz=v0(),Dz=w0(),E0=$0(),Mz=["/properties"],zc="http://json-schema.org/draft-07/schema",Fo=class extends zz.default{_addVocabularies(){super._addVocabularies(),jz.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Dz.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(E0,Mz):E0;this.addMetaSchema(e,zc,!1),this.refs["http://json-schema.org/schema"]=zc}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(zc)?zc:void 0)}};Se.Ajv=Fo;gh.exports=Se=Fo;gh.exports.Ajv=Fo;Object.defineProperty(Se,"__esModule",{value:!0});Se.default=Fo;var Lz=ri();Object.defineProperty(Se,"KeywordCxt",{enumerable:!0,get:function(){return Lz.KeywordCxt}});var Uo=X();Object.defineProperty(Se,"_",{enumerable:!0,get:function(){return Uo._}});Object.defineProperty(Se,"str",{enumerable:!0,get:function(){return Uo.str}});Object.defineProperty(Se,"stringify",{enumerable:!0,get:function(){return Uo.stringify}});Object.defineProperty(Se,"nil",{enumerable:!0,get:function(){return Uo.nil}});Object.defineProperty(Se,"Name",{enumerable:!0,get:function(){return Uo.Name}});Object.defineProperty(Se,"CodeGen",{enumerable:!0,get:function(){return Uo.CodeGen}});var Fz=fc();Object.defineProperty(Se,"ValidationError",{enumerable:!0,get:function(){return Fz.default}});var Uz=ni();Object.defineProperty(Se,"MissingRefError",{enumerable:!0,get:function(){return Uz.default}})});var N0=R(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.formatNames=fr.fastFormats=fr.fullFormats=void 0;function mr(t,e){return{validate:t,compare:e}}fr.fullFormats={date:mr(O0,Sh),time:mr(xh(!0),bh),"date-time":mr(T0(!0),I0),"iso-time":mr(xh(),C0),"iso-date-time":mr(T0(),A0),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:Wz,"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:ej,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:Gz,int32:{type:"number",validate:Yz},int64:{type:"number",validate:Xz},float:{type:"number",validate:R0},double:{type:"number",validate:R0},password:!0,binary:!0};fr.fastFormats={...fr.fullFormats,date:mr(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Sh),time:mr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,bh),"date-time":mr(/^\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,I0),"iso-time":mr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,C0),"iso-date-time":mr(/^\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,A0),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};fr.formatNames=Object.keys(fr.fullFormats);function Zz(t){return t%4===0&&(t%100!==0||t%400===0)}var Hz=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,qz=[0,31,28,31,30,31,30,31,31,30,31,30,31];function O0(t){let e=Hz.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&&Zz(r)?29:qz[n])}function Sh(t,e){if(t&&e)return t>e?1:t<e?-1:0}var yh=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function xh(t){return function(r){let n=yh.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,m=o-u*c-(d<0?1:0);return(m===23||m===-1)&&(d===59||d===-1)&&i<61}}function bh(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 C0(t,e){if(!(t&&e))return;let r=yh.exec(t),n=yh.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var vh=/t|\s/i;function T0(t){let e=xh(t);return function(n){let o=n.split(vh);return o.length===2&&O0(o[0])&&e(o[1])}}function I0(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function A0(t,e){if(!(t&&e))return;let[r,n]=t.split(vh),[o,s]=e.split(vh),i=Sh(r,o);if(i!==void 0)return i||bh(n,s)}var Bz=/\/|:/,Vz=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function Wz(t){return Bz.test(t)&&Vz.test(t)}var P0=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function Gz(t){return P0.lastIndex=0,P0.test(t)}var Kz=-(2**31),Jz=2**31-1;function Yz(t){return Number.isInteger(t)&&t<=Jz&&t>=Kz}function Xz(t){return Number.isInteger(t)}function R0(){return!0}var Qz=/[^\\]\\Z/;function ej(t){if(Qz.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var z0=R(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.formatLimitDefinition=void 0;var tj=_h(),Qt=X(),en=Qt.operators,jc={formatMaximum:{okStr:"<=",ok:en.LTE,fail:en.GT},formatMinimum:{okStr:">=",ok:en.GTE,fail:en.LT},formatExclusiveMaximum:{okStr:"<",ok:en.LT,fail:en.GTE},formatExclusiveMinimum:{okStr:">",ok:en.GT,fail:en.LTE}},rj={message:({keyword:t,schemaCode:e})=>(0,Qt.str)`should be ${jc[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Qt._)`{comparison: ${jc[t].okStr}, limit: ${e}}`};Zo.formatLimitDefinition={keyword:Object.keys(jc),type:"string",schemaType:"string",$data:!0,error:rj,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 tj.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}),f=e.const("fmt",(0,Qt._)`${m}[${c.schemaCode}]`);t.fail$data((0,Qt.or)((0,Qt._)`typeof ${f} != "object"`,(0,Qt._)`${f} instanceof RegExp`,(0,Qt._)`typeof ${f}.compare != "function"`,d(f)))}function l(){let m=c.schema,f=a.formats[m];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${m}" does not define "compare" function`);let p=e.scopeValue("formats",{key:m,ref:f,code:i.code.formats?(0,Qt._)`${i.code.formats}${(0,Qt.getProperty)(m)}`:void 0});t.fail$data(d(p))}function d(m){return(0,Qt._)`${m}.compare(${r}, ${n}) ${jc[o].fail} 0`}},dependencies:["format"]};var nj=t=>(t.addKeyword(Zo.formatLimitDefinition),t);Zo.default=nj});var L0=R((_i,M0)=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});var Ho=N0(),oj=z0(),kh=X(),j0=new kh.Name("fullFormats"),sj=new kh.Name("fastFormats"),wh=(t,e={keywords:!0})=>{if(Array.isArray(e))return D0(t,e,Ho.fullFormats,j0),t;let[r,n]=e.mode==="fast"?[Ho.fastFormats,sj]:[Ho.fullFormats,j0],o=e.formats||Ho.formatNames;return D0(t,o,r,n),e.keywords&&(0,oj.default)(t),t};wh.get=(t,e="full")=>{let n=(e==="fast"?Ho.fastFormats:Ho.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function D0(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,kh._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}M0.exports=_i=wh;Object.defineProperty(_i,"__esModule",{value:!0});_i.default=wh});function ij(){let t=new F0.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,U0.default)(t),t}var F0,U0,Dc,Z0=v(()=>{F0=ts(_h(),1),U0=ts(L0(),1);Dc=class{constructor(e){this._ajv=e??ij()}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 Mc,H0=v(()=>{zn();Mc=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},Us,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},Eo,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 q0(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 B0(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 V0=v(()=>{});var Lc,W0=v(()=>{eS();zn();Z0();Rs();H0();V0();Lc=class extends tc{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Fs.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Dc,this.setRequestHandler(Mp,n=>this._oninitialize(n)),this.setNotificationHandler(Lp,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Vp,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Fs.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Mc(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Qv(this._capabilities,e)}setRequestHandler(e,r){let o=Hr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(It(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=Zr($o,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new N(D.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,m=await Promise.resolve(r(c,u));if(d.task){let p=Zr(vo,m);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new N(D.InvalidParams,`Invalid task creation result: ${h}`)}return p.data}let f=Zr(Ha,m);if(!f.success){let p=f.error instanceof Error?f.error.message:String(f.error);throw new N(D.InvalidParams,`Invalid tools/call result: ${p}`)}return f.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){B0(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&q0(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:Qx.includes(r)?r:Ap,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"},Oa)}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},Wp,r):this.request({method:"sampling/createMessage",params:e},Us,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},Eo,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},Eo,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new N(D.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof N?i:new N(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},Gp,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 $h(t){return!!t&&typeof t=="object"&&K0 in t}function J0(t){return t[K0]?.complete}var K0,G0,Y0=v(()=>{K0=Symbol.for("mcp.completable");(function(t){t.Completable="McpCompletable"})(G0||(G0={}))});var X0=v(()=>{});function cj(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"),!aj.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 uj(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 Eh(t){let e=cj(t);return uj(t,e.warnings),e.isValid}var aj,Q0=v(()=>{aj=/^[A-Za-z0-9._-]{1,128}$/});var Fc,ek=v(()=>{Fc=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 Th=v(()=>{ea();ea()});function nk(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function ok(t){return"_def"in t||"_zod"in t||nk(t)}function Ph(t){return typeof t!="object"||t===null||ok(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(nk)}function tk(t){if(t){if(Ph(t))return Nn(t);if(!ok(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function dj(t){let e=Hr(t);return e?Object.entries(e).map(([r,n])=>{let o=wx(n),s=$x(n);return{name:r,description:o,required:!s}}):[]}function tn(t){let r=Hr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=wa(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function rk(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var Uc,lj,yi,sk=v(()=>{W0();Rs();Cm();zn();Y0();X0();Q0();ek();Th();Uc=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 Lc(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Fc(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(tn(Za)),this.server.assertCanSetRequestHandler(tn($o)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Za,()=>({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=yo(r.inputSchema);return o?Pm(o,{strictUnions:!0,pipeStrategy:"input"}):lj})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=yo(r.outputSchema);o&&(n.outputSchema=Pm(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler($o,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new N(D.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new N(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 N(D.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new N(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 N&&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=yo(e.inputSchema)??e.inputSchema,i=await ba(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ka(a);throw new N(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 N(D.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=yo(e.outputSchema),s=await ba(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ka(i);throw new N(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 N(D.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(tn(qa)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(qa,async e=>{switch(e.params.ref.type){case"ref/prompt":return hv(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return gv(e),this.handleResourceCompletion(e,e.params.ref);default:throw new N(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 N(D.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new N(D.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return yi;let s=Hr(n.argsSchema)?.[e.params.argument.name];if(!$h(s))return yi;let i=J0(s);if(!i)return yi;let a=await i(e.params.argument.value,e.params.context);return rk(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 yi;throw new N(D.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return yi;let s=await o(e.params.argument.value,e.params.context);return rk(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(tn(bo)),this.server.assertCanSetRequestHandler(tn(ko)),this.server.assertCanSetRequestHandler(tn(Fa)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(bo,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(ko,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Fa,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new N(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 N(D.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(tn(wo)),this.server.assertCanSetRequestHandler(tn(Ua)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(wo,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?dj(r.argsSchema):void 0}))})),this.server.setRequestHandler(Ua,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new N(D.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new N(D.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=yo(n.argsSchema),s=await ba(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ka(c);throw new N(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:Nn(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=Nn(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 ut?c._def?.innerType:c;return $h(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){Eh(e);let l={title:r,description:n,inputSchema:tk(o),outputSchema:tk(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"&&Eh(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=Nn(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Nn(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(Ph(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!Ph(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()}},lj={type:"object",properties:{}};yi={completion:{values:[],hasMore:!1}}});function pj(t){return av.parse(JSON.parse(t))}function ik(t){return JSON.stringify(t)+`
58
+ `}var Zc,ak=v(()=>{zn();Zc=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
59
+ `);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),pj(r)}clear(){this._buffer=void 0}}});import ck from"node:process";var Hc,uk=v(()=>{ak();Hc=class{constructor(e=ck.stdin,r=ck.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new Zc,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=ik(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}}});var hk={};Me(hk,{PolyglotExecutor:()=>qo});import{spawn as mj,execSync as fj,execFileSync as mk}from"node:child_process";import{mkdtempSync as hj,writeFileSync as lk,rmSync as dk,existsSync as pk}from"node:fs";import{join as qc,resolve as fk}from"node:path";import{tmpdir as gj}from"node:os";function Rh(t){if(Ft&&t.pid)try{fj(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else if(t.pid)try{process.kill(-t.pid,"SIGKILL")}catch{}}var Ft,_j,qo,Oh=v(()=>{"use strict";Mi();Ft=process.platform==="win32",_j=(()=>{if(Ft)return process.env.TEMP??process.env.TMP??gj();try{let t=mk(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:fk(t,"..");if(e&&e!==process.cwd())return e}catch{}return"/tmp"})();qo=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??Yn()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(Ft?e:-e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=hj(qc(_j,".ctx-mode-"));try{let a=this.#i(i,n,r),c=Rg(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{dk(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{dk(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=fk(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
60
60
 
61
61
  import "fmt"
62
62
 
@@ -64,12 +64,12 @@ func main() {
64
64
  ${r}
65
65
  }
66
66
  `),n==="php"&&!r.trimStart().startsWith("<?")&&(r=`<?php
67
- ${r}`),n==="elixir"&&sk(Lc(this.#t,"mix.exs"))&&(r=`Path.wildcard(Path.join(${JSON.stringify(Lc(this.#t,"_build/dev/lib"))}, "*/ebin"))
67
+ ${r}`),n==="elixir"&&pk(qc(this.#t,"mix.exs"))&&(r=`Path.wildcard(Path.join(${JSON.stringify(qc(this.#t,"_build/dev/lib"))}, "*/ebin"))
68
68
  |> Enum.each(&Code.prepend_path/1)
69
69
 
70
- ${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=Lt?".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:
71
- ${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=Lt&&["tsx","ts-node","elixir"].includes(e[0]),c=e[0],u;Lt&&e.length===2&&e[1]?u=[e[1].replace(/\\/g,"/")]:u=Lt?e.slice(1).map(y=>y.replace(/\\/g,"/")):e.slice(1);let l=Qz(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(n),shell:a,detached:!Lt}),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"),x=Buffer.concat(f).toString("utf-8");i({stdout:y,stderr:x,exitCode:0,timedOut:!0,backgrounded:!0})}else Th(l)},o),p=[],f=[],g=0,_=!1;l.stdout.on("data",y=>{g+=y.length,g<=this.#e?p.push(y):_||(_=!0,Th(l))}),l.stderr.on("data",y=>{g+=y.length,g<=this.#e?f.push(y):_||(_=!0,Th(l))}),l.on("close",y=>{if(clearTimeout(h),m)return;let x=Buffer.concat(p).toString("utf-8"),k=Buffer.concat(f).toString("utf-8");_&&(k+=`
72
- [output capped at ${(this.#e/1024/1024).toFixed(0)}MB \u2014 process killed]`),i({stdout:x,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",Lt&&!o.PATH&&o.Path&&(o.PATH=o.Path,delete o.Path),o.PATH||(o.PATH=Lt?"":"/usr/local/bin:/usr/bin:/bin"),Lt){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=Lt?[]:["/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};
70
+ ${r}`);let s=qc(e,`script.${o[n]}`);return n==="shell"?lk(s,r,{encoding:"utf-8",mode:448}):lk(s,r,"utf-8"),s}async#a(e,r,n){let o=Ft?".exe":"",s=e.replace(/\.rs$/,"")+o;try{mk("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:
71
+ ${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=Ft&&["tsx","ts-node","elixir"].includes(e[0]),c=e[0],u;Ft&&e.length===2&&e[1]?u=[e[1].replace(/\\/g,"/")]:u=Ft?e.slice(1).map(y=>y.replace(/\\/g,"/")):e.slice(1);let l=mj(c,u,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(n),shell:a,detached:!Ft}),d=!1,m=!1,f=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"),x=Buffer.concat(h).toString("utf-8");i({stdout:y,stderr:x,exitCode:0,timedOut:!0,backgrounded:!0})}else Rh(l)},o),p=[],h=[],g=0,_=!1;l.stdout.on("data",y=>{g+=y.length,g<=this.#e?p.push(y):_||(_=!0,Rh(l))}),l.stderr.on("data",y=>{g+=y.length,g<=this.#e?h.push(y):_||(_=!0,Rh(l))}),l.on("close",y=>{if(clearTimeout(f),m)return;let x=Buffer.concat(p).toString("utf-8"),k=Buffer.concat(h).toString("utf-8");_&&(k+=`
72
+ [output capped at ${(this.#e/1024/1024).toFixed(0)}MB \u2014 process killed]`),i({stdout:x,stderr:k,exitCode:d?1:y??1,timedOut:d})}),l.on("error",y=>{clearTimeout(f),!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",Ft&&!o.PATH&&o.Path&&(o.PATH=o.Path,delete o.Path),o.PATH||(o.PATH=Ft?"":"/usr/local/bin:/usr/bin:/bin"),Ft){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=Ft?[]:["/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(pk(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};
73
73
  const file_path = FILE_CONTENT_PATH;
74
74
  const FILE_CONTENT = require("fs").readFileSync(FILE_CONTENT_PATH, "utf-8");
75
75
  ${n}`;case"python":return`FILE_CONTENT_PATH = ${o}
@@ -124,7 +124,7 @@ FILE_CONTENT <- paste(FILE_CONTENT, collapse="\\n")
124
124
  ${n}`;case"elixir":return`file_content_path = ${o}
125
125
  file_path = file_content_path
126
126
  file_content = File.read!(file_content_path)
127
- ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQLiteBase:()=>Zc,applyWALPragmas:()=>qo,cleanOrphanedWALFiles:()=>Bo,closeDB:()=>Vo,defaultDBPath:()=>lk,deleteDBFiles:()=>Hc,isSQLiteCorruptionError:()=>qc,loadDatabase:()=>qn,renameCorruptDB:()=>dk,withRetry:()=>en});import{createRequire as oj}from"node:module";import{existsSync as sj,unlinkSync as uk,renameSync as ij}from"node:fs";import{tmpdir as aj}from"node:os";import{join as cj}from"node:path";function qn(){if(!Ho){let t=oj(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;Ho=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(":"));Ho=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new Uc(s)}}catch{Ho=t("better-sqlite3")}else Ho=t("better-sqlite3")}return Ho}function qo(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function Bo(t){if(!sj(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 Vo(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function lk(t="context-mode"){return cj(aj(),`${t}-${process.pid}.db`)}function en(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<e.length){let i=e[n],a=Date.now();for(;Date.now()-a<i;);}}throw new Error(`SQLITE_BUSY: database is locked after ${e.length} retries. Original error: ${r?.message}`)}function qc(t){return t.includes("SQLITE_CORRUPT")||t.includes("SQLITE_NOTADB")||t.includes("database disk image is malformed")||t.includes("file is not a database")}function dk(t){let e=Date.now();for(let r of["","-wal","-shm"])try{ij(t+r,`${t}${r}.corrupt-${e}`)}catch{}}var Fc,Uc,Ho,hi,Rh,Zc,gi=v(()=>{"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;s<e.length;s++){let i=e[s];if(n)r+=i,i===n&&(n=null);else if(i==="'"||i==='"')r+=i,n=i;else if(i===";"){let a=r.trim();a&&this.#e.prepare(a).run(),r=""}else r+=i}let o=r.trim();return o&&this.#e.prepare(o).run(),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.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()}},Uc=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()}},Ho=null;hi=Symbol.for("__context_mode_live_dbs__"),Rh=(()=>{let t=globalThis;return t[hi]||(t[hi]=new Set,process.on("exit",()=>{for(let e of t[hi])Vo(e);t[hi].clear()})),t[hi]})(),Zc=class{#e;#t;constructor(e){let r=qn();this.#e=e,Bo(e);let n;try{n=new r(e,{timeout:3e4}),qo(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(qc(s)){dk(e),Bo(e);try{n=new r(e,{timeout:3e4}),qo(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,Rh.add(this.#t),this.initSchema(),this.prepareStatements()}get db(){return this.#t}get dbPath(){return this.#e}close(){Rh.delete(this.#t),Vo(this.#t)}withRetry(e){return en(e)}cleanup(){Rh.delete(this.#t),Vo(this.#t),Hc(this.#e)}}});import{readFileSync as mk,readdirSync as gk,unlinkSync as Ch,existsSync as Oh,statSync as Bc}from"node:fs";import{createHash as fk}from"node:crypto";import{tmpdir as _k}from"node:os";import{join as Ih}from"node:path";function yk(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 uj(t,e="AND"){let r=yk(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=>!Wo.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function lj(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=yk(r.split(/\s+/).filter(i=>i.length>=3));if(n.length===0)return"";let o=n.filter(i=>!Wo.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function dj(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 pj(t){return t<=4?1:t<=12?2:3}function Ah(){let t=_k(),e=0;try{let r=gk(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=Ih(t,n);for(let a of["","-wal","-shm"])try{Ch(i+a)}catch{}e++}}}catch{}return e}function Nh(t,e){let r=0;try{if(!Oh(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=gk(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=Ih(t,s),c=Bc(i).mtimeMs<n;if(!c){let u=i+"-wal";if(Oh(u))try{let l=Bc(u);l.size>0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{Ch(i+u)}catch{}r++}}catch{}}catch{}return r}function mj(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function fj(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;c<e.length;c++){let u=e[c][r[c]];u<o&&(o=u,i=c),u>s&&(s=u)}let a=s-o;if(a<n&&(n=a),r[i]++,r[i]>=e[i].length)break}return n}var Wo,hk,Vc,xk=v(()=>{"use strict";gi();Wo=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"]);hk=4096;Vc=class t{#e;#t;#n;#o;#i;#a;#s;#c;#u;#p;#m;#f;#h;#g;#_;#y;#x;#v;#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=qn();this.#t=e??Ih(_k(),`context-mode-${process.pid}.db`),Bo(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),qo(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(qc(s)){Hc(this.#t),Bo(this.#t);try{n=new r(this.#t,{timeout:3e4}),qo(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.#Z()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{Ch(this.#t+e)}catch{}}#U(){this.#e.exec(`
127
+ ${n}`}}}});var yk={};Me(yk,{BunSQLiteAdapter:()=>Bc,NodeSQLiteAdapter:()=>Vc,SQLiteBase:()=>vi,applyWALPragmas:()=>Vo,cleanOrphanedWALFiles:()=>Wo,closeDB:()=>Go,defaultDBPath:()=>Ih,deleteDBFiles:()=>Wc,isSQLiteCorruptionError:()=>Gc,loadDatabase:()=>Vn,renameCorruptDB:()=>_k,withRetry:()=>rn});import{createRequire as yj}from"node:module";import{existsSync as xj,unlinkSync as gk,renameSync as vj}from"node:fs";import{tmpdir as Sj}from"node:os";import{join as bj}from"node:path";function Vn(){if(!Bo){let t=yj(import.meta.url);if(globalThis.Bun){let e=t(["bun","sqlite"].join(":")).Database;Bo=function(n,o){let s=new e(n,{readonly:o?.readonly,create:!0}),i=new Bc(s);return o?.timeout&&i.pragma(`busy_timeout = ${o.timeout}`),i}}else if(process.platform==="linux")try{let{DatabaseSync:e}=t(["node","sqlite"].join(":"));Bo=function(n,o){let s=new e(n,{readOnly:o?.readonly??!1});return new Vc(s)}}catch{Bo=t("better-sqlite3")}else Bo=t("better-sqlite3")}return Bo}function Vo(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL");try{t.pragma("mmap_size = 268435456")}catch{}}function Wo(t){if(!xj(t))for(let e of["-wal","-shm"])try{gk(t+e)}catch{}}function Wc(t){for(let e of["","-wal","-shm"])try{gk(t+e)}catch{}}function Go(t){try{t.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{t.close()}catch{}}function Ih(t="context-mode"){return bj(Sj(),`${t}-${process.pid}.db`)}function rn(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<e.length){let i=e[n],a=Date.now();for(;Date.now()-a<i;);}}throw new Error(`SQLITE_BUSY: database is locked after ${e.length} retries. Original error: ${r?.message}`)}function Gc(t){return t.includes("SQLITE_CORRUPT")||t.includes("SQLITE_NOTADB")||t.includes("database disk image is malformed")||t.includes("file is not a database")}function _k(t){let e=Date.now();for(let r of["","-wal","-shm"])try{vj(t+r,`${t}${r}.corrupt-${e}`)}catch{}}var Bc,Vc,Bo,xi,Ch,vi,Si=v(()=>{"use strict";Bc=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;s<e.length;s++){let i=e[s];if(n)r+=i,i===n&&(n=null);else if(i==="'"||i==='"')r+=i,n=i;else if(i===";"){let a=r.trim();a&&this.#e.prepare(a).run(),r=""}else r+=i}let o=r.trim();return o&&this.#e.prepare(o).run(),this}prepare(e){let r=this.#e.prepare(e);return{run:(...n)=>r.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()}},Vc=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()}},Bo=null;xi=Symbol.for("__context_mode_live_dbs__"),Ch=(()=>{let t=globalThis;return t[xi]||(t[xi]=new Set,process.on("exit",()=>{for(let e of t[xi])Go(e);t[xi].clear()})),t[xi]})(),vi=class{#e;#t;constructor(e){let r=Vn();this.#e=e,Wo(e);let n;try{n=new r(e,{timeout:3e4}),Vo(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(Gc(s)){_k(e),Wo(e);try{n=new r(e,{timeout:3e4}),Vo(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,Ch.add(this.#t),this.initSchema(),this.prepareStatements()}get db(){return this.#t}get dbPath(){return this.#e}close(){Ch.delete(this.#t),Go(this.#t)}withRetry(e){return rn(e)}cleanup(){Ch.delete(this.#t),Go(this.#t),Wc(this.#e)}}});import{readFileSync as xk,readdirSync as bk,unlinkSync as Nh,existsSync as Ah,statSync as Kc}from"node:fs";import{createHash as vk}from"node:crypto";import{tmpdir as kk}from"node:os";import{join as zh}from"node:path";function wk(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 kj(t,e="AND"){let r=wk(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=>!Ko.has(s.toLowerCase()));return(n.length>0?n:r).map(s=>`"${s}"`).join(e==="OR"?" OR ":" ")}function wj(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=wk(r.split(/\s+/).filter(i=>i.length>=3));if(n.length===0)return"";let o=n.filter(i=>!Ko.has(i.toLowerCase()));return(o.length>0?o:n).map(i=>`"${i}"`).join(e==="OR"?" OR ":" ")}function $j(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 Ej(t){return t<=4?1:t<=12?2:3}function jh(){let t=kk(),e=0;try{let r=bk(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=zh(t,n);for(let a of["","-wal","-shm"])try{Nh(i+a)}catch{}e++}}}catch{}return e}function Dh(t,e){let r=0;try{if(!Ah(t))return 0;let n=Date.now()-e*24*60*60*1e3,o=bk(t).filter(s=>s.endsWith(".db"));for(let s of o)try{let i=zh(t,s),c=Kc(i).mtimeMs<n;if(!c){let u=i+"-wal";if(Ah(u))try{let l=Kc(u);l.size>0&&Date.now()-l.mtimeMs>36e5&&(c=!0)}catch{}}if(c){for(let u of["","-wal","-shm"])try{Nh(i+u)}catch{}r++}}catch{}}catch{}return r}function Tj(t,e){let r=[],n=t.indexOf(e);for(;n!==-1;)r.push(n),n=t.indexOf(e,n+1);return r}function Pj(t,e,r=30){if(t.length<2||e.length<2)return 0;let n=0,o=Math.min(t.length,e.length)-1;for(let s=0;s<o;s++){let i=t[s],a=t[s+1],c=e[s].length,u=0;for(let l of i){let d=l+c,m=d+r;for(;u<a.length&&a[u]<d;)u++;u<a.length&&a[u]<=m&&(n++,u++)}}return n}function Rj(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;c<e.length;c++){let u=e[c][r[c]];u<o&&(o=u,i=c),u>s&&(s=u)}let a=s-o;if(a<n&&(n=a),r[i]++,r[i]>=e[i].length)break}return n}var Ko,Sk,Jc,$k=v(()=>{"use strict";Si();Ko=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"]);Sk=4096;Jc=class t{#e;#t;#n;#o;#i;#a;#s;#c;#u;#p;#m;#f;#h;#g;#_;#y;#x;#v;#S;#b;#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=Vn();this.#t=e??zh(kk(),`context-mode-${process.pid}.db`),Wo(this.#t);let n;try{n=new r(this.#t,{timeout:3e4}),Vo(n)}catch(o){let s=o instanceof Error?o.message:String(o);if(Gc(s)){Wc(this.#t),Wo(this.#t);try{n=new r(this.#t,{timeout:3e4}),Vo(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.#Z()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{Nh(this.#t+e)}catch{}}#U(){this.#e.exec(`
128
128
  CREATE TABLE IF NOT EXISTS sources (
129
129
  id INTEGER PRIMARY KEY AUTOINCREMENT,
130
130
  label TEXT NOT NULL,
@@ -140,6 +140,10 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
140
140
  content,
141
141
  source_id UNINDEXED,
142
142
  content_type UNINDEXED,
143
+ source_category UNINDEXED,
144
+ session_id UNINDEXED,
145
+ event_id UNINDEXED,
146
+ timestamp UNINDEXED,
143
147
  tokenize='porter unicode61'
144
148
  );
145
149
 
@@ -148,6 +152,10 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
148
152
  content,
149
153
  source_id UNINDEXED,
150
154
  content_type UNINDEXED,
155
+ source_category UNINDEXED,
156
+ session_id UNINDEXED,
157
+ event_id UNINDEXED,
158
+ timestamp UNINDEXED,
151
159
  tokenize='trigram'
152
160
  );
153
161
 
@@ -156,11 +164,35 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
156
164
  );
157
165
 
158
166
  CREATE INDEX IF NOT EXISTS idx_sources_label ON sources(label);
159
- `);try{this.#e.exec("ALTER TABLE sources ADD COLUMN file_path TEXT")}catch{}try{this.#e.exec("ALTER TABLE sources ADD COLUMN content_hash TEXT")}catch{}}#Z(){this.#n=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count, file_path, content_hash) VALUES (?, 0, 0, ?, ?)"),this.#o=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count, file_path, content_hash) VALUES (?, ?, ?, ?, ?)"),this.#i=this.#e.prepare("INSERT INTO chunks (title, content, source_id, content_type) VALUES (?, ?, ?, ?)"),this.#a=this.#e.prepare("INSERT INTO chunks_trigram (title, content, source_id, content_type) VALUES (?, ?, ?, ?)"),this.#s=this.#e.prepare("INSERT OR IGNORE INTO vocabulary (word) VALUES (?)"),this.#c=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#u=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#p=this.#e.prepare("DELETE FROM sources WHERE label = ?"),this.#m=this.#e.prepare(`
167
+ `);try{let e=this.#e.prepare("SELECT name FROM pragma_table_xinfo('chunks')").all(),r=new Set(e.map(n=>n.name));e.length>0&&!r.has("source_category")&&(this.#e.exec("DROP TABLE IF EXISTS chunks"),this.#e.exec("DROP TABLE IF EXISTS chunks_trigram"),this.#e.exec(`
168
+ CREATE VIRTUAL TABLE chunks USING fts5(
169
+ title,
170
+ content,
171
+ source_id UNINDEXED,
172
+ content_type UNINDEXED,
173
+ source_category UNINDEXED,
174
+ session_id UNINDEXED,
175
+ event_id UNINDEXED,
176
+ timestamp UNINDEXED,
177
+ tokenize='porter unicode61'
178
+ );
179
+ CREATE VIRTUAL TABLE chunks_trigram USING fts5(
180
+ title,
181
+ content,
182
+ source_id UNINDEXED,
183
+ content_type UNINDEXED,
184
+ source_category UNINDEXED,
185
+ session_id UNINDEXED,
186
+ event_id UNINDEXED,
187
+ timestamp UNINDEXED,
188
+ tokenize='trigram'
189
+ );
190
+ `))}catch{}try{this.#e.exec("ALTER TABLE sources ADD COLUMN file_path TEXT")}catch{}try{this.#e.exec("ALTER TABLE sources ADD COLUMN content_hash TEXT")}catch{}}#Z(){this.#n=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count, file_path, content_hash) VALUES (?, 0, 0, ?, ?)"),this.#o=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count, file_path, content_hash) VALUES (?, ?, ?, ?, ?)"),this.#i=this.#e.prepare("INSERT INTO chunks (title, content, source_id, content_type, source_category, session_id, event_id, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"),this.#a=this.#e.prepare("INSERT INTO chunks_trigram (title, content, source_id, content_type, source_category, session_id, event_id, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"),this.#s=this.#e.prepare("INSERT OR IGNORE INTO vocabulary (word) VALUES (?)"),this.#c=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#u=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#p=this.#e.prepare("DELETE FROM sources WHERE label = ?"),this.#m=this.#e.prepare(`
160
191
  SELECT
161
192
  chunks.title,
162
193
  chunks.content,
163
194
  chunks.content_type,
195
+ chunks.timestamp,
164
196
  sources.label,
165
197
  bm25(chunks, 5.0, 1.0) AS rank,
166
198
  highlight(chunks, 1, char(2), char(3)) AS highlighted
@@ -174,6 +206,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
174
206
  chunks.title,
175
207
  chunks.content,
176
208
  chunks.content_type,
209
+ chunks.timestamp,
177
210
  sources.label,
178
211
  bm25(chunks, 5.0, 1.0) AS rank,
179
212
  highlight(chunks, 1, char(2), char(3)) AS highlighted
@@ -187,6 +220,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
187
220
  chunks.title,
188
221
  chunks.content,
189
222
  chunks.content_type,
223
+ chunks.timestamp,
190
224
  sources.label,
191
225
  bm25(chunks, 5.0, 1.0) AS rank,
192
226
  highlight(chunks, 1, char(2), char(3)) AS highlighted
@@ -200,6 +234,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
200
234
  chunks_trigram.title,
201
235
  chunks_trigram.content,
202
236
  chunks_trigram.content_type,
237
+ chunks_trigram.timestamp,
203
238
  sources.label,
204
239
  bm25(chunks_trigram, 5.0, 1.0) AS rank,
205
240
  highlight(chunks_trigram, 1, char(2), char(3)) AS highlighted
@@ -213,6 +248,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
213
248
  chunks_trigram.title,
214
249
  chunks_trigram.content,
215
250
  chunks_trigram.content_type,
251
+ chunks_trigram.timestamp,
216
252
  sources.label,
217
253
  bm25(chunks_trigram, 5.0, 1.0) AS rank,
218
254
  highlight(chunks_trigram, 1, char(2), char(3)) AS highlighted
@@ -226,6 +262,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
226
262
  chunks_trigram.title,
227
263
  chunks_trigram.content,
228
264
  chunks_trigram.content_type,
265
+ chunks_trigram.timestamp,
229
266
  sources.label,
230
267
  bm25(chunks_trigram, 5.0, 1.0) AS rank,
231
268
  highlight(chunks_trigram, 1, char(2), char(3)) AS highlighted
@@ -239,6 +276,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
239
276
  chunks.title,
240
277
  chunks.content,
241
278
  chunks.content_type,
279
+ chunks.timestamp,
242
280
  sources.label,
243
281
  bm25(chunks, 5.0, 1.0) AS rank,
244
282
  highlight(chunks, 1, char(2), char(3)) AS highlighted
@@ -247,11 +285,12 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
247
285
  WHERE chunks MATCH ? AND chunks.content_type = ?
248
286
  ORDER BY rank
249
287
  LIMIT ?
250
- `),this.#b=this.#e.prepare(`
288
+ `),this.#S=this.#e.prepare(`
251
289
  SELECT
252
290
  chunks.title,
253
291
  chunks.content,
254
292
  chunks.content_type,
293
+ chunks.timestamp,
255
294
  sources.label,
256
295
  bm25(chunks, 5.0, 1.0) AS rank,
257
296
  highlight(chunks, 1, char(2), char(3)) AS highlighted
@@ -260,11 +299,12 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
260
299
  WHERE chunks MATCH ? AND sources.label LIKE ? AND chunks.content_type = ?
261
300
  ORDER BY rank
262
301
  LIMIT ?
263
- `),this.#S=this.#e.prepare(`
302
+ `),this.#b=this.#e.prepare(`
264
303
  SELECT
265
304
  chunks.title,
266
305
  chunks.content,
267
306
  chunks.content_type,
307
+ chunks.timestamp,
268
308
  sources.label,
269
309
  bm25(chunks, 5.0, 1.0) AS rank,
270
310
  highlight(chunks, 1, char(2), char(3)) AS highlighted
@@ -278,6 +318,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
278
318
  chunks_trigram.title,
279
319
  chunks_trigram.content,
280
320
  chunks_trigram.content_type,
321
+ chunks_trigram.timestamp,
281
322
  sources.label,
282
323
  bm25(chunks_trigram, 5.0, 1.0) AS rank,
283
324
  highlight(chunks_trigram, 1, char(2), char(3)) AS highlighted
@@ -291,6 +332,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
291
332
  chunks_trigram.title,
292
333
  chunks_trigram.content,
293
334
  chunks_trigram.content_type,
335
+ chunks_trigram.timestamp,
294
336
  sources.label,
295
337
  bm25(chunks_trigram, 5.0, 1.0) AS rank,
296
338
  highlight(chunks_trigram, 1, char(2), char(3)) AS highlighted
@@ -304,6 +346,7 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
304
346
  chunks_trigram.title,
305
347
  chunks_trigram.content,
306
348
  chunks_trigram.content_type,
349
+ chunks_trigram.timestamp,
307
350
  sources.label,
308
351
  bm25(chunks_trigram, 5.0, 1.0) AS rank,
309
352
  highlight(chunks_trigram, 1, char(2), char(3)) AS highlighted
@@ -321,36 +364,126 @@ ${n}`}}}});var pk={};Me(pk,{BunSQLiteAdapter:()=>Fc,NodeSQLiteAdapter:()=>Uc,SQL
321
364
  (SELECT COUNT(*) FROM sources) AS sources,
322
365
  (SELECT COUNT(*) FROM chunks) AS chunks,
323
366
  (SELECT COUNT(*) FROM chunks WHERE content_type = 'code') AS codeChunks
324
- `),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??mk(n,"utf-8"),i=o??n??"untitled",a=this.#B(s),c=n??void 0,u=c?fk("sha256").update(s).digest("hex"):void 0;return en(()=>this.#l(a,i,s,c,u))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#V(e,n);return en(()=>this.#l(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=hk){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):en(()=>this.#l(s,r,e))}#l(e,r,n,o,s){let i=e.filter(u=>u.hasCode).length,c=this.#e.transaction(()=>{if(this.#c.run(r),this.#u.run(r),this.#p.run(r),e.length===0){let d=this.#n.run(r,o??null,s??null);return Number(d.lastInsertRowid)}let u=this.#o.run(r,e.length,i,o??null,s??null),l=Number(u.lastInsertRowid);for(let d of e){let m=d.hasCode?"code":"prose";this.#i.run(d.title,d.content,l,m),this.#a.run(d.title,d.content,l,m)}return l})();return n&&this.#q(n),this.#z++,this.#z%t.OPTIMIZE_EVERY===0&&this.#L(),{sourceId:c,label:r,totalChunks:e.length,codeChunks:i}}#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=uj(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.#v,u=[a,s,r]):(c=this.#m,u=[a,r]),en(()=>this.#j(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=lj(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]),en(()=>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=pj(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=dj(r,u);l<i&&(i=l,s=u)}let c=a?null:i<=n?s:null;if(this.#r.size>=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=>!Wo.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=>mj(m,p));h.some(p=>p.length===0)||(d=1/(1+fj(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"){this.#H();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&&!Wo.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[]}lastRefreshCount=0;#H(){this.lastRefreshCount=0;let e=this.#e.prepare("SELECT label, file_path, content_hash, indexed_at FROM sources WHERE file_path IS NOT NULL").all();for(let r of e)try{if(!Oh(r.file_path))continue;let n=Bc(r.file_path).mtime,o=new Date(r.indexed_at+"Z");if(n<=o)continue;let s=mk(r.file_path,"utf-8");if(fk("sha256").update(s).digest("hex")===r.content_hash)continue;this.index({path:r.file_path,source:r.label}),this.lastRefreshCount++}catch{}}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,filePath:r.file_path??null,contentHash:r.content_hash??null}: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&&!Wo.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 Bc(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(),Vo(this.#e)}#q(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(s=>s.length>=3&&!Wo.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()}#B(e,r=hk){let n=[],o=e.split(`
367
+ `),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,s=typeof r=="string"&&r.length>0;if(!s&&!n)throw new Error("Either content or path must be provided");let i=s?r:xk(n,"utf-8"),a=o??n??"untitled",c=this.#B(i),u=n??void 0,l=u?vk("sha256").update(i).digest("hex"):void 0;return rn(()=>this.#l(c,a,i,u,l))}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#V(e,n);return rn(()=>this.#l(o.map(s=>({...s,hasCode:!1})),r,e))}indexJSON(e,r,n=Sk){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):rn(()=>this.#l(s,r,e))}#l(e,r,n,o,s){let i=e.filter(u=>u.hasCode).length,c=this.#e.transaction(()=>{if(this.#c.run(r),this.#u.run(r),this.#p.run(r),e.length===0){let m=this.#n.run(r,o??null,s??null);return Number(m.lastInsertRowid)}let u=this.#o.run(r,e.length,i,o??null,s??null),l=Number(u.lastInsertRowid),d=new Date().toISOString();for(let m of e){let f=m.hasCode?"code":"prose";this.#i.run(m.title,m.content,l,f,null,null,null,d),this.#a.run(m.title,m.content,l,f,null,null,null,d)}return l})();return n&&this.#q(n),this.#z++,this.#z%t.OPTIMIZE_EVERY===0&&this.#L(),{sourceId:c,label:r,totalChunks:e.length,codeChunks:i}}#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,timestamp:r.timestamp??void 0}))}#d(e,r){return r==="exact"?e:`%${e}%`}search(e,r=3,n,o="AND",s,i="like"){let a=kj(e,o),c,u;return n&&s?(c=i==="exact"?this.#b:this.#S,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.#v,u=[a,s,r]):(c=this.#m,u=[a,r]),rn(()=>this.#j(c.all(...u)))}searchTrigram(e,r=3,n,o="AND",s,i="like"){let a=wj(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]),rn(()=>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=Ej(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=$j(r,u);l<i&&(i=l,s=u)}let c=a?null:i<=n?s:null;if(this.#r.size>=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}#D(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,f]of c.entries()){let p=d(f),h=l.get(p);h?h.score+=1/(60+m+1):l.set(p,{result:f,score:1/(60+m+1)})}for(let[m,f]of u.entries()){let p=d(f),h=l.get(p);h?h.score+=1/(60+m+1):l.set(p,{result:f,score:1/(60+m+1)})}return Array.from(l.values()).sort((m,f)=>f.score-m.score).slice(0,r).map(({result:m,score:f})=>({...m,rank:-f}))}#M(e,r){let n=r.toLowerCase().split(/\s+/).filter(i=>i.length>=2),o=n.filter(i=>!Ko.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,m=0;if(s.length>=2){let f=i.content.toLowerCase(),p=s.map(h=>Tj(f,h));if(!p.some(h=>h.length===0)){d=1/(1+Rj(p)/Math.max(f.length,1));let g=Pj(p,s);m=.5*Math.min(1,g/4)}}return{result:i,boost:l+d+m}}).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"){this.#H();let i=this.#D(e,r,n,o,s);if(i.length>0)return this.#M(i,e).map(m=>({...m,matchLayer:"rrf"}));let a=e.toLowerCase().trim().split(/\s+/).filter(d=>d.length>=3&&!Ko.has(d)),c=a.join(" "),l=a.map(d=>this.fuzzyCorrect(d)??d).join(" ");if(l!==c){let d=this.#D(l,r,n,o,s);if(d.length>0)return this.#M(d,l).map(f=>({...f,matchLayer:"rrf-fuzzy"}))}return[]}lastRefreshCount=0;#H(){this.lastRefreshCount=0;let e=this.#e.prepare("SELECT label, file_path, content_hash, indexed_at FROM sources WHERE file_path IS NOT NULL").all();for(let r of e)try{if(!Ah(r.file_path))continue;let n=Kc(r.file_path).mtime,o=new Date(r.indexed_at+"Z");if(n<=o)continue;let s=xk(r.file_path,"utf-8");if(vk("sha256").update(s).digest("hex")===r.content_hash)continue;this.index({path:r.file_path,source:r.label}),this.lastRefreshCount++}catch{}}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,filePath:r.file_path??null,contentHash:r.content_hash??null}: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&&!Ko.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),f=Math.min(l.length/20,.5),p=/[_]/.test(l),h=l.length>=12,g=p?1.5:h?.8:0;return{word:l,score:m+f+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 Kc(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(),Go(this.#e)}#q(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(s=>s.length>=3&&!Ko.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()}#B(e,r=Sk){let n=[],o=e.split(`
325
368
  `),s=[],i=[],a="",c=()=>{let l=i.join(`
326
- `).trim();if(l.length===0)return;let d=this.#J(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(`
369
+ `).trim();if(l.length===0)return;let d=this.#J(s,a),m=i.some(_=>/^`{3,}/.test(_));if(Buffer.byteLength(l)<=r){n.push({title:d,content:l,hasCode:m}),i=[];return}let f=l.split(/\n\n+/),p=[],h=1,g=()=>{if(p.length===0)return;let _=p.join(`
327
370
 
328
- `).trim();if(_.length===0)return;let y=h.length>1?`${d} (${f})`:d;f++,n.push({title:y,content:_,hasCode:_.includes("```")}),p=[]};for(let _ of h){p.push(_);let y=p.join(`
371
+ `).trim();if(_.length===0)return;let y=f.length>1?`${d} (${h})`:d;h++,n.push({title:y,content:_,hasCode:_.includes("```")}),p=[]};for(let _ of f){p.push(_);let y=p.join(`
329
372
 
330
- `);Buffer.byteLength(y)>r&&p.length>1&&(p.pop(),g(),p=[_])}g(),i=[]},u=0;for(;u<o.length;){let l=o[u];if(/^[-_*]{3,}\s*$/.test(l)){c(),u++;continue}let d=l.match(/^(#{1,4})\s+(.+)$/);if(d){c();let h=d[1].length,p=d[2].trim();for(;s.length>0&&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<o.length;){if(p.push(o[u]),o[u].startsWith(h)&&o[u].trim()===h){u++;break}u++}i.push(...p);continue}i.push(l),u++}return c(),n}#V(e,r){let n=e.split(/\n\s*\n/);if(n.length>=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(`
373
+ `);Buffer.byteLength(y)>r&&p.length>1&&(p.pop(),g(),p=[_])}g(),i=[]},u=0;for(;u<o.length;){let l=o[u];if(/^[-_*]{3,}\s*$/.test(l)){c(),u++;continue}let d=l.match(/^(#{1,4})\s+(.+)$/);if(d){c();let f=d[1].length,p=d[2].trim();for(;s.length>0&&s[s.length-1].level>=f;)s.pop();s.push({level:f,text:p}),a=p,i.push(l),u++;continue}let m=l.match(/^(`{3,})(.*)?$/);if(m){let f=m[1],p=[l];for(u++;u<o.length;){if(p.push(o[u]),o[u].startsWith(f)&&o[u].trim()===f){u++;break}u++}i.push(...p);continue}i.push(l),u++}return c(),n}#V(e,r){let n=e.split(/\n\s*\n/);if(n.length>=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(`
331
374
  `)[0].slice(0,80)||`Section ${u+1}`,content:l}}).filter(c=>c.content.length>0);let o=e.split(`
332
375
  `);if(o.length<=r)return[{title:"Output",content:e}];let s=[],a=Math.max(r-2,1);for(let c=0;c<o.length;c+=a){let u=o.slice(c,c+r);if(u.length===0)break;let l=c+1,d=Math.min(c+u.length,o.length),m=u[0]?.trim().slice(0,80);s.push({title:m||`Lines ${l}-${d}`,content:u.join(`
333
- `)})}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.#K(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#W(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}#G(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])}`}#K(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#W(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#G(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;l<e.length;l++){a.push(e[l]);let d=JSON.stringify(a,null,2);Buffer.byteLength(d)>o&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#J(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}}});import{readFileSync as bk,realpathSync as hj}from"node:fs";import{resolve as Bn}from"node:path";import{homedir as Sk}from"node:os";function kk(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function gj(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function _j(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function vk(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function yj(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=_j(o),a=vk(s);r=`^${i}(\\s${a})?$`}else r=`^${vk(t)}$`;return new RegExp(r,e?"i":"")}function xj(t,e=!1){let r="",n=0;for(;n<t.length;)t[n]==="*"&&t[n+1]==="*"?n+2<t.length&&t[n+2]==="/"?(r+="(.*/)?",n+=3):(r+=".*",n+=2):t[n]==="*"?(r+="[^/]*",n++):t[n]==="?"?(r+="[^/]",n++):(r+=t[n].replace(/[.+^${}()|[\]\\\/\-]/g,"\\$&"),n++);return new RegExp(`^${r}$`,e?"i":"")}function vj(t,e,r=!1){for(let n of e){let o=kk(n);if(o&&yj(o,r).test(t))return n}return null}function bj(t){let e=[],r="",n=!1,o=!1,s=!1;for(let i=0;i<t.length;i++){let a=t[i],c=i>0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function zh(t){let e;try{e=bk(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"&&kk(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function jh(t,e){let r=[];if(t){let s=Bn(t,".claude","settings.local.json"),i=zh(s);i&&r.push(i);let a=Bn(t,".claude","settings.json"),c=zh(a);c&&r.push(c)}let n=e??Bn(Sk(),".claude","settings.json"),o=zh(n);return o&&r.push(o),r}function wk(t,e,r){let n=[],o=a=>{let c;try{c=bk(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=gj(m);h&&h.tool===t&&d.push(h.glob)}return d};if(e){let a=o(Bn(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(Bn(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??Bn(Sk(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Mh(t,e,r=process.platform==="win32"){let n=bj(t);for(let o of n)for(let s of e){let i=vj(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function $k(t,e,r=process.platform==="win32",n){let o=i=>i.replace(/\\/g,"/"),s=new Set;if(s.add(o(t)),n){let i=Bn(n,t);s.add(o(i));try{s.add(o(hj(i)))}catch{}}for(let i of e)for(let a of i){let c=xj(a,r);for(let u of s)if(c.test(u))return{denied:!0,matchedPattern:a}}return{denied:!1}}function kj(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 Ek(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(...kj(t)),n}var Sj,Tk=v(()=>{"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 Dh(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}
376
+ `)})}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.#K(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#W(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}#G(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])}`}#K(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#W(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#G(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;l<e.length;l++){a.push(e[l]);let d=JSON.stringify(a,null,2);Buffer.byteLength(d)>o&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#J(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}}});import{readFileSync as Tk,realpathSync as Oj}from"node:fs";import{resolve as Wn}from"node:path";import{homedir as Pk}from"node:os";function Rk(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function Cj(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function Ij(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function Ek(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function Aj(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=Ij(o),a=Ek(s);r=`^${i}(\\s${a})?$`}else r=`^${Ek(t)}$`;return new RegExp(r,e?"i":"")}function Nj(t,e=!1){let r="",n=0;for(;n<t.length;)t[n]==="*"&&t[n+1]==="*"?n+2<t.length&&t[n+2]==="/"?(r+="(.*/)?",n+=3):(r+=".*",n+=2):t[n]==="*"?(r+="[^/]*",n++):t[n]==="?"?(r+="[^/]",n++):(r+=t[n].replace(/[.+^${}()|[\]\\\/\-]/g,"\\$&"),n++);return new RegExp(`^${r}$`,e?"i":"")}function zj(t,e,r=!1){for(let n of e){let o=Rk(n);if(o&&Aj(o,r).test(t))return n}return null}function jj(t){let e=[],r="",n=!1,o=!1,s=!1;for(let i=0;i<t.length;i++){let a=t[i],c=i>0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function Mh(t){let e;try{e=Tk(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"&&Rk(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Lh(t,e){let r=[];if(t){let s=Wn(t,".claude","settings.local.json"),i=Mh(s);i&&r.push(i);let a=Wn(t,".claude","settings.json"),c=Mh(a);c&&r.push(c)}let n=e??Wn(Pk(),".claude","settings.json"),o=Mh(n);return o&&r.push(o),r}function Ok(t,e,r){let n=[],o=a=>{let c;try{c=Tk(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 f=Cj(m);f&&f.tool===t&&d.push(f.glob)}return d};if(e){let a=o(Wn(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(Wn(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??Wn(Pk(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Fh(t,e,r=process.platform==="win32"){let n=jj(t);for(let o of n)for(let s of e){let i=zj(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function Ck(t,e,r=process.platform==="win32",n){let o=i=>i.replace(/\\/g,"/"),s=new Set;if(s.add(o(t)),n){let i=Wn(n,t);s.add(o(i));try{s.add(o(Oj(i)))}catch{}}for(let i of e)for(let a of i){let c=Nj(a,r);for(let u of s)if(c.test(u))return{denied:!0,matchedPattern:a}}return{denied:!1}}function Mj(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 Ik(t,e){let r=Dj[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(...Mj(t)),n}var Dj,Ak=v(()=>{"use strict";Dj={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 Uh(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}
334
377
 
335
378
  stdout:
336
379
  ${n}
337
380
 
338
381
  stderr:
339
- ${o}`}}var Pk=v(()=>{"use strict"});import{execFileSync as wj}from"node:child_process";function $j(){if(process.platform==="win32")return NaN;let t=process.ppid;if(!t||t<=1)return NaN;try{let e=wj("ps",["-o","ppid=","-p",String(t)],{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim(),r=parseInt(e,10);return Number.isFinite(r)?r:NaN}catch{return NaN}}function Ej(t={}){let e=t.getPpid??(()=>process.ppid),r=t.readGrandparentPpid??$j,n=e(),o=r();return()=>{let s=e();return!(s!==n||s===0||s===1||!Number.isNaN(o)&&o>1&&r()===1)}}function Rk(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??Tj,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 Tj,Ok=v(()=>{"use strict";Tj=Ej()});import{createHash as Pj}from"node:crypto";import{execFileSync as Rj}from"node:child_process";function Lh(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=Rj("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`__${Pj("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var Ck=v(()=>{"use strict";gi()});function Oj(t,e){let r=t.split(".").map(Number),n=e.split(".").map(Number);for(let o=0;o<3;o++){if((r[o]??0)>(n[o]??0))return!0;if((r[o]??0)<(n[o]??0))return!1}return!1}function Go(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${Math.round(t)} B`}function Ij(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 Nk(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Fh(t,e,r=40){if(e<=0)return"\u2591".repeat(r);let n=Math.max(1,Math.round(t/e*r));return"\u2588".repeat(Math.min(n,r))+"\u2591".repeat(Math.max(0,r-n))}function Ak(t){if(t.total_events===0)return[];let e=[];e.push("");let r=t.session_count===1?"1 session":`${t.session_count} sessions`;e.push(`${Nk(t.total_events)} events remembered across ${r} \u2014 searchable after compact & restart`),e.push("");let n=t.by_category.length>0?t.by_category[0].count:1;for(let o of t.by_category)e.push(` ${o.label.padEnd(18)} ${String(o.count).padStart(5)} ${Fh(o.count,n,30)}`);return e}function Wc(t,e,r){let n=[],o=Ij(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,c=s+i,u=c>0?s/c*100:0,l=Math.round(s/4);if(s===0){n.push(`context-mode ${o} ${a} calls`),n.push(""),a===0?n.push("No tool calls yet. Use batch_execute or execute to start saving tokens."):n.push(`${Go(i)} entered context | 0 tokens saved`),n.push(...Ak(t.projectMemory)),n.push("");let p=e?`v${e}`:"context-mode";return n.push(p),e&&r&&r!=="unknown"&&Oj(r,e)&&n.push(`Update available: v${e} -> v${r} | ctx_upgrade`),n.join(`
340
- `)}n.push(`${Nk(l)} tokens saved \xB7 ${u.toFixed(1)}% reduction \xB7 ${o}`),n.push(""),n.push(`Without context-mode |${Fh(c,c)}| ${Go(c)}`),n.push(`With context-mode |${Fh(i,c)}| ${Go(i)}`),n.push(""),n.push(`${Go(s)} kept out of your conversation. Never entered context.`),n.push("");let d=[`${a} calls`];t.cache&&t.cache.hits>0&&d.push(`${t.cache.hits} cache hits (+${Go(t.cache.bytes_saved)})`),n.push(d.join(" \xB7 "));let m=t.savings.by_tool.filter(p=>p.calls>0);if(m.length>=2){n.push("");let p=m.map(f=>{let g=f.context_kb*1024,_=u<100?g/(1-u/100):g,y=Math.max(0,_-g);return{...f,returnedBytes:g,estimatedSaved:y}}).sort((f,g)=>g.estimatedSaved-f.estimatedSaved);for(let f of p){let g=f.tool.length>22?f.tool.slice(0,19)+"...":f.tool;n.push(` ${g.padEnd(22)} ${String(f.calls).padStart(4)} calls ${Go(f.estimatedSaved).padStart(8)} saved`)}}n.push(...Ak(t.projectMemory)),n.push("");let h=e?`v${e}`:"context-mode";return n.push(h),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | ctx_upgrade`),n.join(`
341
- `)}var Ik,Cj,Ko,zk=v(()=>{"use strict";Ik={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"},Cj={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"},Ko=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((F,gt)=>F+gt,0),s=Object.values(e.calls).reduce((F,gt)=>F+gt,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(F=>({tool:F,calls:e.calls[F]||0,context_kb:Math.round((e.bytesReturned[F]||0)/1024*10)/10,tokens:Math.round((e.bytesReturned[F]||0)/4)})),h=((Date.now()-e.sessionStart)/6e4).toFixed(1),p;if(e.cacheHits>0||e.cacheBytesSaved>0){let F=a+e.cacheBytesSaved,gt=F/Math.max(o,1),Ne=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:Ne,total_with_cache:F,total_savings_ratio:gt}}let f=this.db.prepare("SELECT COUNT(*) as cnt FROM session_events WHERE session_id = ?").get(n).cnt,g=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events WHERE session_id = ? GROUP BY category ORDER BY cnt DESC").all(n),y=this.db.prepare("SELECT compact_count FROM session_meta WHERE session_id = ?").get(n)?.compact_count??0,x=this.db.prepare("SELECT event_count, consumed FROM session_resume WHERE session_id = ? ORDER BY created_at DESC LIMIT 1").get(n),k=x?!x.consumed:!1,T=this.db.prepare("SELECT category, type, data FROM session_events WHERE session_id = ? ORDER BY id DESC").all(n),J=new Map;for(let F of T){J.has(F.category)||J.set(F.category,new Set);let gt=J.get(F.category);if(gt.size<5){let Ne=F.data;F.category==="file"?Ne=F.data.split("/").pop()||F.data:F.category==="prompt"&&(Ne=Ne.length>50?Ne.slice(0,47)+"...":Ne),Ne.length>40&&(Ne=Ne.slice(0,37)+"..."),gt.add(Ne)}}let B=g.map(F=>({category:F.category,count:F.cnt,label:Ik[F.category]||F.category,preview:J.get(F.category)?Array.from(J.get(F.category)).join(", "):"",why:Cj[F.category]||"Survives context resets"})),oe=this.db.prepare("SELECT COUNT(*) as cnt, COUNT(DISTINCT session_id) as sessions FROM session_events").get(),Fe=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all().filter(F=>F.cnt>0).map(F=>({category:F.category,count:F.cnt,label:Ik[F.category]||F.category}));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},projectMemory:{total_events:oe.cnt,session_count:oe.sessions,by_category:Fe}}}}});var Gk={};Me(Gk,{extractSnippet:()=>Kh,formatBatchQueryResults:()=>Vk,positionsFromHighlight:()=>Bk});import{createRequire as Zk}from"node:module";import{createHash as Aj}from"node:crypto";import{existsSync as Ie,unlinkSync as Tr,readdirSync as Nj,readFileSync as Bh,writeFileSync as Hk,rmSync as Jc,mkdirSync as tu,cpSync as zj,statSync as jk,symlinkSync as jj,lstatSync as Mj}from"node:fs";import{execSync as Ft}from"node:child_process";import{join as _e,dirname as Qt,resolve as vt,sep as Dj}from"node:path";import{fileURLToPath as Lj}from"node:url";import{homedir as _i,tmpdir as Vh}from"node:os";import{request as Fj}from"node:https";function Uj(t){try{let e=rn();if(!Ie(e))return;let r=Nj(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=_e(e,n);try{t.index({path:o,source:"session-events"}),Tr(o)}catch{}}}catch{}}function rn(){if(Yc)return Yc.getSessionDir();let t=_e(_i(),".claude","context-mode","sessions");return tu(t,{recursive:!0}),t}function Zj(){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 Xc(){let e=Zj().replace(/\\/g,"/");return Aj("sha256").update(e).digest("hex").slice(0,16)}function qh(){let t=Xc(),e=rn(),r=_e(Qt(e),"content");return tu(r,{recursive:!0}),_e(r,`${t}.db`)}function Wn(){if(!fr){let t=qh();fr=new Vc(t);try{let e=Qt(qh());Nh(e,14),fr.cleanupStaleSources(14);let r=_e(_i(),".context-mode","content");Ie(r)&&Nh(r,0)}catch{}Ah()}return Uj(fr),fr}async function Bj(){return new Promise(t=>{let e=Fj("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 Vj(){let t=Yc?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function Wj(t,e){let r=t.split(".").map(Number),n=e.split(".").map(Number);for(let o=0;o<3;o++){if((r[o]??0)>(n[o]??0))return!0;if((r[o]??0)<(n[o]??0))return!1}return!1}function Gj(){return!nn||nn==="unknown"?!1:Wj(nn,tn)}function Kj(){if(!Gj())return!1;let t=Date.now();if(Gc>=Hj){if(t-Mk<qj)return!1;Gc=0}return Gc===0&&(Mk=t),Gc++,!0}function Jj(){if(!Dk){Dk=!0;try{let t=vt(_i(),".claude","plugins","installed_plugins.json");if(!Ie(t))return;let e=JSON.parse(Bh(t,"utf-8")),r=vt(_i(),".claude","plugins","cache"),n=Ie(vt(bt,"package.json"))?bt:Qt(bt);for(let[o,s]of Object.entries(e.plugins??{}))if(o==="context-mode@context-mode")for(let i of s){let a=i.installPath;if(!a||Ie(a)||!vt(a).startsWith(r+Dj))continue;try{Mj(a).isSymbolicLink()&&Tr(a)}catch{}let c=Qt(a);Ie(c)||tu(c,{recursive:!0}),Ie(n)&&jj(n,a,process.platform==="win32"?"junction":void 0)}}catch{}}}function Z(t,e){if(Jj(),Kj()&&e.content.length>0){let n=Vj();e.content[0].text=`\u26A0\uFE0F context-mode v${tn} outdated \u2192 v${nn} available. Upgrade: ${n}
382
+ ${o}`}}var Nk=v(()=>{"use strict"});import{execFileSync as Lj}from"node:child_process";function Fj(){if(process.platform==="win32")return NaN;let t=process.ppid;if(!t||t<=1)return NaN;try{let e=Lj("ps",["-o","ppid=","-p",String(t)],{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim(),r=parseInt(e,10);return Number.isFinite(r)?r:NaN}catch{return NaN}}function Uj(t={}){let e=t.getPpid??(()=>process.ppid),r=t.readGrandparentPpid??Fj,n=e(),o=r();return()=>{let s=e();return!(s!==n||s===0||s===1||!Number.isNaN(o)&&o>1&&r()===1)}}function zk(t){let e=t.checkIntervalMs??3e4,r=t.isParentAlive??Zj,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 Zj,jk=v(()=>{"use strict";Zj=Uj()});import{createHash as Dk}from"node:crypto";import{execFileSync as Hj}from"node:child_process";function Zh(){let t=process.env.CONTEXT_MODE_SESSION_SUFFIX;if(t!==void 0)return t?`__${t}`:"";try{let e=process.cwd(),r=Hj("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`__${Dk("sha256").update(e).digest("hex").slice(0,8)}`}catch{}return""}var qj,Bj,W,Yc,Mk=v(()=>{"use strict";Si();qj=1e3,Bj=5,W={insertEvent:"insertEvent",getEvents:"getEvents",getEventsByType:"getEventsByType",getEventsByPriority:"getEventsByPriority",getEventsByTypeAndPriority:"getEventsByTypeAndPriority",getEventCount:"getEventCount",getLatestAttributedProject:"getLatestAttributedProject",checkDuplicate:"checkDuplicate",evictLowestPriority:"evictLowestPriority",updateMetaLastEvent:"updateMetaLastEvent",ensureSession:"ensureSession",getSessionStats:"getSessionStats",incrementCompactCount:"incrementCompactCount",upsertResume:"upsertResume",getResume:"getResume",markResumeConsumed:"markResumeConsumed",deleteEvents:"deleteEvents",deleteMeta:"deleteMeta",deleteResume:"deleteResume",getOldSessions:"getOldSessions",searchEvents:"searchEvents"},Yc=class extends vi{constructor(e){super(e?.dbPath??Ih("session"))}stmt(e){return this.stmts.get(e)}initSchema(){try{let r=this.db.pragma("table_xinfo(session_events)").find(n=>n.name==="data_hash");r&&r.hidden!==0&&this.db.exec("DROP TABLE session_events")}catch{}this.db.exec(`
383
+ CREATE TABLE IF NOT EXISTS session_events (
384
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
385
+ session_id TEXT NOT NULL,
386
+ type TEXT NOT NULL,
387
+ category TEXT NOT NULL,
388
+ priority INTEGER NOT NULL DEFAULT 2,
389
+ data TEXT NOT NULL,
390
+ project_dir TEXT NOT NULL DEFAULT '',
391
+ attribution_source TEXT NOT NULL DEFAULT 'unknown',
392
+ attribution_confidence REAL NOT NULL DEFAULT 0,
393
+ source_hook TEXT NOT NULL,
394
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
395
+ data_hash TEXT NOT NULL DEFAULT ''
396
+ );
342
397
 
343
- `+e.content[0].text}let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return je.calls[t]=(je.calls[t]||0)+1,je.bytesReturned[t]=(je.bytesReturned[t]||0)+r,e}function er(t){je.bytesIndexed+=t}function Gh(t,e){try{let r=jh(process.env.CLAUDE_PROJECT_DIR),n=Mh(t,r);if(n.decision==="deny")return Z(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function qk(t,e,r){try{let n=Ek(t,e);if(n.length===0)return null;let o=jh(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Mh(s,o);if(i.decision==="deny")return Z(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 Yj(t,e){try{let r=process.env.CLAUDE_PROJECT_DIR??process.cwd(),n=wk("Read",r),o=$k(t,n,process.platform==="win32",r);if(o.denied)return Z(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${o.matchedPattern}`}],isError:!0})}catch{}return null}function Bk(t){let e=[],r=0,n=0;for(;n<t.length;)if(t[n]===eM){for(e.push(r),n++;n<t.length&&t[n]!==tM;)r++,n++;n<t.length&&n++}else r++,n++;return e}function Kh(t,e,r=1500,n){if(t.length<=r)return t;let o=[];if(n)for(let u of Bk(n))o.push(u);if(o.length===0){let u=e.toLowerCase().split(/\s+/).filter(d=>d.length>2),l=t.toLowerCase();for(let d of u){let 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)+`
398
+ CREATE INDEX IF NOT EXISTS idx_session_events_session ON session_events(session_id);
399
+ CREATE INDEX IF NOT EXISTS idx_session_events_type ON session_events(session_id, type);
400
+ CREATE INDEX IF NOT EXISTS idx_session_events_priority ON session_events(session_id, priority);
401
+
402
+ CREATE TABLE IF NOT EXISTS session_meta (
403
+ session_id TEXT PRIMARY KEY,
404
+ project_dir TEXT NOT NULL,
405
+ started_at TEXT NOT NULL DEFAULT (datetime('now')),
406
+ last_event_at TEXT,
407
+ event_count INTEGER NOT NULL DEFAULT 0,
408
+ compact_count INTEGER NOT NULL DEFAULT 0
409
+ );
410
+
411
+ CREATE TABLE IF NOT EXISTS session_resume (
412
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
413
+ session_id TEXT NOT NULL UNIQUE,
414
+ snapshot TEXT NOT NULL,
415
+ event_count INTEGER NOT NULL,
416
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
417
+ consumed INTEGER NOT NULL DEFAULT 0
418
+ );
419
+ `);try{let e=this.db.pragma("table_xinfo(session_events)"),r=new Set(e.map(n=>n.name));r.has("project_dir")||this.db.exec("ALTER TABLE session_events ADD COLUMN project_dir TEXT NOT NULL DEFAULT ''"),r.has("attribution_source")||this.db.exec("ALTER TABLE session_events ADD COLUMN attribution_source TEXT NOT NULL DEFAULT 'unknown'"),r.has("attribution_confidence")||this.db.exec("ALTER TABLE session_events ADD COLUMN attribution_confidence REAL NOT NULL DEFAULT 0"),this.db.exec("CREATE INDEX IF NOT EXISTS idx_session_events_project ON session_events(session_id, project_dir)")}catch{}}prepareStatements(){this.stmts=new Map;let e=(r,n)=>{this.stmts.set(r,this.db.prepare(n))};e(W.insertEvent,`INSERT INTO session_events (
420
+ session_id, type, category, priority, data,
421
+ project_dir, attribution_source, attribution_confidence,
422
+ source_hook, data_hash
423
+ )
424
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`),e(W.getEvents,`SELECT id, session_id, type, category, priority, data,
425
+ project_dir, attribution_source, attribution_confidence,
426
+ source_hook, created_at, data_hash
427
+ FROM session_events WHERE session_id = ? ORDER BY id ASC LIMIT ?`),e(W.getEventsByType,`SELECT id, session_id, type, category, priority, data,
428
+ project_dir, attribution_source, attribution_confidence,
429
+ source_hook, created_at, data_hash
430
+ FROM session_events WHERE session_id = ? AND type = ? ORDER BY id ASC LIMIT ?`),e(W.getEventsByPriority,`SELECT id, session_id, type, category, priority, data,
431
+ project_dir, attribution_source, attribution_confidence,
432
+ source_hook, created_at, data_hash
433
+ FROM session_events WHERE session_id = ? AND priority >= ? ORDER BY id ASC LIMIT ?`),e(W.getEventsByTypeAndPriority,`SELECT id, session_id, type, category, priority, data,
434
+ project_dir, attribution_source, attribution_confidence,
435
+ source_hook, created_at, data_hash
436
+ FROM session_events WHERE session_id = ? AND type = ? AND priority >= ? ORDER BY id ASC LIMIT ?`),e(W.getEventCount,"SELECT COUNT(*) AS cnt FROM session_events WHERE session_id = ?"),e(W.getLatestAttributedProject,`SELECT project_dir
437
+ FROM session_events
438
+ WHERE session_id = ? AND project_dir != ''
439
+ ORDER BY id DESC
440
+ LIMIT 1`),e(W.checkDuplicate,`SELECT 1 FROM (
441
+ SELECT type, data_hash FROM session_events
442
+ WHERE session_id = ? ORDER BY id DESC LIMIT ?
443
+ ) AS recent
444
+ WHERE recent.type = ? AND recent.data_hash = ?
445
+ LIMIT 1`),e(W.evictLowestPriority,`DELETE FROM session_events WHERE id = (
446
+ SELECT id FROM session_events WHERE session_id = ?
447
+ ORDER BY priority ASC, id ASC LIMIT 1
448
+ )`),e(W.updateMetaLastEvent,`UPDATE session_meta
449
+ SET last_event_at = datetime('now'), event_count = event_count + 1
450
+ WHERE session_id = ?`),e(W.ensureSession,"INSERT OR IGNORE INTO session_meta (session_id, project_dir) VALUES (?, ?)"),e(W.getSessionStats,`SELECT session_id, project_dir, started_at, last_event_at, event_count, compact_count
451
+ FROM session_meta WHERE session_id = ?`),e(W.incrementCompactCount,"UPDATE session_meta SET compact_count = compact_count + 1 WHERE session_id = ?"),e(W.upsertResume,`INSERT INTO session_resume (session_id, snapshot, event_count)
452
+ VALUES (?, ?, ?)
453
+ ON CONFLICT(session_id) DO UPDATE SET
454
+ snapshot = excluded.snapshot,
455
+ event_count = excluded.event_count,
456
+ created_at = datetime('now'),
457
+ consumed = 0`),e(W.getResume,"SELECT snapshot, event_count, consumed FROM session_resume WHERE session_id = ?"),e(W.markResumeConsumed,"UPDATE session_resume SET consumed = 1 WHERE session_id = ?"),e(W.deleteEvents,"DELETE FROM session_events WHERE session_id = ?"),e(W.deleteMeta,"DELETE FROM session_meta WHERE session_id = ?"),e(W.deleteResume,"DELETE FROM session_resume WHERE session_id = ?"),e(W.searchEvents,`SELECT id, session_id, category, type, data, created_at
458
+ FROM session_events
459
+ WHERE project_dir = ?
460
+ AND (data LIKE '%' || ? || '%' ESCAPE '\\' OR category LIKE '%' || ? || '%' ESCAPE '\\')
461
+ AND (? IS NULL OR category = ?)
462
+ ORDER BY id ASC
463
+ LIMIT ?`),e(W.getOldSessions,"SELECT session_id FROM session_meta WHERE started_at < datetime('now', ? || ' days')")}insertEvent(e,r,n="PostToolUse",o){let s=Dk("sha256").update(r.data).digest("hex").slice(0,16).toUpperCase(),i=String(o?.projectDir??r.project_dir??"").trim(),a=String(o?.source??r.attribution_source??"unknown"),c=Number(o?.confidence??r.attribution_confidence??0),u=Number.isFinite(c)?Math.max(0,Math.min(1,c)):0,l=this.db.transaction(()=>{if(this.stmt(W.checkDuplicate).get(e,Bj,r.type,s))return;this.stmt(W.getEventCount).get(e).cnt>=qj&&this.stmt(W.evictLowestPriority).run(e),this.stmt(W.insertEvent).run(e,r.type,r.category,r.priority,r.data,i,a,u,n,s),this.stmt(W.updateMetaLastEvent).run(e)});this.withRetry(()=>l())}getEvents(e,r){let n=r?.limit??1e3,o=r?.type,s=r?.minPriority;return o&&s!==void 0?this.stmt(W.getEventsByTypeAndPriority).all(e,o,s,n):o?this.stmt(W.getEventsByType).all(e,o,n):s!==void 0?this.stmt(W.getEventsByPriority).all(e,s,n):this.stmt(W.getEvents).all(e,n)}getEventCount(e){return this.stmt(W.getEventCount).get(e).cnt}getLatestAttributedProjectDir(e){return this.stmt(W.getLatestAttributedProject).get(e)?.project_dir||null}searchEvents(e,r,n,o){try{let s=e.replace(/[%_]/g,a=>"\\"+a),i=o??null;return this.stmt(W.searchEvents).all(n,s,s,i,i,r)}catch{return[]}}ensureSession(e,r){this.stmt(W.ensureSession).run(e,r)}getSessionStats(e){return this.stmt(W.getSessionStats).get(e)??null}incrementCompactCount(e){this.stmt(W.incrementCompactCount).run(e)}upsertResume(e,r,n){this.stmt(W.upsertResume).run(e,r,n??0)}getResume(e){return this.stmt(W.getResume).get(e)??null}markResumeConsumed(e){this.stmt(W.markResumeConsumed).run(e)}deleteSession(e){this.db.transaction(()=>{this.stmt(W.deleteEvents).run(e),this.stmt(W.deleteResume).run(e),this.stmt(W.deleteMeta).run(e)})()}cleanupOldSessions(e=7){let r=`-${e}`,n=this.stmt(W.getOldSessions).all(r);for(let{session_id:o}of n)this.deleteSession(o);return n.length}}});import{existsSync as Hh,readFileSync as Vj,readdirSync as Wj,statSync as Lk}from"node:fs";import{join as bi}from"node:path";import{homedir as Gj}from"node:os";function Uk(t,e=5,r,n){let o=[],s=n||bi(Gj(),".claude"),i=[];if(r){let u=bi(r,"CLAUDE.md");Hh(u)&&i.push({path:u,label:"project/CLAUDE.md"})}let a=bi(s,"CLAUDE.md");Hh(a)&&i.push({path:a,label:"user/CLAUDE.md"});let c=bi(s,"memory");if(Hh(c))try{let u=Wj(c).filter(l=>l.endsWith(".md"));for(let l of u)i.push({path:bi(c,l),label:`memory/${l}`})}catch(u){Fk&&process.stderr.write(`[ctx] auto-memory dir scan failed: ${u}
464
+ `)}for(let u of i){if(o.length>=e)break;try{try{if(Lk(u.path).size>1e6)continue}catch{continue}let l=Vj(u.path,"utf-8"),d=l.toLowerCase();for(let m of t){if(o.length>=e)break;let p=m.toLowerCase().split(/\s+/).filter(g=>g.length>=3);if(p.some(g=>{try{return new RegExp(`\\b${g.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\b`,"i").test(l)}catch{return d.includes(g)}})){let g=p.reduce((B,H)=>{let J=d.indexOf(H);return J>=0&&(B<0||J<B)?J:B},-1),_=Math.max(0,g-200),y=Math.min(l.length,g+500),x=l.lastIndexOf(`
465
+
466
+ `,_),k=l.indexOf(`
467
+
468
+ `,y);x>=0&&(_=x+2),k>=0&&(y=k);let E=l.slice(_,y).trim();o.push({title:`[auto-memory] ${u.label}`,content:E,source:u.label,origin:"auto-memory",timestamp:Lk(u.path).mtime.toISOString()});break}}}catch(l){Fk&&process.stderr.write(`[ctx] auto-memory file read failed: ${l}
469
+ `)}}return o.slice(0,e)}var Fk,Zk=v(()=>{"use strict";Fk=process.env.DEBUG?.includes("context-mode")});function Hk(t){let{query:e,limit:r,store:n,sort:o="relevance",source:s,contentType:i,sessionDB:a,projectDir:c,configDir:u}=t,l=[],d=new Date().toISOString();try{let m=n.searchWithFallback(e,r,s,i);l.push(...m.map(f=>({title:f.title,content:f.content,source:f.source,origin:"current-session",timestamp:f.timestamp||d,rank:f.rank,matchLayer:f.matchLayer,highlighted:f.highlighted,contentType:f.contentType})))}catch(m){qh&&process.stderr.write(`[ctx] ContentStore search failed: ${m}
470
+ `)}if(o==="timeline"){try{if(a){let m=a.searchEvents(e,r,c||"",s);l.push(...m.map(f=>({title:`[${f.category}] ${f.type}`,content:f.data,source:"prior-session",origin:"prior-session",timestamp:f.created_at})))}}catch(m){qh&&process.stderr.write(`[ctx] SessionDB search failed: ${m}
471
+ `)}try{let m=Uk([e],r,c,u);l.push(...m)}catch(m){qh&&process.stderr.write(`[ctx] auto-memory search failed: ${m}
472
+ `)}}for(let m of l)m.timestamp&&!m.timestamp.includes("T")&&(m.timestamp=m.timestamp.replace(" ","T")+"Z");return o==="timeline"&&l.sort((m,f)=>(m.timestamp||"").localeCompare(f.timestamp||"")),l.slice(0,r)}var qh,qk=v(()=>{"use strict";Zk();qh=process.env.DEBUG?.includes("context-mode")});function Kj(t,e){let r=t.split(".").map(Number),n=e.split(".").map(Number);for(let o=0;o<3;o++){if((r[o]??0)>(n[o]??0))return!0;if((r[o]??0)<(n[o]??0))return!1}return!1}function Jo(t){return t>=1024*1024?`${(t/1024/1024).toFixed(1)} MB`:t>=1024?`${(t/1024).toFixed(1)} KB`:`${Math.round(t)} B`}function Yj(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 Wk(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Bh(t,e,r=40){if(e<=0)return"\u2591".repeat(r);let n=Math.max(1,Math.round(t/e*r));return"\u2588".repeat(Math.min(n,r))+"\u2591".repeat(Math.max(0,r-n))}function Vk(t){if(t.total_events===0)return[];let e=[];e.push("");let r=t.session_count===1?"1 session":`${t.session_count} sessions`;e.push(`${Wk(t.total_events)} events remembered across ${r} \u2014 searchable after compact & restart`),e.push("");let n=t.by_category.length>0?t.by_category[0].count:1;for(let o of t.by_category)e.push(` ${o.label.padEnd(18)} ${String(o.count).padStart(5)} ${Bh(o.count,n,30)}`);return e}function Xc(t,e,r){let n=[],o=Yj(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,c=s+i,u=c>0?s/c*100:0,l=Math.round(s/4);if(s===0){n.push(`context-mode ${o} ${a} calls`),n.push(""),a===0?n.push("No tool calls yet. Use batch_execute or execute to start saving tokens."):n.push(`${Jo(i)} entered context | 0 tokens saved`),n.push(...Vk(t.projectMemory)),n.push("");let p=e?`v${e}`:"context-mode";return n.push(p),e&&r&&r!=="unknown"&&Kj(r,e)&&n.push(`Update available: v${e} -> v${r} | ctx_upgrade`),n.join(`
473
+ `)}n.push(`${Wk(l)} tokens saved \xB7 ${u.toFixed(1)}% reduction \xB7 ${o}`),n.push(""),n.push(`Without context-mode |${Bh(c,c)}| ${Jo(c)}`),n.push(`With context-mode |${Bh(i,c)}| ${Jo(i)}`),n.push(""),n.push(`${Jo(s)} kept out of your conversation. Never entered context.`),n.push("");let d=[`${a} calls`];t.cache&&t.cache.hits>0&&d.push(`${t.cache.hits} cache hits (+${Jo(t.cache.bytes_saved)})`),n.push(d.join(" \xB7 "));let m=t.savings.by_tool.filter(p=>p.calls>0);if(m.length>=2){n.push("");let p=m.map(h=>{let g=h.context_kb*1024,_=u<100?g/(1-u/100):g,y=Math.max(0,_-g);return{...h,returnedBytes:g,estimatedSaved:y}}).sort((h,g)=>g.estimatedSaved-h.estimatedSaved);for(let h of p){let g=h.tool.length>22?h.tool.slice(0,19)+"...":h.tool;n.push(` ${g.padEnd(22)} ${String(h.calls).padStart(4)} calls ${Jo(h.estimatedSaved).padStart(8)} saved`)}}n.push(...Vk(t.projectMemory)),n.push("");let f=e?`v${e}`:"context-mode";return n.push(f),e&&r&&r!=="unknown"&&r!==e&&n.push(`Update available: v${e} -> v${r} | ctx_upgrade`),n.join(`
474
+ `)}var Bk,Jj,Yo,Gk=v(()=>{"use strict";Bk={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"},Jj={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"},Yo=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((F,_t)=>F+_t,0),s=Object.values(e.calls).reduce((F,_t)=>F+_t,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(F=>({tool:F,calls:e.calls[F]||0,context_kb:Math.round((e.bytesReturned[F]||0)/1024*10)/10,tokens:Math.round((e.bytesReturned[F]||0)/4)})),f=((Date.now()-e.sessionStart)/6e4).toFixed(1),p;if(e.cacheHits>0||e.cacheBytesSaved>0){let F=a+e.cacheBytesSaved,_t=F/Math.max(o,1),ze=Math.max(0,24-Math.floor((Date.now()-e.sessionStart)/(3600*1e3)));p={hits:e.cacheHits,bytes_saved:e.cacheBytesSaved,ttl_hours_left:ze,total_with_cache:F,total_savings_ratio:_t}}let h=this.db.prepare("SELECT COUNT(*) as cnt FROM session_events WHERE session_id = ?").get(n).cnt,g=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events WHERE session_id = ? GROUP BY category ORDER BY cnt DESC").all(n),y=this.db.prepare("SELECT compact_count FROM session_meta WHERE session_id = ?").get(n)?.compact_count??0,x=this.db.prepare("SELECT event_count, consumed FROM session_resume WHERE session_id = ? ORDER BY created_at DESC LIMIT 1").get(n),k=x?!x.consumed:!1,E=this.db.prepare("SELECT category, type, data FROM session_events WHERE session_id = ? ORDER BY id DESC").all(n),B=new Map;for(let F of E){B.has(F.category)||B.set(F.category,new Set);let _t=B.get(F.category);if(_t.size<5){let ze=F.data;F.category==="file"?ze=F.data.split("/").pop()||F.data:(F.category==="prompt"||F.category==="user-prompt")&&(ze=ze.length>50?ze.slice(0,47)+"...":ze),ze.length>40&&(ze=ze.slice(0,37)+"..."),_t.add(ze)}}let H=g.map(F=>({category:F.category,count:F.cnt,label:Bk[F.category]||F.category,preview:B.get(F.category)?Array.from(B.get(F.category)).join(", "):"",why:Jj[F.category]||"Survives context resets"})),J=this.db.prepare("SELECT COUNT(*) as cnt, COUNT(DISTINCT session_id) as sessions FROM session_events").get(),Ze=this.db.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all().filter(F=>F.cnt>0).map(F=>({category:F.category,count:F.cnt,label:Bk[F.category]||F.category}));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:f},continuity:{total_events:h,by_category:H,compact_count:y,resume_ready:k},projectMemory:{total_events:J.cnt,session_count:J.sessions,by_category:Ze}}}}});var cw={};Me(cw,{extractSnippet:()=>eg,formatBatchQueryResults:()=>iw,positionsFromHighlight:()=>sw});import{createRequire as tw}from"node:module";import{createHash as Xj}from"node:crypto";import{existsSync as Oe,unlinkSync as Pr,readdirSync as Qj,readFileSync as Jh,writeFileSync as rw,rmSync as tu,mkdirSync as su,cpSync as eD,statSync as Kk,symlinkSync as tD,lstatSync as rD}from"node:fs";import{execSync as Ut}from"node:child_process";import{join as me,dirname as er,resolve as St,sep as nD}from"node:path";import{fileURLToPath as oD}from"node:url";import{homedir as Qo,tmpdir as Yh}from"node:os";import{request as sD}from"node:https";function iD(t){try{let e=Or();if(!Oe(e))return;let r=Qj(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=me(e,n);try{t.index({path:o,source:"session-events"}),Pr(o)}catch{}}}catch{}}function Or(){if(ru)return ru.getSessionDir();let t=me(Qo(),".claude","context-mode","sessions");return su(t,{recursive:!0}),t}function nw(){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 ki(){let e=nw().replace(/\\/g,"/");return Xj("sha256").update(e).digest("hex").slice(0,16)}function Kh(){let t=ki(),e=Or(),r=me(er(e),"content");return su(r,{recursive:!0}),me(r,`${t}.db`)}function Kn(){if(!hr){let t=Kh();hr=new Jc(t);try{let e=er(Kh());Dh(e,14),hr.cleanupStaleSources(14);let r=me(Qo(),".context-mode","content");Oe(r)&&Dh(r,0)}catch{}jh()}return iD(hr),hr}async function uD(){return new Promise(t=>{let e=sD("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 lD(){let t=ru?.name;return t==="Claude Code"?"/ctx-upgrade":t==="OpenClaw"?"npm run install:openclaw":t==="Pi"?"npm run build":"npm update -g context-mode"}function dD(t,e){let r=t.split(".").map(Number),n=e.split(".").map(Number);for(let o=0;o<3;o++){if((r[o]??0)>(n[o]??0))return!0;if((r[o]??0)<(n[o]??0))return!1}return!1}function pD(){return!on||on==="unknown"?!1:dD(on,nn)}function mD(){if(!pD())return!1;let t=Date.now();if(Qc>=aD){if(t-Jk<cD)return!1;Qc=0}return Qc===0&&(Jk=t),Qc++,!0}function fD(){if(!Yk){Yk=!0;try{let t=St(Qo(),".claude","plugins","installed_plugins.json");if(!Oe(t))return;let e=JSON.parse(Jh(t,"utf-8")),r=St(Qo(),".claude","plugins","cache"),n=Oe(St(bt,"package.json"))?bt:er(bt);for(let[o,s]of Object.entries(e.plugins??{}))if(o==="context-mode@context-mode")for(let i of s){let a=i.installPath;if(!a||Oe(a)||!St(a).startsWith(r+nD))continue;try{rD(a).isSymbolicLink()&&Pr(a)}catch{}let c=er(a);Oe(c)||su(c,{recursive:!0}),Oe(n)&&tD(n,a,process.platform==="win32"?"junction":void 0)}}catch{}}}function Z(t,e){if(fD(),mD()&&e.content.length>0){let n=lD();e.content[0].text=`\u26A0\uFE0F context-mode v${nn} outdated \u2192 v${on} available. Upgrade: ${n}
475
+
476
+ `+e.content[0].text}let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return De.calls[t]=(De.calls[t]||0)+1,De.bytesReturned[t]=(De.bytesReturned[t]||0)+r,e}function tr(t){De.bytesIndexed+=t}function Qh(t,e){try{let r=Lh(process.env.CLAUDE_PROJECT_DIR),n=Fh(t,r);if(n.decision==="deny")return Z(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function ow(t,e,r){try{let n=Ik(t,e);if(n.length===0)return null;let o=Lh(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Fh(s,o);if(i.decision==="deny")return Z(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 hD(t,e){try{let r=process.env.CLAUDE_PROJECT_DIR??process.cwd(),n=Ok("Read",r),o=Ck(t,n,process.platform==="win32",r);if(o.denied)return Z(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${o.matchedPattern}`}],isError:!0})}catch{}return null}function sw(t){let e=[],r=0,n=0;for(;n<t.length;)if(t[n]===yD){for(e.push(r),n++;n<t.length&&t[n]!==xD;)r++,n++;n<t.length&&n++}else r++,n++;return e}function eg(t,e,r=1500,n){if(t.length<=r)return t;let o=[];if(n)for(let u of sw(n))o.push(u);if(o.length===0){let u=e.toLowerCase().split(/\s+/).filter(d=>d.length>2),l=t.toLowerCase();for(let d of u){let 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)+`
344
477
  \u2026`;o.sort((u,l)=>u-l);let s=300,i=[];for(let u of o){let l=Math.max(0,u-s),d=Math.min(t.length,u+s);i.length>0&&l<=i[i.length-1][1]?i[i.length-1][1]=d:i.push([l,d])}let a=[],c=0;for(let[u,l]of i){if(c>=r)break;let d=t.slice(u,Math.min(l,u+(r-c)));a.push((u>0?"\u2026":"")+d+(l<t.length?"\u2026":"")),c+=d.length}return a.join(`
345
478
 
346
- `)}function Vk(t,e,r,n=80*1024){let o=[],s=0;for(let i of e){if(s>n){o.push(`## ${i}
347
- (output cap reached \u2014 use search(queries: ["${i}"]) for details)
348
- `);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=Kh(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 Wk(t,e){let r=Wn();er(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}
349
- Use search(queries: ["..."]) to query this content. Use source: "${n.label}" to scope results.`}]}}function Jo(t,e,r,n=5){let o=t.split(`
350
- `).length,s=Buffer.byteLength(t),i=Wn(),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(`
479
+ `)}function iw(t,e,r,n=80*1024){let o=[],s=0;for(let i of e){if(s>n){o.push(`## ${i}
480
+ (output cap reached \u2014 use ctx_search(queries: ["${i}"]) for details)
481
+ `);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=eg(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 aw(t,e){let r=Kn();tr(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}
482
+ Use ctx_search(queries: ["..."]) to query this content. Use source: "${n.label}" to scope results.`}]}}function Xo(t,e,r,n=5){let o=t.split(`
483
+ `).length,s=Buffer.byteLength(t),i=Kn(),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 ctx_search(queries: [...]) to explore the indexed content."),d.join(`
351
484
  `)}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(`
352
- `)[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(`
353
- `)}function Jh(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function nM(t){let e=Jh(t);return Array.isArray(e)?e.map((r,n)=>typeof r=="string"?{label:`cmd_${n+1}`,command:r}:r):e}function oM(){return Zh||(Zh=Zk(import.meta.url).resolve("turndown")),Zh}function sM(){return Hh||(Hh=Zk(import.meta.url).resolve("turndown-plugin-gfm")),Hh}function iM(t,e){let r=JSON.stringify(oM()),n=JSON.stringify(sM()),o=JSON.stringify(e);return`
485
+ `)[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 ctx_search(queries: [...]) to retrieve full content of any section."),l.join(`
486
+ `)}function tg(t){if(typeof t=="string")try{let e=JSON.parse(t);if(Array.isArray(e))return e}catch{}return t}function SD(t){let e=tg(t);return Array.isArray(e)?e.map((r,n)=>typeof r=="string"?{label:`cmd_${n+1}`,command:r}:r):e}function bD(){return Wh||(Wh=tw(import.meta.url).resolve("turndown")),Wh}function kD(){return Gh||(Gh=tw(import.meta.url).resolve("turndown-plugin-gfm")),Gh}function wD(t,e){let r=JSON.stringify(bD()),n=JSON.stringify(kD()),o=JSON.stringify(e);return`
354
487
  const TurndownService = require(${r});
355
488
  const { gfm } = require(${n});
356
489
  const fs = require('fs');
@@ -396,20 +529,20 @@ async function main() {
396
529
  emit('text', text);
397
530
  }
398
531
  main();
399
- `}function Uk(){return{prepare:()=>({run:()=>{},get:(...t)=>({cnt:0,compact_count:0,minutes:null,rate:0,avg:0,outcome:"exploratory"}),all:()=>[]})}}async function aM(){let t=Ah();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=process.platform==="win32"?Vh():"/tmp",r=_e(e,`context-mode-mcp-ready-${process.pid}`),n=()=>{yi.cleanupBackgrounded(),fr&&fr.close();try{Tr(Wh)}catch{}try{Tr(r)}catch{}if(Pr&&Pr.pid&&!Pr.killed)try{Pr.kill("SIGTERM")}catch{}},o=async()=>{n(),process.exit(0)};process.on("exit",n),process.on("SIGINT",()=>{o()}),process.on("SIGTERM",()=>{o()}),Rk({onShutdown:()=>o()});let s=new Dc;await Ke.connect(s);try{Hk(r,String(process.pid))}catch{}try{let{detectPlatform:i,getAdapter:a}=await Promise.resolve().then(()=>(nl(),O_)),c=Ke.server.getClientVersion(),u=i(c??void 0);Yc=await a(u.platform),c&&console.error(`MCP client: ${c.name} v${c.version} \u2192 ${u.platform}`)}catch{}Bj().then(i=>{i!=="unknown"&&(nn=i)}),console.error(`Context Mode MCP server v${tn} running on stdio`),console.error(`Detected runtimes:
400
- ${Oi(ru)}`),Jn()||(console.error(`
401
- Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}var bt,tn,ru,Kc,Ke,yi,Wh,fr,Yc,Pr,je,nn,Gc,Mk,Hj,qj,Dk,Xj,Qj,eM,tM,Qc,eu,Vn,Uh,rM,Lk,Fk,Zh,Hh,Kk=v(()=>{"use strict";XS();rk();$h();Ph();xk();Tk();Ii();Pk();Ok();Ck();gi();zk();wo();bt=Qt(Lj(import.meta.url)),tn=(()=>{for(let t of["../package.json","./package.json"]){let e=vt(bt,t);if(Ie(e))try{return JSON.parse(Bh(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t}
532
+ `}function ew(){return{prepare:()=>({run:()=>{},get:(...t)=>({cnt:0,compact_count:0,minutes:null,rate:0,avg:0,outcome:"exploratory"}),all:()=>[]})}}async function $D(){let t=jh();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=process.platform==="win32"?Yh():"/tmp",r=me(e,`context-mode-mcp-ready-${process.pid}`),n=()=>{wi.cleanupBackgrounded(),hr&&hr.close();try{Pr(Xh)}catch{}try{Pr(r)}catch{}if(Rr&&Rr.pid&&!Rr.killed)try{Rr.kill("SIGTERM")}catch{}},o=async()=>{n(),process.exit(0)};process.on("exit",n),process.on("SIGINT",()=>{o()}),process.on("SIGTERM",()=>{o()}),zk({onShutdown:()=>o()});let s=new Hc;await Je.connect(s);try{rw(r,String(process.pid))}catch{}try{let{detectPlatform:i,getAdapter:a}=await Promise.resolve().then(()=>(al(),z_)),c=Je.server.getClientVersion(),u=i(c??void 0);ru=await a(u.platform),c&&console.error(`MCP client: ${c.name} v${c.version} \u2192 ${u.platform}`)}catch{}uD().then(i=>{i!=="unknown"&&(on=i)}),console.error(`Context Mode MCP server v${nn} running on stdio`),console.error(`Detected runtimes:
533
+ ${ji(iu)}`),Xn()||(console.error(`
534
+ Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}var bt,nn,iu,eu,Je,wi,Xh,hr,ru,Rr,De,on,Qc,Jk,aD,cD,Yk,gD,_D,yD,xD,nu,ou,Gn,Vh,vD,Xk,Qk,Wh,Gh,uw=v(()=>{"use strict";sk();uk();Th();Oh();$k();Ak();Mi();Nk();jk();Mk();qk();Si();Gk();zn();bt=er(oD(import.meta.url)),nn=(()=>{for(let t of["../package.json","./package.json"]){let e=St(bt,t);if(Oe(e))try{return JSON.parse(Jh(e,"utf8")).version}catch{}}return"unknown"})();process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t}
402
535
  `)});process.on("uncaughtException",t=>{process.stderr.write(`[context-mode] uncaughtException: ${t?.message??t}
403
- `)});ru=Kn(),Kc=Ci(ru),Ke=new jc({name:"context-mode",version:tn});Ke.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});Ke.server.setRequestHandler(So,async()=>({prompts:[]}));Ke.server.setRequestHandler(vo,async()=>({resources:[]}));Ke.server.setRequestHandler(bo,async()=>({resourceTemplates:[]}));yi=new Zo({runtimes:ru,projectRoot:process.env.CLAUDE_PROJECT_DIR}),Wh=_e(Vh(),`cm-fs-preload-${process.pid}.js`);Hk(Wh,`(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){}})();
404
- `);fr=null;Yc=null,Pr=null;je={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},nn=null,Gc=0,Mk=0,Hj=3,qj=3600*1e3;Dk=!1;Xj=Kc.join(", "),Qj=Jn()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",eM="",tM="";Ke.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.${Qj} Available: ${Xj}.
536
+ `)});iu=Yn(),eu=Di(iu),Je=new Uc({name:"context-mode",version:nn});Je.server.registerCapabilities({prompts:{listChanged:!1},resources:{listChanged:!1}});Je.server.setRequestHandler(wo,async()=>({prompts:[]}));Je.server.setRequestHandler(bo,async()=>({resources:[]}));Je.server.setRequestHandler(ko,async()=>({resourceTemplates:[]}));wi=new qo({runtimes:iu,projectRoot:process.env.CLAUDE_PROJECT_DIR}),Xh=me(Yh(),`cm-fs-preload-${process.pid}.js`);rw(Xh,`(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){}})();
537
+ `);hr=null;ru=null,Rr=null;De={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,cacheHits:0,cacheBytesSaved:0,sessionStart:Date.now()},on=null,Qc=0,Jk=0,aD=3,cD=3600*1e3;Yk=!1;gD=eu.join(", "),_D=Xn()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",yD="",xD="";Je.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.${_D} Available: ${gD}.
405
538
 
406
539
  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.
407
540
 
408
541
  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.
409
542
 
410
- When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,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'.
543
+ When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,inputSchema:q.object({language:q.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:q.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:q.coerce.number().optional().default(3e4).describe("Max execution time in ms"),background:q.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:q.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 ctx_search(queries: [...]) to retrieve specific sections. Example: 'failing tests', 'HTTP 500 errors'.
411
544
 
412
- 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=Gh(e,"execute");if(s)return s}else{let s=qk(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=`
545
+ 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=Qh(e,"execute");if(s)return s}else{let s=ow(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=`
413
546
  // FS read instrumentation \u2014 count bytes read via fs.readFileSync/readFile
414
547
  let __cm_fs=0;
415
548
  process.on('exit',()=>{if(__cm_fs>0)try{process.stderr.write('__CM_FS__:'+__cm_fs+'\\n')}catch{}});
@@ -468,20 +601,20 @@ ${e}
468
601
  }
469
602
  __cm_main().catch(e=>{console.error(e);process.exitCode=1});${n?`
470
603
  setInterval(()=>{},2147483647);`:""}
471
- })(typeof require!=='undefined'?require:null);`);let i=await yi.execute({language:t,code:s,timeout:r,background:n}),a=i.stderr?.match(/__CM_NET__:(\d+)/);a&&(je.bytesSandboxed+=parseInt(a[1]),i.stderr=i.stderr.replace(/\n?__CM_NET__:\d+\n?/g,""));let c=i.stderr?.match(/__CM_FS__:(\d+)/);if(c&&(je.bytesSandboxed+=parseInt(c[1]),i.stderr=i.stderr.replace(/\n?__CM_FS__:\d+\n?/g,"")),i.timedOut){let l=i.stdout?.trim();return i.backgrounded&&l?Z("ctx_execute",{content:[{type:"text",text:`${l}
604
+ })(typeof require!=='undefined'?require:null);`);let i=await wi.execute({language:t,code:s,timeout:r,background:n}),a=i.stderr?.match(/__CM_NET__:(\d+)/);a&&(De.bytesSandboxed+=parseInt(a[1]),i.stderr=i.stderr.replace(/\n?__CM_NET__:\d+\n?/g,""));let c=i.stderr?.match(/__CM_FS__:(\d+)/);if(c&&(De.bytesSandboxed+=parseInt(c[1]),i.stderr=i.stderr.replace(/\n?__CM_FS__:\d+\n?/g,"")),i.timedOut){let l=i.stdout?.trim();return i.backgrounded&&l?Z("ctx_execute",{content:[{type:"text",text:`${l}
472
605
 
473
606
  _(process backgrounded after ${r}ms \u2014 still running)_`}]}):l?Z("ctx_execute",{content:[{type:"text",text:`${l}
474
607
 
475
608
  _(timed out after ${r}ms \u2014 partial output shown above)_`}]}):Z("ctx_execute",{content:[{type:"text",text:`Execution timed out after ${r}ms
476
609
 
477
610
  stderr:
478
- ${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Dh({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>Qc?(er(Buffer.byteLength(d)),Z("ctx_execute",{content:[{type:"text",text:Jo(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>eu?(er(Buffer.byteLength(d)),Z("ctx_execute",{content:[{type:"text",text:Jo(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Z("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>Qc?(er(Buffer.byteLength(u)),Z("ctx_execute",{content:[{type:"text",text:Jo(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>eu?Z("ctx_execute",Wk(u,`execute:${t}`)):Z("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return Z("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});Qc=5e3,eu=102400;Ke.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.
611
+ ${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:l,output:d}=Uh({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(d)>nu?(tr(Buffer.byteLength(d)),Z("ctx_execute",{content:[{type:"text",text:Xo(d,o,l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Buffer.byteLength(d)>ou?(tr(Buffer.byteLength(d)),Z("ctx_execute",{content:[{type:"text",text:Xo(d,"errors failures exceptions",l?`execute:${t}:error`:`execute:${t}`)}],isError:l})):Z("ctx_execute",{content:[{type:"text",text:d}],isError:l})}let u=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(u)>nu?(tr(Buffer.byteLength(u)),Z("ctx_execute",{content:[{type:"text",text:Xo(u,o,`execute:${t}`)}]})):Buffer.byteLength(u)>ou?Z("ctx_execute",aw(u,`execute:${t}`)):Z("ctx_execute",{content:[{type:"text",text:u}]})}catch(s){let i=s instanceof Error?s.message:String(s);return Z("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});nu=5e3,ou=102400;Je.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.
479
612
 
480
613
  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.
481
614
 
482
615
  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.
483
616
 
484
- When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,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=Yj(t,"execute_file");if(s)return s;if(e==="shell"){let i=Gh(r,"execute_file");if(i)return i}else{let i=qk(r,e,"execute_file");if(i)return i}try{let i=await yi.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return Z("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}=Dh({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>Qc?(er(Buffer.byteLength(u)),Z("ctx_execute_file",{content:[{type:"text",text:Jo(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>eu?(er(Buffer.byteLength(u)),Z("ctx_execute_file",{content:[{type:"text",text:Jo(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):Z("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)>Qc?(er(Buffer.byteLength(a)),Z("ctx_execute_file",{content:[{type:"text",text:Jo(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>eu?Z("ctx_execute_file",Wk(a,`file:${t}`)):Z("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return Z("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});Ke.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.
617
+ When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,inputSchema:q.object({path:q.string().describe("Absolute file path or relative to project root"),language:q.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:q.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:q.coerce.number().optional().default(3e4).describe("Max execution time in ms"),intent:q.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=hD(t,"execute_file");if(s)return s;if(e==="shell"){let i=Qh(r,"execute_file");if(i)return i}else{let i=ow(r,e,"execute_file");if(i)return i}try{let i=await wi.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return Z("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}=Uh({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>nu?(tr(Buffer.byteLength(u)),Z("ctx_execute_file",{content:[{type:"text",text:Xo(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):Buffer.byteLength(u)>ou?(tr(Buffer.byteLength(u)),Z("ctx_execute_file",{content:[{type:"text",text:Xo(u,"errors failures exceptions",c?`file:${t}:error`:`file:${t}`)}],isError:c})):Z("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)>nu?(tr(Buffer.byteLength(a)),Z("ctx_execute_file",{content:[{type:"text",text:Xo(a,o,`file:${t}`)}]})):Buffer.byteLength(a)>ou?Z("ctx_execute_file",aw(a,`file:${t}`)):Z("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return Z("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});Je.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.
485
618
 
486
619
  WHEN TO USE:
487
620
  - Documentation from Context7, Skills, or MCP tools (API docs, framework guides, code examples)
@@ -491,119 +624,121 @@ WHEN TO USE:
491
624
  - README files, migration guides, changelog entries
492
625
  - Any content with code examples you may need to reference precisely
493
626
 
494
- After indexing, use 'search' to retrieve specific sections on-demand.
627
+ After indexing, use 'ctx_search' to retrieve specific sections on-demand.
495
628
  When \`path\` is provided, a content hash is stored for automatic stale detection in search results.
496
- 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 Z("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)er(Buffer.byteLength(t));else if(e)try{let s=await import("fs");er(s.readFileSync(e).byteLength)}catch{}let o=Wn().index({content:t,path:e,source:r});return Z("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label}
497
- 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 Z("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});Vn=0,Uh=Date.now(),rM=6e4,Lk=3,Fk=8;Ke.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. File-backed sources are auto-refreshed when the source file changes.
629
+ Do NOT use for: log files, test output, CSV, build output \u2014 use 'ctx_execute_file' for those.`,inputSchema:q.object({content:q.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:q.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:q.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 Z("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)tr(Buffer.byteLength(t));else if(e)try{let s=await import("fs");tr(s.readFileSync(e).byteLength)}catch{}let o=Kn().index({content:t,path:e,source:r});return Z("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label}
630
+ Use ctx_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 Z("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});Gn=0,Vh=Date.now(),vD=6e4,Xk=3,Qk=8;Je.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. File-backed sources are auto-refreshed when the source file changes.
498
631
 
499
632
  TIPS: 2-4 specific terms per query. Use 'source' to scope results.
500
633
 
501
- When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,inputSchema:H.object({queries:H.preprocess(Jh,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=Wn();if(e.getStats().chunks===0)return Z("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet.
634
+ SESSION STATE: If skills, roles, or decisions were set earlier in this conversation, they are still active. Do not discard or contradict them.
635
+
636
+ When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,inputSchema:q.object({queries:q.preprocess(tg,q.array(q.string()).optional().describe("Array of search queries. Batch ALL questions in one call.")),limit:q.number().optional().default(3).describe("Results per query (default: 3)"),source:q.string().optional().describe("Filter to a specific indexed source (partial match)."),contentType:q.enum(["code","prose"]).optional().describe("Filter results by content type: 'code' or 'prose'."),sort:q.enum(["relevance","timeline"]).optional().default("relevance").describe("Sort mode. 'relevance' (default): BM25 ranked, current session only. 'timeline': chronological across current session, prior sessions, and auto-memory.")})},async t=>{try{let e=Kn(),r=t.sort||"relevance";if(r!=="timeline"&&e.getStats().chunks===0)return Z("ctx_search",{content:[{type:"text",text:`Knowledge base is empty \u2014 no content has been indexed yet.
502
637
 
503
638
  ctx_search is a follow-up tool that queries previously indexed content. To gather and index content first, use:
504
639
  \u2022 ctx_batch_execute(commands, queries) \u2014 run commands, auto-index output, and search in one call
505
640
  \u2022 ctx_fetch_and_index(url) \u2014 fetch a URL, index it, then search with ctx_search
506
641
  \u2022 ctx_index(content, source) \u2014 manually index text content
507
642
 
508
- 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 Z("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-Uh>rM&&(Vn=0,Uh=a),Vn++,Vn>Fk)return Z("ctx_search",{content:[{type:"text",text:`BLOCKED: ${Vn} search calls in ${Math.round((a-Uh)/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=Vn>Lk?1:Math.min(o,2),u=40*1024,l=0,d=[];for(let h of n){if(l>u){d.push(`## ${h}
643
+ After indexing, ctx_search becomes available for follow-up queries.`}],isError:!0});let n=t,o=[];if(Array.isArray(n.queries)&&n.queries.length>0?o.push(...n.queries):typeof n.query=="string"&&n.query.length>0&&o.push(n.query),o.length===0)return Z("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:s=3,source:i,contentType:a}=t,c=Date.now();if(c-Vh>vD&&(Gn=0,Vh=c),Gn++,Gn>Qk)return Z("ctx_search",{content:[{type:"text",text:`BLOCKED: ${Gn} search calls in ${Math.round((c-Vh)/1e3)}s. You're flooding context. STOP making individual search calls. Use ctx_batch_execute(commands, queries) for your next research step.`}],isError:!0});let u=Gn>Xk?1:Math.min(s,2),l=40*1024,d=0,m=[],f=null;if(r==="timeline")try{let g=Or(),_=me(g,`${ki()}.db`);Oe(_)&&(f=new Yc({dbPath:_}))}catch{}let p=process.env.CLAUDE_CONFIG_DIR||me(Qo(),".claude");try{for(let g of o){if(d>l){m.push(`## ${g}
509
644
  (output cap reached)
510
- `);continue}let p=e.searchWithFallback(h,c,s,i);if(p.length===0){d.push(`## ${h}
511
- No results found.`);continue}let f=p.map((g,_)=>{let y=`--- [${g.source}] ---`,x=`### ${g.title}`,k=Kh(g.content,h,1500,g.highlighted);return`${y}
512
- ${x}
645
+ `);continue}let _;if(r==="timeline"?_=Hk({query:g,limit:u,store:e,sort:r,source:i,contentType:a,sessionDB:f,projectDir:nw(),configDir:p}):_=e.searchWithFallback(g,u,i,a),_.length===0){m.push(`## ${g}
646
+ No results found.`);continue}let y=_.map((x,k)=>{let E=x.origin||"current-session",B=x.timestamp?x.timestamp.slice(0,16).replace("T"," "):"",H=`--- [${E}${B?" | "+B:""} | ${x.source}] ---`,J=`### ${x.title}`,tt=eg(x.content,g,1500,x.highlighted);return`${H}
647
+ ${J}
513
648
 
514
- ${k}`}).join(`
649
+ ${tt}`}).join(`
515
650
 
516
- `);d.push(`## ${h}
651
+ `);m.push(`## ${g}
517
652
 
518
- ${f}`),l+=f.length}let m=d.join(`
653
+ ${y}`),d+=y.length}}finally{try{f?.close()}catch{}}let h=m.join(`
519
654
 
520
655
  ---
521
656
 
522
- `);if(e.lastRefreshCount>0&&(m=`> Auto-refreshed ${e.lastRefreshCount} stale source${e.lastRefreshCount>1?"s":""} (file changed since indexing).
657
+ `);if(e.lastRefreshCount>0&&(h=`> Auto-refreshed ${e.lastRefreshCount} stale source${e.lastRefreshCount>1?"s":""} (file changed since indexing).
523
658
 
524
- `+m),Vn>=Lk&&(m+=`
659
+ `+h),Gn>=Xk&&(h+=`
525
660
 
526
- \u26A0 search call #${Vn}/${Fk} 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?`
527
- Indexed sources: ${h.map(f=>`"${f.label}" (${f.chunkCount} sections)`).join(", ")}`:"";return Z("ctx_search",{content:[{type:"text",text:`No results found.${p}`}]})}return Z("ctx_search",{content:[{type:"text",text:m}]})}catch(e){let r=e instanceof Error?e.message:String(e);return Z("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});Zh=null,Hh=null;Ke.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.
661
+ \u26A0 search call #${Gn}/${Qk} in this window. Results limited to ${u}/query. Batch queries: ctx_search(queries: ["q1","q2","q3"]) or use ctx_batch_execute.`),h.trim().length===0){let g=e.listSources(),_=g.length>0?`
662
+ Indexed sources: ${g.map(y=>`"${y.label}" (${y.chunkCount} sections)`).join(", ")}`:"";return Z("ctx_search",{content:[{type:"text",text:`No results found.${_}`}]})}return Z("ctx_search",{content:[{type:"text",text:h}]})}catch(e){let r=e instanceof Error?e.message:String(e);return Z("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});Wh=null,Gh=null;Je.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 ctx_search() for deeper lookups.
528
663
 
529
664
  Better than WebFetch: preview is immediate, full content is searchable, raw HTML never enters context.
530
665
 
531
666
  Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, plain text is indexed directly.
532
667
 
533
- When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,inputSchema:H.object({url:H.string().describe("The URL to fetch and index"),source:H.string().optional().describe("Label for the indexed content (e.g., 'React useEffect docs', 'Supabase Auth API')"),force:H.boolean().optional().describe("Skip cache and re-fetch even if content was recently indexed")})},async({url:t,source:e,force:r})=>{if(!r){let o=Wn(),s=e??t,i=o.getSourceMeta(s);if(i){let a=new Date(i.indexedAt+"Z"),c=Date.now()-a.getTime(),u=1440*60*1e3;if(c<u){let l=Math.floor(c/36e5),d=Math.floor(c/(60*1e3)),m=l>0?`${l}h ago`:d>0?`${d}m ago`:"just now",h=i.chunkCount*1600;return je.cacheHits++,je.cacheBytesSaved+=h,Z("ctx_fetch_and_index",{content:[{type:"text",text:`Cached: **${i.label}** \u2014 ${i.chunkCount} sections, indexed ${m} (fresh, TTL: 24h).
668
+ When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,inputSchema:q.object({url:q.string().describe("The URL to fetch and index"),source:q.string().optional().describe("Label for the indexed content (e.g., 'React useEffect docs', 'Supabase Auth API')"),force:q.boolean().optional().describe("Skip cache and re-fetch even if content was recently indexed")})},async({url:t,source:e,force:r})=>{if(!r){let o=Kn(),s=e??t,i=o.getSourceMeta(s);if(i){let a=new Date(i.indexedAt+"Z"),c=Date.now()-a.getTime(),u=1440*60*1e3;if(c<u){let l=Math.floor(c/36e5),d=Math.floor(c/(60*1e3)),m=l>0?`${l}h ago`:d>0?`${d}m ago`:"just now",f=i.chunkCount*1600;return De.cacheHits++,De.cacheBytesSaved+=f,Z("ctx_fetch_and_index",{content:[{type:"text",text:`Cached: **${i.label}** \u2014 ${i.chunkCount} sections, indexed ${m} (fresh, TTL: 24h).
534
669
  To refresh: call ctx_fetch_and_index again with \`force: true\`.
535
670
 
536
- You MUST call search() to answer questions about this content \u2014 this cached response contains no content.
537
- Use: search(queries: [...], source: "${i.label}")`}]})}}}let n=_e(Vh(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=iM(t,n),s=await yi.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return Z("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=Wn(),a=(s.stdout||"").trim(),c;try{c=Bh(n,"utf-8").trim()}catch{return Z("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return Z("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});er(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)+`
671
+ You MUST call ctx_search() to answer questions about this content \u2014 this cached response contains no content.
672
+ Use: ctx_search(queries: [...], source: "${i.label}")`}]})}}}let n=me(Yh(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let o=wD(t,n),s=await wi.execute({language:"javascript",code:o,timeout:3e4});if(s.exitCode!==0)return Z("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${s.stderr||s.stdout}`}],isError:!0});let i=Kn(),a=(s.stdout||"").trim(),c;try{c=Jh(n,"utf-8").trim()}catch{return Z("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(c.length===0)return Z("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});tr(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)+`
538
673
 
539
- \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(`
540
- `);return Z("ctx_fetch_and_index",{content:[{type:"text",text:h}]})}catch(o){let s=o instanceof Error?o.message:String(o);return Z("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{Jc(n)}catch{}}});Ke.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.
674
+ \u2026[truncated \u2014 use ctx_search() for full content]`:c,m=(Buffer.byteLength(c)/1024).toFixed(1),f=[`Fetched and indexed **${u.totalChunks} sections** (${m}KB) from: ${u.label}`,`Full content indexed in sandbox \u2014 use ctx_search(queries: [...], source: "${u.label}") for specific lookups.`,"","---","",d].join(`
675
+ `);return Z("ctx_fetch_and_index",{content:[{type:"text",text:f}]})}catch(o){let s=o instanceof Error?o.message:String(o);return Z("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${s}`}],isError:!0})}finally{try{tu(n)}catch{}}});Je.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.
541
676
 
542
- THIS IS THE PRIMARY TOOL. Use this instead of multiple execute() calls.
677
+ THIS IS THE PRIMARY TOOL. Use this instead of multiple ctx_execute() calls.
543
678
 
544
- One batch_execute call replaces 30+ execute calls + 10+ search calls.
679
+ One ctx_batch_execute call replaces 30+ ctx_execute calls + 10+ ctx_search calls.
545
680
  Provide all commands to run and all queries to search \u2014 everything happens in one round trip.
546
681
 
547
682
  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.
548
683
 
549
- When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,inputSchema:H.object({commands:H.preprocess(nM,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(Jh,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=Gh(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1,i=`NODE_OPTIONS="--require ${Wh}" `;for(let x of t){let k=Date.now()-o,T=r-k;if(T<=0){n.push(`# ${x.label}
684
+ When reporting results \u2014 terse like caveman. Technical substance exact. Only fluff die. Pattern: [thing] [action] [reason]. [next step].`,inputSchema:q.object({commands:q.preprocess(SD,q.array(q.object({label:q.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:q.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:q.preprocess(tg,q.array(q.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:q.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=Qh(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1,i=`NODE_OPTIONS="--require ${Xh}" `;for(let x of t){let k=Date.now()-o,E=r-k;if(E<=0){n.push(`# ${x.label}
550
685
 
551
686
  (skipped \u2014 batch timeout exceeded)
552
- `),s=!0;continue}let J=await yi.execute({language:"shell",code:`${i}${x.command} 2>&1`,timeout:T}),B=J.stdout||"(no output)",oe=B.matchAll(/__CM_FS__:(\d+)/g),ht=0;for(let Fe of oe)ht+=parseInt(Fe[1]);if(ht>0&&(je.bytesSandboxed+=ht,B=B.replace(/__CM_FS__:\d+\n?/g,"")),n.push(`# ${x.label}
687
+ `),s=!0;continue}let B=await wi.execute({language:"shell",code:`${i}${x.command} 2>&1`,timeout:E}),H=B.stdout||"(no output)",J=H.matchAll(/__CM_FS__:(\d+)/g),tt=0;for(let Ze of J)tt+=parseInt(Ze[1]);if(tt>0&&(De.bytesSandboxed+=tt,H=H.replace(/__CM_FS__:\d+\n?/g,"")),n.push(`# ${x.label}
553
688
 
554
- ${B}
555
- `),J.timedOut){s=!0;let Fe=t.indexOf(x);for(let F=Fe+1;F<t.length;F++)n.push(`# ${t[F].label}
689
+ ${H}
690
+ `),B.timedOut){s=!0;let Ze=t.indexOf(x);for(let F=Ze+1;F<t.length;F++)n.push(`# ${t[F].label}
556
691
 
557
692
  (skipped \u2014 batch timeout exceeded)
558
693
  `);break}}let a=n.join(`
559
694
  `),c=Buffer.byteLength(a),u=a.split(`
560
- `).length;if(s&&n.length===0)return Z("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});er(c);let l=Wn(),d=`batch:${t.map(x=>x.label).join(",").slice(0,80)}`,m=l.index({content:a,source:d}),h=l.getChunksBySource(m.sourceId),p=["## Indexed Sections",""],f=[];for(let x of h){let k=Buffer.byteLength(x.content);p.push(`- ${x.title} (${(k/1024).toFixed(1)}KB)`),f.push(x.title)}let g=Vk(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?`
695
+ `).length;if(s&&n.length===0)return Z("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});tr(c);let l=Kn(),d=`batch:${t.map(x=>x.label).join(",").slice(0,80)}`,m=l.index({content:a,source:d}),f=l.getChunksBySource(m.sourceId),p=["## Indexed Sections",""],h=[];for(let x of f){let k=Buffer.byteLength(x.content);p.push(`- ${x.title} (${(k/1024).toFixed(1)}KB)`),h.push(x.title)}let g=iw(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?`
561
696
  Searchable terms for follow-up: ${_.join(", ")}`:""].join(`
562
- `);return Z("ctx_batch_execute",{content:[{type:"text",text:y}]})}catch(n){let o=n instanceof Error?n.message:String(n);return Z("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});Ke.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=Xc(),r=Lh(),n=_e(rn(),`${e}${r}.db`);if(Ie(n)){let o=qn(),s=new o(n,{readonly:!0});try{let a=new Ko(s).queryAll(je);t=Wc(a,tn,nn)}finally{s.close()}}else{let s=new Ko(Uk()).queryAll(je);t=Wc(s,tn,nn)}}catch{let r=new Ko(Uk()).queryAll(je);t=Wc(r,tn,nn)}return Z("ctx_stats",{content:[{type:"text",text:t}]})});Ke.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=Ie(vt(bt,"package.json"))?bt:Qt(bt),r=11,n=(Kc.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${Kc.length}/${r} (${n}%) \u2014 ${Kc.join(", ")}`),Jn()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new Zo({runtimes:ru});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=qn();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=vt(e,"hooks","pretooluse.mjs");return Ie(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${tn}`),Z("ctx_doctor",{content:[{type:"text",text:t.join(`
563
- `)}]})});Ke.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=Ie(vt(bt,"package.json"))?bt:Qt(bt),e=vt(t,"cli.bundle.mjs"),r=vt(t,"build","cli.js");try{let s=rn(),i=_e(Qt(s),"insight-cache");if(Ie(i)){try{process.platform==="win32"?Ft(`for /f "tokens=5" %a in ('netstat -ano ^| findstr :4747') do taskkill /F /PID %a`,{stdio:"pipe"}):Ft("lsof -ti:4747 | xargs kill 2>/dev/null",{stdio:"pipe"})}catch{}Jc(i,{recursive:!0,force:!0})}}catch{}let n;if(Ie(e))n=`node "${e}" upgrade`;else if(Ie(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(process.platform==="win32"?"npm.cmd":"npm",["install"],{cwd:T,stdio:"inherit",shell:process.platform==="win32"});','execFileSync(process.platform==="win32"?"npm.cmd":"npm",["run","build"],{cwd:T,stdio:"inherit",shell:process.platform==="win32"});','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(process.platform==="win32"?"npm.cmd":"npm",["install","--production"],{cwd:P,stdio:"inherit",shell:process.platform==="win32"});','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(`
564
- `),u=vt(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(`
565
- `);return Z("ctx_upgrade",{content:[{type:"text",text:o}]})});Ke.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 Z("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(fr){let r=!1;try{fr.cleanup(),r=!0}catch{}fr=null,r&&e.push("knowledge base (FTS5)")}else{let r=qh(),n=!1;for(let o of["","-wal","-shm"])try{Tr(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=_e(_i(),".context-mode","content",`${Xc()}.db`);for(let n of["","-wal","-shm"])try{Tr(r+n)}catch{}}catch{}try{let r=Xc(),n=Lh(),o=rn(),s=_e(o,`${r}${n}.db`),i=_e(o,`${r}${n}-events.md`),a=_e(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 je.calls={},je.bytesReturned={},je.bytesIndexed=0,je.bytesSandboxed=0,je.cacheHits=0,je.cacheBytesSaved=0,je.sessionStart=Date.now(),e.push("session stats"),Z("ctx_purge",{content:[{type:"text",text:`Purged: ${e.join(", ")}. All session data for this project has been permanently deleted.`}]})});Ke.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=Ie(vt(bt,"package.json"))?bt:Qt(bt),n=vt(r,"insight"),o=rn(),s=_e(Qt(o),"insight-cache");if(!Ie(_e(n,"server.mjs")))return Z("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[],a=!1;tu(s,{recursive:!0});let c=jk(_e(n,"server.mjs")).mtimeMs,u=Ie(_e(s,"server.mjs"))?jk(_e(s,"server.mjs")).mtimeMs:0;if(c>u&&(i.push("Copying source files..."),zj(n,s,{recursive:!0,force:!0}),i.push("Source files copied."),a=!0),!Ie(_e(s,"node_modules"))||a){i.push("Installing dependencies (first run, ~30s)...");try{Ft(process.platform==="win32"?"npm.cmd install --production=false":"npm install --production=false",{cwd:s,stdio:"pipe",timeout:3e5})}catch{try{Jc(_e(s,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Ie(_e(s,"node_modules","vite"))||!Ie(_e(s,"node_modules","better-sqlite3")))throw Jc(_e(s,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry");i.push("Dependencies installed.")}i.push("Building dashboard..."),Ft("npx vite build",{cwd:s,stdio:"pipe",timeout:6e4}),i.push("Build complete.");let d=!1;try{let{request:g}=await import("node:http");await new Promise((_,y)=>{let x=g(`http://127.0.0.1:${e}/api/overview`,{timeout:2e3},k=>{k.resume(),_()});x.on("error",()=>y()),x.on("timeout",()=>{x.destroy(),y()}),x.end()}),d=!0}catch{}if(d&&a){i.push("Killing stale dashboard server (source updated)...");try{process.platform==="win32"?Ft(`for /f "tokens=5" %a in ('netstat -ano ^| findstr :${e}') do taskkill /F /PID %a`,{stdio:"pipe"}):Ft(`lsof -ti:${e} | xargs kill 2>/dev/null`,{stdio:"pipe"}),await new Promise(g=>setTimeout(g,500))}catch{}i.push("Stale server killed.")}else if(d){i.push("Dashboard already running.");let g=`http://localhost:${e}`,_=process.platform;try{_==="darwin"?Ft(`open "${g}"`,{stdio:"pipe"}):_==="win32"?Ft(`start "" "${g}"`,{stdio:"pipe"}):Ft(`xdg-open "${g}" 2>/dev/null || sensible-browser "${g}" 2>/dev/null`,{stdio:"pipe"})}catch{}return Z("ctx_insight",{content:[{type:"text",text:`Dashboard already running at http://localhost:${e}`}]})}if(Pr&&Pr.pid&&!Pr.killed)try{Pr.kill("SIGTERM")}catch{}let{spawn:m}=await import("node:child_process"),h=m("node",[_e(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e),INSIGHT_SESSION_DIR:rn(),INSIGHT_CONTENT_DIR:_e(Qt(rn()),"content"),INSIGHT_PARENT_PID:String(process.pid)},detached:!0,stdio:"ignore"});h.on("error",()=>{}),h.unref(),Pr=h,await new Promise(g=>setTimeout(g,1500));try{let{request:g}=await import("node:http");await new Promise((_,y)=>{let x=g(`http://127.0.0.1:${e}/api/overview`,{timeout:3e3},k=>{_(),k.resume()});x.on("error",y),x.on("timeout",()=>{x.destroy(),y(new Error("timeout"))}),x.end()})}catch{return Z("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.
697
+ `);return Z("ctx_batch_execute",{content:[{type:"text",text:y}]})}catch(n){let o=n instanceof Error?n.message:String(n);return Z("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});Je.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:q.object({})},async()=>{let t;try{let e=ki(),r=Zh(),n=me(Or(),`${e}${r}.db`);if(Oe(n)){let o=Vn(),s=new o(n,{readonly:!0});try{let a=new Yo(s).queryAll(De);t=Xc(a,nn,on)}finally{s.close()}}else{let s=new Yo(ew()).queryAll(De);t=Xc(s,nn,on)}}catch{let r=new Yo(ew()).queryAll(De);t=Xc(r,nn,on)}return Z("ctx_stats",{content:[{type:"text",text:t}]})});Je.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:q.object({})},async()=>{let t=["## context-mode doctor",""],e=Oe(St(bt,"package.json"))?bt:er(bt),r=11,n=(eu.length/r*100).toFixed(0);t.push(`- [x] Runtimes: ${eu.length}/${r} (${n}%) \u2014 ${eu.join(", ")}`),Xn()?t.push("- [x] Performance: FAST (Bun)"):t.push("- [-] Performance: NORMAL \u2014 install Bun for 3-5x speed boost");{let s=new qo({runtimes:iu});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=Vn();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=St(e,"hooks","pretooluse.mjs");return Oe(o)?t.push(`- [x] Hook script: PASS \u2014 ${o}`):t.push(`- [ ] Hook script: FAIL \u2014 not found at ${o}`),t.push(`- [x] Version: v${nn}`),Z("ctx_doctor",{content:[{type:"text",text:t.join(`
698
+ `)}]})});Je.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:q.object({})},async()=>{let t=Oe(St(bt,"package.json"))?bt:er(bt),e=St(t,"cli.bundle.mjs"),r=St(t,"build","cli.js");try{let s=Or(),i=me(er(s),"insight-cache");if(Oe(i)){try{process.platform==="win32"?Ut(`for /f "tokens=5" %a in ('netstat -ano ^| findstr :4747') do taskkill /F /PID %a`,{stdio:"pipe"}):Ut("lsof -ti:4747 | xargs kill 2>/dev/null",{stdio:"pipe"})}catch{}tu(i,{recursive:!0,force:!0})}}catch{}let n;if(Oe(e))n=`node "${e}" upgrade`;else if(Oe(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(process.platform==="win32"?"npm.cmd":"npm",["install"],{cwd:T,stdio:"inherit",shell:process.platform==="win32"});','execFileSync(process.platform==="win32"?"npm.cmd":"npm",["run","build"],{cwd:T,stdio:"inherit",shell:process.platform==="win32"});','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(process.platform==="win32"?"npm.cmd":"npm",["install","--production"],{cwd:P,stdio:"inherit",shell:process.platform==="win32"});','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(`
699
+ `),u=St(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(`
700
+ `);return Z("ctx_upgrade",{content:[{type:"text",text:o}]})});Je.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:q.object({confirm:q.boolean().describe("Must be true to confirm the destructive operation.")})},async({confirm:t})=>{if(!t)return Z("ctx_purge",{content:[{type:"text",text:"Purge cancelled. Pass confirm: true to proceed."}]});let e=[];if(hr){let r=!1;try{hr.cleanup(),r=!0}catch{}hr=null,r&&e.push("knowledge base (FTS5)")}else{let r=Kh(),n=!1;for(let o of["","-wal","-shm"])try{Pr(r+o),n=!0}catch{}n&&e.push("knowledge base (FTS5)")}try{let r=me(Qo(),".context-mode","content",`${ki()}.db`);for(let n of["","-wal","-shm"])try{Pr(r+n)}catch{}}catch{}try{let r=ki(),n=Zh(),o=Or(),s=me(o,`${r}${n}.db`),i=me(o,`${r}${n}-events.md`),a=me(o,`${r}${n}.cleanup`),c=!1;for(let l of["","-wal","-shm"])try{Pr(s+l),c=!0}catch{}c&&e.push("session events DB");let u=!1;try{Pr(i),u=!0}catch{}u&&e.push("session events markdown");try{Pr(a)}catch{}}catch{}return De.calls={},De.bytesReturned={},De.bytesIndexed=0,De.bytesSandboxed=0,De.cacheHits=0,De.cacheBytesSaved=0,De.sessionStart=Date.now(),e.push("session stats"),Z("ctx_purge",{content:[{type:"text",text:`Purged: ${e.join(", ")}. All session data for this project has been permanently deleted.`}]})});Je.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:q.object({port:q.coerce.number().optional().describe("Port to serve on (default: 4747)")})},async({port:t})=>{let e=t||4747,r=Oe(St(bt,"package.json"))?bt:er(bt),n=St(r,"insight"),o=Or(),s=me(er(o),"insight-cache");if(!Oe(me(n,"server.mjs")))return Z("ctx_insight",{content:[{type:"text",text:"Error: Insight source not found in plugin. Try upgrading context-mode."}]});try{let i=[],a=!1;su(s,{recursive:!0});let c=Kk(me(n,"server.mjs")).mtimeMs,u=Oe(me(s,"server.mjs"))?Kk(me(s,"server.mjs")).mtimeMs:0;if(c>u&&(i.push("Copying source files..."),eD(n,s,{recursive:!0,force:!0}),i.push("Source files copied."),a=!0),!Oe(me(s,"node_modules"))||a){i.push("Installing dependencies (first run, ~30s)...");try{Ut(process.platform==="win32"?"npm.cmd install --production=false":"npm install --production=false",{cwd:s,stdio:"pipe",timeout:3e5})}catch{try{tu(me(s,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Oe(me(s,"node_modules","vite"))||!Oe(me(s,"node_modules","better-sqlite3")))throw tu(me(s,"node_modules"),{recursive:!0,force:!0}),new Error("npm install incomplete \u2014 please retry");i.push("Dependencies installed.")}i.push("Building dashboard..."),Ut("npx vite build",{cwd:s,stdio:"pipe",timeout:6e4}),i.push("Build complete.");let d=!1;try{let{request:g}=await import("node:http");await new Promise((_,y)=>{let x=g(`http://127.0.0.1:${e}/api/overview`,{timeout:2e3},k=>{k.resume(),_()});x.on("error",()=>y()),x.on("timeout",()=>{x.destroy(),y()}),x.end()}),d=!0}catch{}if(d&&a){i.push("Killing stale dashboard server (source updated)...");try{process.platform==="win32"?Ut(`for /f "tokens=5" %a in ('netstat -ano ^| findstr :${e}') do taskkill /F /PID %a`,{stdio:"pipe"}):Ut(`lsof -ti:${e} | xargs kill 2>/dev/null`,{stdio:"pipe"}),await new Promise(g=>setTimeout(g,500))}catch{}i.push("Stale server killed.")}else if(d){i.push("Dashboard already running.");let g=`http://localhost:${e}`,_=process.platform;try{_==="darwin"?Ut(`open "${g}"`,{stdio:"pipe"}):_==="win32"?Ut(`start "" "${g}"`,{stdio:"pipe"}):Ut(`xdg-open "${g}" 2>/dev/null || sensible-browser "${g}" 2>/dev/null`,{stdio:"pipe"})}catch{}return Z("ctx_insight",{content:[{type:"text",text:`Dashboard already running at http://localhost:${e}`}]})}if(Rr&&Rr.pid&&!Rr.killed)try{Rr.kill("SIGTERM")}catch{}let{spawn:m}=await import("node:child_process"),f=m("node",[me(s,"server.mjs")],{cwd:s,env:{...process.env,PORT:String(e),INSIGHT_SESSION_DIR:Or(),INSIGHT_CONTENT_DIR:me(er(Or()),"content"),INSIGHT_PARENT_PID:String(process.pid)},detached:!0,stdio:"ignore"});f.on("error",()=>{}),f.unref(),Rr=f,await new Promise(g=>setTimeout(g,1500));try{let{request:g}=await import("node:http");await new Promise((_,y)=>{let x=g(`http://127.0.0.1:${e}/api/overview`,{timeout:3e3},k=>{_(),k.resume()});x.on("error",y),x.on("timeout",()=>{x.destroy(),y(new Error("timeout"))}),x.end()})}catch{return Z("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.
566
701
 
567
702
  To fix:
568
703
  - Kill the existing process: ${process.platform==="win32"?`netstat -ano | findstr :${e}`:`lsof -ti:${e} | xargs kill`}
569
- - Or use a different port: ctx_insight({ port: ${e+1} })`}]})}let p=`http://localhost:${e}`,f=process.platform;try{f==="darwin"?Ft(`open "${p}"`,{stdio:"pipe"}):f==="win32"?Ft(`start "" "${p}"`,{stdio:"pipe"}):Ft(`xdg-open "${p}" 2>/dev/null || sensible-browser "${p}" 2>/dev/null`,{stdio:"pipe"})}catch{}return i.push(`Dashboard running at ${p}`),Z("ctx_insight",{content:[{type:"text",text:i.map(g=>`- ${g}`).join(`
704
+ - Or use a different port: ctx_insight({ port: ${e+1} })`}]})}let p=`http://localhost:${e}`,h=process.platform;try{h==="darwin"?Ut(`open "${p}"`,{stdio:"pipe"}):h==="win32"?Ut(`start "" "${p}"`,{stdio:"pipe"}):Ut(`xdg-open "${p}" 2>/dev/null || sensible-browser "${p}" 2>/dev/null`,{stdio:"pipe"})}catch{}return i.push(`Dashboard running at ${p}`),Z("ctx_insight",{content:[{type:"text",text:i.map(g=>`- ${g}`).join(`
570
705
  `)+`
571
706
 
572
707
  Open: ${p}
573
- PID: ${h.pid} \xB7 Stop: ${process.platform==="win32"?`taskkill /PID ${h.pid} /F`:`kill ${h.pid}`}`}]})}catch(i){let a=i instanceof Error?i.message:String(i);return Z("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${a}`}]})}});aM().catch(t=>{console.error("Fatal:",t),process.exit(1)})});import{stdout as xw,stdin as vw}from"node:process";import*as Or from"node:readline";var tg=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,rg=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,ng=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 iu=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,Si=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,ki=/\t{1,1000}/y,au=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"),wi=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,cw=new RegExp("\\p{M}+","gu"),uw={limit:1/0,ellipsis:""},og=(t,e={},r={})=>{let n=e.limit??1/0,o=e.ellipsis??"",s=e?.ellipsisWidth??(o?og(o,uw,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,x=g,k=Math.max(0,n-s),T=0,J=0,B=0,oe=0;e:for(;;){if(J>T||f>=g&&f>p){let ht=t.slice(T,J)||t.slice(p,f);_=0;for(let Fe of ht.replaceAll(cw,"")){let F=Fe.codePointAt(0)||0;if(rg(F)?oe=d:ng(F)?oe=h:u!==m&&tg(F)?oe=u:oe=m,B+oe>k&&(x=Math.min(x,Math.max(T,p)+_)),B+oe>n){y=!0;break e}_+=Fe.length,B+=oe}T=J=0}if(f>=g)break;if(wi.lastIndex=f,wi.test(t)){if(_=wi.lastIndex-f,oe=_*m,B+oe>k&&(x=Math.min(x,f+Math.floor((k-B)/m))),B+oe>n){y=!0;break}B+=oe,T=p,J=f,f=p=wi.lastIndex;continue}if(iu.lastIndex=f,iu.test(t)){if(B+i>k&&(x=Math.min(x,f)),B+i>n){y=!0;break}B+=i,T=p,J=f,f=p=iu.lastIndex;continue}if(Si.lastIndex=f,Si.test(t)){if(_=Si.lastIndex-f,oe=_*a,B+oe>k&&(x=Math.min(x,f+Math.floor((k-B)/a))),B+oe>n){y=!0;break}B+=oe,T=p,J=f,f=p=Si.lastIndex;continue}if(ki.lastIndex=f,ki.test(t)){if(_=ki.lastIndex-f,oe=_*c,B+oe>k&&(x=Math.min(x,f+Math.floor((k-B)/c))),B+oe>n){y=!0;break}B+=oe,T=p,J=f,f=p=ki.lastIndex;continue}if(au.lastIndex=f,au.test(t)){if(B+l>k&&(x=Math.min(x,f)),B+l>n){y=!0;break}B+=l,T=p,J=f,f=p=au.lastIndex;continue}f+=1}return{width:y?k:B,index:y?x:g,truncated:y,ellipsed:y&&n>=s}},sg=og;var lw={limit:1/0,ellipsis:"",ellipsisWidth:0},dw=(t,e={})=>sg(t,lw,e).width,et=dw;var $i="\x1B",lg="\x9B",pw=39,uu="\x07",dg="[",mw="]",pg="m",lu=`${mw}8;;`,ig=new RegExp(`(?:\\${dg}(?<code>\\d+)m|\\${lu}(?<uri>.*)${uu})`,"y"),ag=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},cg=t=>`${$i}${dg}${t}${pg}`,ug=t=>`${$i}${lu}${t}${uu}`,cu=(t,e,r)=>{let n=e[Symbol.iterator](),o=!1,s=!1,i=t.at(-1),a=i===void 0?0:et(i),c=n.next(),u=n.next(),l=0;for(;!c.done;){let d=c.value,m=et(d);a+m<=r?t[t.length-1]+=d:(t.push(d),a=0),(d===$i||d===lg)&&(o=!0,s=e.startsWith(lu,l+1)),o?s?d===uu&&(o=!1,s=!1):d===pg&&(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())},fw=t=>{let e=t.split(" "),r=e.length;for(;r&&!et(e[r-1]);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},hw=(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<i.length;d++){let m=i[d];if(r.trim!==!1){let p=a.at(-1)??"",f=p.trimStart();p.length!==f.length&&(a[a.length-1]=f,c=et(f))}d!==0&&(c>=e&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),c=0),(c||r.trim===!1)&&(a[a.length-1]+=" ",c++));let h=et(m);if(r.hard&&h>e){let p=e-c,f=1+Math.floor((h-p-1)/e);Math.floor((h-1)/e)<f&&a.push(""),cu(a,m,e),c=et(a.at(-1)??"");continue}if(c+h>e&&c&&h){if(r.wordWrap===!1&&c<e){cu(a,m,e),c=et(a.at(-1)??"");continue}a.push(""),c=0}if(c+h>e&&r.wordWrap===!1){cu(a,m,e),c=et(a.at(-1)??"");continue}a[a.length-1]+=m,c+=h}r.trim!==!1&&(a=a.map(d=>fw(d)));let u=a.join(`
574
- `),l=!1;for(let d=0;d<u.length;d++){let m=u[d];if(n+=m,!l)l=m>="\uD800"&&m<="\uDBFF";else continue;if(m===$i||m===lg){ig.lastIndex=d+1;let p=ig.exec(u)?.groups;if(p?.code!==void 0){let f=Number.parseFloat(p.code);o=f===pw?void 0:f}else p?.uri!==void 0&&(s=p.uri.length===0?void 0:p.uri)}if(u[d+1]===`
575
- `){s&&(n+=ug(""));let h=o?ag(o):void 0;o&&h&&(n+=cg(h))}else m===`
576
- `&&(o&&ag(o)&&(n+=cg(o)),s&&(n+=ug(s)))}return n},gw=/\r?\n/;function Gn(t,e,r){return String(t).normalize().split(gw).map(n=>hw(n,e,r)).join(`
577
- `)}var Qo=Xo(pu(),1);import{ReadStream as fg}from"node:tty";var bw=["up","down","left","right","space","enter","cancel"],Sw=["January","February","March","April","May","June","July","August","September","October","November","December"],tr={actions:new Set(bw),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:[...Sw],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 hg(t,e){if(typeof t=="string")return tr.aliases.get(t)===e;for(let r of t)if(r!==void 0&&hg(r,e))return!0;return!1}var kw=globalThis.process.platform.startsWith("win");function gg({input:t=vw,output:e=xw,overwrite:r=!0,hideCursor:n=!0}={}){let o=Or.createInterface({input:t,output:e,prompt:"",tabSize:1});Or.emitKeypressEvents(t,o),t instanceof fg&&t.isTTY&&t.setRawMode(!0);let s=(i,{name:a,sequence:c})=>{let u=String(i);if(hg([u,a,c],"cancel")){n&&e.write(Qo.cursor.show),process.exit(0);return}if(!r)return;Or.moveCursor(e,a==="return"?0:-1,a==="return"?-1:0,()=>{Or.clearLine(e,1,()=>{t.once("keypress",s)})})};return n&&e.write(Qo.cursor.hide),t.once("keypress",s),()=>{t.off("keypress",s),n&&e.write(Qo.cursor.show),t instanceof fg&&t.isTTY&&!kw&&t.setRawMode(!1),o.terminal=!1,o.close()}}var mu=t=>"columns"in t&&typeof t.columns=="number"?t.columns:80;import{styleText as be,stripVTControlCharacters as QM}from"node:util";import kt from"node:process";var es=Xo(pu(),1);function $w(){return kt.platform!=="win32"?kt.env.TERM!=="linux":!!kt.env.CI||!!kt.env.WT_SESSION||!!kt.env.TERMINUS_SUBLIME||kt.env.ConEmuTask==="{cmd::Cmder}"||kt.env.TERM_PROGRAM==="Terminus-Sublime"||kt.env.TERM_PROGRAM==="vscode"||kt.env.TERM==="xterm-256color"||kt.env.TERM==="alacritty"||kt.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var fu=$w(),Ew=()=>process.env.CI==="true";var ue=(t,e)=>fu?t:e,nD=ue("\u25C6","*"),Tw=ue("\u25A0","x"),Pw=ue("\u25B2","x"),hu=ue("\u25C7","o"),Rw=ue("\u250C","T"),Cr=ue("\u2502","|"),Ow=ue("\u2514","\u2014"),oD=ue("\u2510","T"),sD=ue("\u2518","\u2014"),iD=ue("\u25CF",">"),aD=ue("\u25CB"," "),cD=ue("\u25FB","[\u2022]"),uD=ue("\u25FC","[+]"),lD=ue("\u25FB","[ ]"),dD=ue("\u25AA","\u2022"),_g=ue("\u2500","-"),Cw=ue("\u256E","+"),Iw=ue("\u251C","+"),Aw=ue("\u256F","+"),Nw=ue("\u2570","+"),pD=ue("\u256D","+"),zw=ue("\u25CF","\u2022"),jw=ue("\u25C6","*"),Mw=ue("\u25B2","!"),Dw=ue("\u25A0","x");var I={message:(t=[],{symbol:e=be("gray",Cr),secondarySymbol:r=be("gray",Cr),output:n=process.stdout,spacing:o=1,withGuide:s}={})=>{let i=[],a=s??tr.withGuide,c=a?r:"",u=a?`${e} `:"",l=a?`${r} `:"";for(let m=0;m<o;m++)i.push(c);let d=Array.isArray(t)?t:t.split(`
578
- `);if(d.length>0){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(`
708
+ PID: ${f.pid} \xB7 Stop: ${process.platform==="win32"?`taskkill /PID ${f.pid} /F`:`kill ${f.pid}`}`}]})}catch(i){let a=i instanceof Error?i.message:String(i);return Z("ctx_insight",{content:[{type:"text",text:`Insight setup failed: ${a}`}]})}});$D().catch(t=>{console.error("Fatal:",t),process.exit(1)})});import{stdout as Aw,stdin as Nw}from"node:process";import*as Ir from"node:readline";var ig=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,ag=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,cg=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 lu=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,Pi=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Ri=/\t{1,1000}/y,du=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"),Oi=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,bw=new RegExp("\\p{M}+","gu"),kw={limit:1/0,ellipsis:""},ug=(t,e={},r={})=>{let n=e.limit??1/0,o=e.ellipsis??"",s=e?.ellipsisWidth??(o?ug(o,kw,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,f=r.wideWidth??2,p=0,h=0,g=t.length,_=0,y=!1,x=g,k=Math.max(0,n-s),E=0,B=0,H=0,J=0;e:for(;;){if(B>E||h>=g&&h>p){let tt=t.slice(E,B)||t.slice(p,h);_=0;for(let Ze of tt.replaceAll(bw,"")){let F=Ze.codePointAt(0)||0;if(ag(F)?J=d:cg(F)?J=f:u!==m&&ig(F)?J=u:J=m,H+J>k&&(x=Math.min(x,Math.max(E,p)+_)),H+J>n){y=!0;break e}_+=Ze.length,H+=J}E=B=0}if(h>=g)break;if(Oi.lastIndex=h,Oi.test(t)){if(_=Oi.lastIndex-h,J=_*m,H+J>k&&(x=Math.min(x,h+Math.floor((k-H)/m))),H+J>n){y=!0;break}H+=J,E=p,B=h,h=p=Oi.lastIndex;continue}if(lu.lastIndex=h,lu.test(t)){if(H+i>k&&(x=Math.min(x,h)),H+i>n){y=!0;break}H+=i,E=p,B=h,h=p=lu.lastIndex;continue}if(Pi.lastIndex=h,Pi.test(t)){if(_=Pi.lastIndex-h,J=_*a,H+J>k&&(x=Math.min(x,h+Math.floor((k-H)/a))),H+J>n){y=!0;break}H+=J,E=p,B=h,h=p=Pi.lastIndex;continue}if(Ri.lastIndex=h,Ri.test(t)){if(_=Ri.lastIndex-h,J=_*c,H+J>k&&(x=Math.min(x,h+Math.floor((k-H)/c))),H+J>n){y=!0;break}H+=J,E=p,B=h,h=p=Ri.lastIndex;continue}if(du.lastIndex=h,du.test(t)){if(H+l>k&&(x=Math.min(x,h)),H+l>n){y=!0;break}H+=l,E=p,B=h,h=p=du.lastIndex;continue}h+=1}return{width:y?k:H,index:y?x:g,truncated:y,ellipsed:y&&n>=s}},lg=ug;var ww={limit:1/0,ellipsis:"",ellipsisWidth:0},$w=(t,e={})=>lg(t,ww,e).width,rt=$w;var Ci="\x1B",hg="\x9B",Ew=39,mu="\x07",gg="[",Tw="]",_g="m",fu=`${Tw}8;;`,dg=new RegExp(`(?:\\${gg}(?<code>\\d+)m|\\${fu}(?<uri>.*)${mu})`,"y"),pg=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},mg=t=>`${Ci}${gg}${t}${_g}`,fg=t=>`${Ci}${fu}${t}${mu}`,pu=(t,e,r)=>{let n=e[Symbol.iterator](),o=!1,s=!1,i=t.at(-1),a=i===void 0?0:rt(i),c=n.next(),u=n.next(),l=0;for(;!c.done;){let d=c.value,m=rt(d);a+m<=r?t[t.length-1]+=d:(t.push(d),a=0),(d===Ci||d===hg)&&(o=!0,s=e.startsWith(fu,l+1)),o?s?d===mu&&(o=!1,s=!1):d===_g&&(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())},Pw=t=>{let e=t.split(" "),r=e.length;for(;r&&!rt(e[r-1]);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},Rw=(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<i.length;d++){let m=i[d];if(r.trim!==!1){let p=a.at(-1)??"",h=p.trimStart();p.length!==h.length&&(a[a.length-1]=h,c=rt(h))}d!==0&&(c>=e&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),c=0),(c||r.trim===!1)&&(a[a.length-1]+=" ",c++));let f=rt(m);if(r.hard&&f>e){let p=e-c,h=1+Math.floor((f-p-1)/e);Math.floor((f-1)/e)<h&&a.push(""),pu(a,m,e),c=rt(a.at(-1)??"");continue}if(c+f>e&&c&&f){if(r.wordWrap===!1&&c<e){pu(a,m,e),c=rt(a.at(-1)??"");continue}a.push(""),c=0}if(c+f>e&&r.wordWrap===!1){pu(a,m,e),c=rt(a.at(-1)??"");continue}a[a.length-1]+=m,c+=f}r.trim!==!1&&(a=a.map(d=>Pw(d)));let u=a.join(`
709
+ `),l=!1;for(let d=0;d<u.length;d++){let m=u[d];if(n+=m,!l)l=m>="\uD800"&&m<="\uDBFF";else continue;if(m===Ci||m===hg){dg.lastIndex=d+1;let p=dg.exec(u)?.groups;if(p?.code!==void 0){let h=Number.parseFloat(p.code);o=h===Ew?void 0:h}else p?.uri!==void 0&&(s=p.uri.length===0?void 0:p.uri)}if(u[d+1]===`
710
+ `){s&&(n+=fg(""));let f=o?pg(o):void 0;o&&f&&(n+=mg(f))}else m===`
711
+ `&&(o&&pg(o)&&(n+=mg(o)),s&&(n+=fg(s)))}return n},Ow=/\r?\n/;function Jn(t,e,r){return String(t).normalize().split(Ow).map(n=>Rw(n,e,r)).join(`
712
+ `)}var rs=ts(gu(),1);import{ReadStream as xg}from"node:tty";var zw=["up","down","left","right","space","enter","cancel"],jw=["January","February","March","April","May","June","July","August","September","October","November","December"],rr={actions:new Set(zw),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:[...jw],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 vg(t,e){if(typeof t=="string")return rr.aliases.get(t)===e;for(let r of t)if(r!==void 0&&vg(r,e))return!0;return!1}var Dw=globalThis.process.platform.startsWith("win");function Sg({input:t=Nw,output:e=Aw,overwrite:r=!0,hideCursor:n=!0}={}){let o=Ir.createInterface({input:t,output:e,prompt:"",tabSize:1});Ir.emitKeypressEvents(t,o),t instanceof xg&&t.isTTY&&t.setRawMode(!0);let s=(i,{name:a,sequence:c})=>{let u=String(i);if(vg([u,a,c],"cancel")){n&&e.write(rs.cursor.show),process.exit(0);return}if(!r)return;Ir.moveCursor(e,a==="return"?0:-1,a==="return"?-1:0,()=>{Ir.clearLine(e,1,()=>{t.once("keypress",s)})})};return n&&e.write(rs.cursor.hide),t.once("keypress",s),()=>{t.off("keypress",s),n&&e.write(rs.cursor.show),t instanceof xg&&t.isTTY&&!Dw&&t.setRawMode(!1),o.terminal=!1,o.close()}}var _u=t=>"columns"in t&&typeof t.columns=="number"?t.columns:80;import{styleText as ke,stripVTControlCharacters as _M}from"node:util";import wt from"node:process";var ns=ts(gu(),1);function Lw(){return wt.platform!=="win32"?wt.env.TERM!=="linux":!!wt.env.CI||!!wt.env.WT_SESSION||!!wt.env.TERMINUS_SUBLIME||wt.env.ConEmuTask==="{cmd::Cmder}"||wt.env.TERM_PROGRAM==="Terminus-Sublime"||wt.env.TERM_PROGRAM==="vscode"||wt.env.TERM==="xterm-256color"||wt.env.TERM==="alacritty"||wt.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var yu=Lw(),Fw=()=>process.env.CI==="true";var le=(t,e)=>yu?t:e,SM=le("\u25C6","*"),Uw=le("\u25A0","x"),Zw=le("\u25B2","x"),xu=le("\u25C7","o"),Hw=le("\u250C","T"),Ar=le("\u2502","|"),qw=le("\u2514","\u2014"),bM=le("\u2510","T"),kM=le("\u2518","\u2014"),wM=le("\u25CF",">"),$M=le("\u25CB"," "),EM=le("\u25FB","[\u2022]"),TM=le("\u25FC","[+]"),PM=le("\u25FB","[ ]"),RM=le("\u25AA","\u2022"),bg=le("\u2500","-"),Bw=le("\u256E","+"),Vw=le("\u251C","+"),Ww=le("\u256F","+"),Gw=le("\u2570","+"),OM=le("\u256D","+"),Kw=le("\u25CF","\u2022"),Jw=le("\u25C6","*"),Yw=le("\u25B2","!"),Xw=le("\u25A0","x");var I={message:(t=[],{symbol:e=ke("gray",Ar),secondarySymbol:r=ke("gray",Ar),output:n=process.stdout,spacing:o=1,withGuide:s}={})=>{let i=[],a=s??rr.withGuide,c=a?r:"",u=a?`${e} `:"",l=a?`${r} `:"";for(let m=0;m<o;m++)i.push(c);let d=Array.isArray(t)?t:t.split(`
713
+ `);if(d.length>0){let[m,...f]=d;m.length>0?i.push(`${u}${m}`):i.push(a?e:"");for(let p of f)p.length>0?i.push(`${l}${p}`):i.push(a?r:"")}n.write(`${i.join(`
579
714
  `)}
580
- `)},info:(t,e)=>{I.message(t,{...e,symbol:be("blue",zw)})},success:(t,e)=>{I.message(t,{...e,symbol:be("green",jw)})},step:(t,e)=>{I.message(t,{...e,symbol:be("green",hu)})},warn:(t,e)=>{I.message(t,{...e,symbol:be("yellow",Mw)})},warning:(t,e)=>{I.warn(t,e)},error:(t,e)=>{I.message(t,{...e,symbol:be("red",Dw)})}};var gu=(t="",e)=>{let r=e?.output??process.stdout,n=e?.withGuide??tr.withGuide?`${be("gray",Rw)} `:"";r.write(`${n}${t}
581
- `)},Ei=(t="",e)=>{let r=e?.output??process.stdout,n=e?.withGuide??tr.withGuide?`${be("gray",Cr)}
582
- ${be("gray",Ow)} `:"";r.write(`${n}${t}
583
-
584
- `)};var Lw=t=>be("dim",t),Fw=(t,e,r)=>{let n={hard:!0,trim:!1},o=Gn(t,e,n).split(`
585
- `),s=o.reduce((c,u)=>Math.max(et(u),c),0),i=o.map(r).reduce((c,u)=>Math.max(et(u),c),0),a=e-(i-s);return Gn(t,a,n)},_u=(t="",e="",r)=>{let n=r?.output??kt.stdout,o=r?.withGuide??tr.withGuide,s=r?.format??Lw,i=["",...Fw(t,mu(n)-6,s).split(`
586
- `).map(s),""],a=et(e),c=Math.max(i.reduce((m,h)=>{let p=et(h);return p>m?p:m},0),a)+2,u=i.map(m=>`${be("gray",Cr)} ${m}${" ".repeat(c-et(m))}${be("gray",Cr)}`).join(`
587
- `),l=o?`${be("gray",Cr)}
588
- `:"",d=o?Iw:Nw;n.write(`${l}${be("green",hu)} ${be("reset",e)} ${be("gray",_g.repeat(Math.max(c-a-1,1))+Cw)}
715
+ `)},info:(t,e)=>{I.message(t,{...e,symbol:ke("blue",Kw)})},success:(t,e)=>{I.message(t,{...e,symbol:ke("green",Jw)})},step:(t,e)=>{I.message(t,{...e,symbol:ke("green",xu)})},warn:(t,e)=>{I.message(t,{...e,symbol:ke("yellow",Yw)})},warning:(t,e)=>{I.warn(t,e)},error:(t,e)=>{I.message(t,{...e,symbol:ke("red",Xw)})}};var vu=(t="",e)=>{let r=e?.output??process.stdout,n=e?.withGuide??rr.withGuide?`${ke("gray",Hw)} `:"";r.write(`${n}${t}
716
+ `)},Ii=(t="",e)=>{let r=e?.output??process.stdout,n=e?.withGuide??rr.withGuide?`${ke("gray",Ar)}
717
+ ${ke("gray",qw)} `:"";r.write(`${n}${t}
718
+
719
+ `)};var Qw=t=>ke("dim",t),e$=(t,e,r)=>{let n={hard:!0,trim:!1},o=Jn(t,e,n).split(`
720
+ `),s=o.reduce((c,u)=>Math.max(rt(u),c),0),i=o.map(r).reduce((c,u)=>Math.max(rt(u),c),0),a=e-(i-s);return Jn(t,a,n)},Su=(t="",e="",r)=>{let n=r?.output??wt.stdout,o=r?.withGuide??rr.withGuide,s=r?.format??Qw,i=["",...e$(t,_u(n)-6,s).split(`
721
+ `).map(s),""],a=rt(e),c=Math.max(i.reduce((m,f)=>{let p=rt(f);return p>m?p:m},0),a)+2,u=i.map(m=>`${ke("gray",Ar)} ${m}${" ".repeat(c-rt(m))}${ke("gray",Ar)}`).join(`
722
+ `),l=o?`${ke("gray",Ar)}
723
+ `:"",d=o?Vw:Gw;n.write(`${l}${ke("green",xu)} ${ke("reset",e)} ${ke("gray",bg.repeat(Math.max(c-a-1,1))+Bw)}
589
724
  ${u}
590
- ${be("gray",d+_g.repeat(c+2)+Aw)}
591
- `)};var Uw=t=>be("magenta",t),yu=({indicator:t="dots",onCancel:e,output:r=process.stdout,cancelMessage:n,errorMessage:o,frames:s=fu?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:i=fu?80:120,signal:a,...c}={})=>{let u=Ew(),l,d,m=!1,h=!1,p="",f,g=performance.now(),_=mu(r),y=c?.styleFrame??Uw,x=ve=>{let St=ve>1?o??tr.messages.error:n??tr.messages.cancel;h=ve===1,m&&(Ne(St,ve),h&&typeof e=="function"&&e())},k=()=>x(2),T=()=>x(1),J=()=>{process.on("uncaughtExceptionMonitor",k),process.on("unhandledRejection",k),process.on("SIGINT",T),process.on("SIGTERM",T),process.on("exit",x),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",x),a&&a.removeEventListener("abort",T)},oe=()=>{if(f===void 0)return;u&&r.write(`
592
- `);let ve=Gn(f,_,{hard:!0,trim:!1}).split(`
593
- `);ve.length>1&&r.write(es.cursor.up(ve.length-1)),r.write(es.cursor.to(0)),r.write(es.erase.down())},ht=ve=>ve.replace(/\.+$/,""),Fe=ve=>{let St=(performance.now()-ve)/1e3,hr=Math.floor(St/60),gr=Math.floor(St%60);return hr>0?`[${hr}m ${gr}s]`:`[${gr}s]`},F=c.withGuide??tr.withGuide,gt=(ve="")=>{m=!0,l=gg({output:r}),p=ht(ve),g=performance.now(),F&&r.write(`${be("gray",Cr)}
594
- `);let St=0,hr=0;J(),d=setInterval(()=>{if(u&&p===f)return;oe(),f=p;let gr=y(s[St]),bi;if(u)bi=`${gr} ${p}...`;else if(t==="timer")bi=`${gr} ${p} ${Fe(g)}`;else{let tw=".".repeat(Math.floor(hr)).slice(0,3);bi=`${gr} ${p}${tw}`}let ew=Gn(bi,_,{hard:!0,trim:!1});r.write(ew),St=St+1<s.length?St+1:0,hr=hr<4?hr+.125:0},i)},Ne=(ve="",St=0,hr=!1)=>{if(!m)return;m=!1,clearInterval(d),oe();let gr=St===0?be("green",hu):St===1?be("red",Tw):be("red",Pw);p=ve??p,hr||(t==="timer"?r.write(`${gr} ${p} ${Fe(g)}
595
- `):r.write(`${gr} ${p}
596
- `)),B(),l()};return{start:gt,stop:(ve="")=>Ne(ve,0),message:(ve="")=>{p=ht(ve??p)},cancel:(ve="")=>Ne(ve,1),error:(ve="")=>Ne(ve,2),clear:()=>Ne("",0,!0),get isCancelled(){return h}}},mD={light:ue("\u2500","-"),heavy:ue("\u2501","="),block:ue("\u2588","#")};var fD=`${be("gray",Cr)} `;var E=Xo(vg(),1);Ii();nl();import{execFileSync as Yh}from"node:child_process";import{readFileSync as nu,writeFileSync as cM,cpSync as Jk,accessSync as Yk,existsSync as Rr,rmSync as Yo,closeSync as uM,openSync as lM,chmodSync as dM,constants as Xk}from"node:fs";import{request as pM}from"node:https";import{resolve as Ae,dirname as Xh,join as ft}from"node:path";import{tmpdir as mM,devNull as fM,homedir as Qh}from"node:os";import{fileURLToPath as hM,pathToFileURL as gM}from"node:url";var _M={"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"},"jetbrains-copilot":{pretooluse:"hooks/jetbrains-copilot/pretooluse.mjs",posttooluse:"hooks/jetbrains-copilot/posttooluse.mjs",precompact:"hooks/jetbrains-copilot/precompact.mjs",sessionstart:"hooks/jetbrains-copilot/sessionstart.mjs"},"qwen-code":{pretooluse:"hooks/pretooluse.mjs",posttooluse:"hooks/posttooluse.mjs",precompact:"hooks/precompact.mjs",sessionstart:"hooks/sessionstart.mjs",userpromptsubmit:"hooks/userpromptsubmit.mjs"}};async function yM(t,e){try{uM(2),lM(fM,"w")}catch{process.stderr.write=(()=>!0)}let r=_M[t]?.[e];r||process.exit(1);let n=vi();await import(gM(ft(n,r)).href)}var on=process.argv.slice(2);on[0]==="doctor"?kM().then(t=>process.exit(t)):on[0]==="upgrade"?$M():on[0]==="hook"?yM(on[1],on[2]):on[0]==="insight"?wM(on[1]?Number(on[1]):4747):Promise.resolve().then(()=>(Kk(),Gk));function _B(t){return t.replace(/\\/g,"/")}var ou=process.platform==="win32";function xi(t,e={}){Yh(ou?"npm.cmd":"npm",t,{...e,...ou?{shell:!0}:{}})}function xM(t,e={}){let{execSync:r}=eg("node:child_process");r(ou?t.replace(/^npm /,"npm.cmd "):t,{...e,...ou?{shell:!0}:{}})}function vM(){let t=hM(import.meta.url),e=Xh(t);return e.endsWith("/build")||e.endsWith("\\build")||e.endsWith("/src")||e.endsWith("\\src")?Ae(e,".."):e}function bM(t){if(process.platform==="win32"){let e=process.env.LOCALAPPDATA;return e?Ae(e,t,"node_modules","context-mode"):Ae(Qh(),"AppData","Local",t,"node_modules","context-mode")}return Ae(Qh(),".cache",t,"node_modules","context-mode")}function vi(){let t=ln().platform;return t==="opencode"||t==="kilo"?bM(t):vM()}function Qk(){try{return JSON.parse(nu(Ae(vi(),"package.json"),"utf-8")).version??"unknown"}catch{return"unknown"}}async function SM(){return new Promise(t=>{let e=pM("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 kM(){process.stdout.isTTY&&console.clear();let t=ln(),e=await cs(t.platform);gu(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=yu();n.start("Running diagnostics");let o,s;try{o=Kn(),s=Ci(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")),Ei(E.default.yellow("Doctor could not fully run \u2014 try again after restarting")),1}n.stop("Diagnostics complete"),_u(Oi(o),"Runtimes"),Jn()?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(()=>(Ph(),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=vi(),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(`
597
- Run: ${f.fix}`):""));I.step("Checking hook script...");let l=Ae(c,"hooks","pretooluse.mjs");try{Yk(l,Xk.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(()=>(gi(),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(`
598
- Try: npm rebuild better-sqlite3`)))}I.step("Checking versions...");let m=Qk(),h=await SM(),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(`
599
- 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(`
600
- Run: /context-mode:ctx-upgrade`)):I.info(`${e.name}: v${p}`+E.default.dim(" \u2014 could not verify against npm registry")),r>0?(Ei(E.default.red(`Diagnostics failed \u2014 ${r} critical issue(s) found`)),1):(Ei(s.length>=4?E.default.green("Diagnostics complete!"):E.default.yellow("Some checks need attention \u2014 see above for details")),0)}async function wM(t){try{let{execSync:e,spawn:r}=await import("node:child_process"),{statSync:n,mkdirSync:o,cpSync:s}=await import("node:fs"),i=Ae(vi(),"insight"),a=ln(),u=(await cs(a.platform)).getSessionDir(),l=ft(Xh(u),"content"),d=ft(Xh(u),"insight-cache");Rr(ft(i,"server.mjs"))||(console.error("Error: Insight source not found. Try upgrading context-mode."),process.exit(1)),o(d,{recursive:!0});let m=n(ft(i,"server.mjs")).mtimeMs,h=Rr(ft(d,"server.mjs"))?n(ft(d,"server.mjs")).mtimeMs:0;if(m>h&&(console.log("Copying Insight source..."),s(i,d,{recursive:!0,force:!0})),!Rr(ft(d,"node_modules"))){console.log("Installing dependencies (first run)...");try{xM("npm install --production=false",{cwd:d,stdio:"inherit",timeout:3e5})}catch{try{Yo(ft(d,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Rr(ft(d,"node_modules","vite"))||!Rr(ft(d,"node_modules","better-sqlite3")))throw Yo(ft(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(`
725
+ ${ke("gray",d+bg.repeat(c+2)+Ww)}
726
+ `)};var t$=t=>ke("magenta",t),bu=({indicator:t="dots",onCancel:e,output:r=process.stdout,cancelMessage:n,errorMessage:o,frames:s=yu?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:i=yu?80:120,signal:a,...c}={})=>{let u=Fw(),l,d,m=!1,f=!1,p="",h,g=performance.now(),_=_u(r),y=c?.styleFrame??t$,x=be=>{let kt=be>1?o??rr.messages.error:n??rr.messages.cancel;f=be===1,m&&(ze(kt,be),f&&typeof e=="function"&&e())},k=()=>x(2),E=()=>x(1),B=()=>{process.on("uncaughtExceptionMonitor",k),process.on("unhandledRejection",k),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",x),a&&a.addEventListener("abort",E)},H=()=>{process.removeListener("uncaughtExceptionMonitor",k),process.removeListener("unhandledRejection",k),process.removeListener("SIGINT",E),process.removeListener("SIGTERM",E),process.removeListener("exit",x),a&&a.removeEventListener("abort",E)},J=()=>{if(h===void 0)return;u&&r.write(`
727
+ `);let be=Jn(h,_,{hard:!0,trim:!1}).split(`
728
+ `);be.length>1&&r.write(ns.cursor.up(be.length-1)),r.write(ns.cursor.to(0)),r.write(ns.erase.down())},tt=be=>be.replace(/\.+$/,""),Ze=be=>{let kt=(performance.now()-be)/1e3,gr=Math.floor(kt/60),_r=Math.floor(kt%60);return gr>0?`[${gr}m ${_r}s]`:`[${_r}s]`},F=c.withGuide??rr.withGuide,_t=(be="")=>{m=!0,l=Sg({output:r}),p=tt(be),g=performance.now(),F&&r.write(`${ke("gray",Ar)}
729
+ `);let kt=0,gr=0;B(),d=setInterval(()=>{if(u&&p===h)return;J(),h=p;let _r=y(s[kt]),Ti;if(u)Ti=`${_r} ${p}...`;else if(t==="timer")Ti=`${_r} ${p} ${Ze(g)}`;else{let hw=".".repeat(Math.floor(gr)).slice(0,3);Ti=`${_r} ${p}${hw}`}let fw=Jn(Ti,_,{hard:!0,trim:!1});r.write(fw),kt=kt+1<s.length?kt+1:0,gr=gr<4?gr+.125:0},i)},ze=(be="",kt=0,gr=!1)=>{if(!m)return;m=!1,clearInterval(d),J();let _r=kt===0?ke("green",xu):kt===1?ke("red",Uw):ke("red",Zw);p=be??p,gr||(t==="timer"?r.write(`${_r} ${p} ${Ze(g)}
730
+ `):r.write(`${_r} ${p}
731
+ `)),H(),l()};return{start:_t,stop:(be="")=>ze(be,0),message:(be="")=>{p=tt(be??p)},cancel:(be="")=>ze(be,1),error:(be="")=>ze(be,2),clear:()=>ze("",0,!0),get isCancelled(){return f}}},CM={light:le("\u2500","-"),heavy:le("\u2501","="),block:le("\u2588","#")};var IM=`${ke("gray",Ar)} `;var T=ts($g(),1);Mi();al();import{execFileSync as rg}from"node:child_process";import{readFileSync as au,writeFileSync as ED,cpSync as lw,accessSync as dw,existsSync as Cr,rmSync as es,closeSync as TD,openSync as PD,chmodSync as RD,constants as pw}from"node:fs";import{request as OD}from"node:https";import{resolve as Ne,dirname as ng,join as gt}from"node:path";import{tmpdir as CD,devNull as ID,homedir as og}from"node:os";import{fileURLToPath as AD,pathToFileURL as ND}from"node:url";var zD={"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",userpromptsubmit:"hooks/codex/userpromptsubmit.mjs",stop:"hooks/codex/stop.mjs"},kiro:{pretooluse:"hooks/kiro/pretooluse.mjs",posttooluse:"hooks/kiro/posttooluse.mjs"},"jetbrains-copilot":{pretooluse:"hooks/jetbrains-copilot/pretooluse.mjs",posttooluse:"hooks/jetbrains-copilot/posttooluse.mjs",precompact:"hooks/jetbrains-copilot/precompact.mjs",sessionstart:"hooks/jetbrains-copilot/sessionstart.mjs"},"qwen-code":{pretooluse:"hooks/pretooluse.mjs",posttooluse:"hooks/posttooluse.mjs",precompact:"hooks/precompact.mjs",sessionstart:"hooks/sessionstart.mjs",userpromptsubmit:"hooks/userpromptsubmit.mjs"}};async function jD(t,e){try{TD(2),PD(ID,"w")}catch{process.stderr.write=(()=>!0)}let r=zD[t]?.[e];r||process.exit(1);let n=Ei();await import(ND(gt(n,r)).href)}var sn=process.argv.slice(2);sn[0]==="doctor"?UD().then(t=>process.exit(t)):sn[0]==="upgrade"?HD():sn[0]==="hook"?jD(sn[1],sn[2]):sn[0]==="insight"?ZD(sn[1]?Number(sn[1]):4747):Promise.resolve().then(()=>(uw(),cw));function HB(t){return t.replace(/\\/g,"/")}var cu=process.platform==="win32";function $i(t,e={}){rg(cu?"npm.cmd":"npm",t,{...e,...cu?{shell:!0}:{}})}function DD(t,e={}){let{execSync:r}=sg("node:child_process");r(cu?t.replace(/^npm /,"npm.cmd "):t,{...e,...cu?{shell:!0}:{}})}function MD(){let t=AD(import.meta.url),e=ng(t);return e.endsWith("/build")||e.endsWith("\\build")||e.endsWith("/src")||e.endsWith("\\src")?Ne(e,".."):e}function LD(t){if(process.platform==="win32"){let e=process.env.LOCALAPPDATA;return e?Ne(e,t,"node_modules","context-mode"):Ne(og(),"AppData","Local",t,"node_modules","context-mode")}return Ne(og(),".cache",t,"node_modules","context-mode")}function Ei(){let t=dn().platform;return t==="opencode"||t==="kilo"?LD(t):MD()}function mw(){try{return JSON.parse(au(Ne(Ei(),"package.json"),"utf-8")).version??"unknown"}catch{return"unknown"}}async function FD(){return new Promise(t=>{let e=OD("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 UD(){process.stdout.isTTY&&console.clear();let t=dn(),e=await ds(t.platform);vu(T.default.bgMagenta(T.default.white(" context-mode doctor "))),I.info(`Platform: ${T.default.cyan(e.name)}`+T.default.dim(` (${t.confidence} confidence \u2014 ${t.reason})`));let r=0,n=bu();n.start("Running diagnostics");let o,s;try{o=Yn(),s=Di(o)}catch{return n.stop("Diagnostics partial"),I.warn(T.default.yellow("Could not detect runtimes")+T.default.dim(" \u2014 module may be missing, restart session after upgrade")),Ii(T.default.yellow("Doctor could not fully run \u2014 try again after restarting")),1}n.stop("Diagnostics complete"),Su(ji(o),"Runtimes"),Xn()?I.success(T.default.green("Performance: FAST")+" \u2014 Bun detected for JS/TS execution"):I.warn(T.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(T.default.red(`Language coverage: ${s.length}/${i} (${a}%)`)+" \u2014 too few runtimes detected"+T.default.dim(` \u2014 ${s.join(", ")||"none"}`))):I.info(`Language coverage: ${s.length}/${i} (${a}%)`+T.default.dim(` \u2014 ${s.join(", ")}`)),I.step("Testing server initialization...");try{let{PolyglotExecutor:h}=await Promise.resolve().then(()=>(Oh(),hk)),_=await new h({runtimes:o}).execute({language:"javascript",code:'console.log("ok");',timeout:5e3});if(_.exitCode===0&&_.stdout.trim()==="ok")I.success(T.default.green("Server test: PASS"));else{r++;let y=_.stderr?.trim()?` (${_.stderr.trim().slice(0,200)})`:"";I.error(T.default.red("Server test: FAIL")+` \u2014 exit ${_.exitCode}${y}`)}}catch(h){let g=h instanceof Error?h.message:String(h);g.includes("Cannot find module")||g.includes("MODULE_NOT_FOUND")?I.warn(T.default.yellow("Server test: SKIP")+T.default.dim(" \u2014 module not available (restart session after upgrade)")):(r++,I.error(T.default.red("Server test: FAIL")+` \u2014 ${g}`))}I.step(`Checking ${e.name} hooks configuration...`);let c=Ei(),u=e.validateHooks(c);for(let h of u)h.status==="pass"?I.success(T.default.green(`${h.check}: PASS`)+` \u2014 ${h.message}`):I.error(T.default.red(`${h.check}: FAIL`)+` \u2014 ${h.message}`+(h.fix?T.default.dim(`
732
+ Run: ${h.fix}`):""));I.step("Checking hook script...");let l=Ne(c,"hooks","pretooluse.mjs");try{dw(l,pw.R_OK),I.success(T.default.green("Hook script exists: PASS")+T.default.dim(` \u2014 ${l}`))}catch{I.error(T.default.red("Hook script exists: FAIL")+T.default.dim(` \u2014 not found at ${l}`))}I.step(`Checking ${e.name} plugin registration...`);let d=e.checkPluginRegistration();d.status==="pass"?I.success(T.default.green("Plugin enabled: PASS")+T.default.dim(` \u2014 ${d.message}`)):I.warn(T.default.yellow("Plugin enabled: WARN")+` \u2014 ${d.message}`),I.step("Checking FTS5 / SQLite...");try{let h=(await Promise.resolve().then(()=>(Si(),yk))).loadDatabase(),g=new h(":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(T.default.green("FTS5 / SQLite: PASS")+" \u2014 native module works"):(r++,I.error(T.default.red("FTS5 / SQLite: FAIL")+" \u2014 query returned unexpected result"))}catch(h){let g=h instanceof Error?h.message:String(h);g.includes("Cannot find module")||g.includes("MODULE_NOT_FOUND")?I.warn(T.default.yellow("FTS5 / better-sqlite3: SKIP")+T.default.dim(" \u2014 module not available (restart session after upgrade)")):(r++,I.error(T.default.red("FTS5 / better-sqlite3: FAIL")+` \u2014 ${g}`+T.default.dim(`
733
+ Try: npm rebuild better-sqlite3`)))}I.step("Checking versions...");let m=mw(),f=await FD(),p=e.getInstalledVersion();return f==="unknown"?I.warn(T.default.yellow("npm (MCP): WARN")+` \u2014 local v${m}, could not reach npm registry`):m===f?I.success(T.default.green("npm (MCP): PASS")+` \u2014 v${m}`):I.warn(T.default.yellow("npm (MCP): WARN")+` \u2014 local v${m}, latest v${f}`+T.default.dim(`
734
+ Run: /context-mode:ctx-upgrade`)),p==="not installed"?I.info(T.default.dim(`${e.name}: not installed`)+" \u2014 using standalone MCP mode"):f!=="unknown"&&p===f?I.success(T.default.green(`${e.name}: PASS`)+` \u2014 v${p}`):f!=="unknown"?I.warn(T.default.yellow(`${e.name}: WARN`)+` \u2014 v${p}, latest v${f}`+T.default.dim(`
735
+ Run: /context-mode:ctx-upgrade`)):I.info(`${e.name}: v${p}`+T.default.dim(" \u2014 could not verify against npm registry")),r>0?(Ii(T.default.red(`Diagnostics failed \u2014 ${r} critical issue(s) found`)),1):(Ii(s.length>=4?T.default.green("Diagnostics complete!"):T.default.yellow("Some checks need attention \u2014 see above for details")),0)}async function ZD(t){try{let{execSync:e,spawn:r}=await import("node:child_process"),{statSync:n,mkdirSync:o,cpSync:s}=await import("node:fs"),i=Ne(Ei(),"insight"),a=dn(),u=(await ds(a.platform)).getSessionDir(),l=gt(ng(u),"content"),d=gt(ng(u),"insight-cache");Cr(gt(i,"server.mjs"))||(console.error("Error: Insight source not found. Try upgrading context-mode."),process.exit(1)),o(d,{recursive:!0});let m=n(gt(i,"server.mjs")).mtimeMs,f=Cr(gt(d,"server.mjs"))?n(gt(d,"server.mjs")).mtimeMs:0;if(m>f&&(console.log("Copying Insight source..."),s(i,d,{recursive:!0,force:!0})),!Cr(gt(d,"node_modules"))){console.log("Installing dependencies (first run)...");try{DD("npm install --production=false",{cwd:d,stdio:"inherit",timeout:3e5})}catch{try{es(gt(d,"node_modules"),{recursive:!0,force:!0})}catch{}throw new Error("npm install failed \u2014 please retry")}if(!Cr(gt(d,"node_modules","vite"))||!Cr(gt(d,"node_modules","better-sqlite3")))throw es(gt(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(`
601
736
  context-mode Insight
602
737
  ${p}
603
- `);let f=r("node",[ft(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,x)=>{let k=_(`http://127.0.0.1:${t}/api/overview`,{timeout:3e3},T=>{y(),T.resume()});k.on("error",x),k.on("timeout",()=>{k.destroy(),x(new Error("timeout"))}),k.end()})}catch{console.error(`
738
+ `);let h=r("node",[gt(d,"server.mjs")],{cwd:d,env:{...process.env,PORT:String(t),INSIGHT_SESSION_DIR:u,INSIGHT_CONTENT_DIR:l},stdio:"inherit"});h.on("error",()=>{}),await new Promise(_=>setTimeout(_,1500));try{let{request:_}=await import("node:http");await new Promise((y,x)=>{let k=_(`http://127.0.0.1:${t}/api/overview`,{timeout:3e3},E=>{y(),E.resume()});k.on("error",x),k.on("timeout",()=>{k.destroy(),x(new Error("timeout"))}),k.end()})}catch{console.error(`
604
739
  Error: Port ${t} appears to be in use. Either a previous dashboard is still running, or another service is using this port.`),console.error(`
605
- 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(`
606
- Insight error: ${r}`),process.exit(1)}}async function $M(){process.stdout.isTTY&&console.clear();let t=ln(),e=await cs(t.platform);gu(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=vi(),n=[],o=yu();I.step("Pulling latest from GitHub...");let s=Qk(),i=ft(mM(),`context-mode-upgrade-${Date.now()}`);o.start("Cloning mksglu/context-mode");try{Yh("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(nu(Ae(d,"package.json"),"utf-8")).version??"unknown";if(h===s){I.success(E.default.green("Already on latest")+` \u2014 v${s}`),Yo(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"),xi(["install","--no-audit","--no-fund"],{cwd:d,stdio:"pipe",timeout:12e4}),xi(["run","build"],{cwd:d,stdio:"pipe",timeout:6e4}),o.stop("Built successfully"),o.start("Updating files in-place");let f=[...JSON.parse(nu(Ae(d,"package.json"),"utf-8")).files||[],"src","package.json"];for(let _ of f)try{Yo(Ae(r,_),{recursive:!0,force:!0}),Jk(Ae(d,_),Ae(r,_),{recursive:!0})}catch{}let g={mcpServers:{"context-mode":{command:"node",args:[Ae(r,"start.mjs")]}}};if(cM(Ae(r,".mcp.json"),JSON.stringify(g,null,2)+`
607
- `),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"),xi(["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{xi(["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(`
608
- Try manually: cd "${r}" && npm rebuild better-sqlite3`))}}o.start("Updating npm global package");try{xi(["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"))}Yo(i,{recursive:!0,force:!0});try{let _=Ae(Qh(),".claude","plugins","installed_plugins.json");if(Rr(_)){let x=JSON.parse(nu(_,"utf-8"))?.plugins?.["context-mode@context-mode"];if(Array.isArray(x))for(let k of x){let T=k.installPath;if(T&&T!==r&&Rr(T)){let J=Ae(d,"skills");Rr(J)&&(Jk(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{Yo(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{Yk(m,Xk.F_OK),dM(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?_u(n.map(d=>E.default.green(" + ")+d).join(`
609
- `),"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=Rr(d)?d:m;Yh("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{xM as npmExec,xi as npmExecFile,_B as toUnixPath};
740
+ 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}`),h.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",()=>{h.kill(),process.exit(0)}),process.on("SIGTERM",()=>{h.kill(),process.exit(0)})}catch(e){let r=e instanceof Error?e.message:String(e);console.error(`
741
+ Insight error: ${r}`),process.exit(1)}}async function HD(){process.stdout.isTTY&&console.clear();let t=dn(),e=await ds(t.platform);vu(T.default.bgCyan(T.default.black(" context-mode upgrade "))),I.info(`Platform: ${T.default.cyan(e.name)}`+T.default.dim(` (${t.confidence} confidence)`));let r=Ei(),n=[],o=bu();I.step("Pulling latest from GitHub...");let s=mw(),i=gt(CD(),`context-mode-upgrade-${Date.now()}`);o.start("Cloning mksglu/context-mode");try{rg("git",["clone","--depth","1","https://github.com/mksglu/context-mode.git",i],{stdio:"pipe",timeout:3e4}),o.stop("Downloaded");let d=i,f=JSON.parse(au(Ne(d,"package.json"),"utf-8")).version??"unknown";if(f===s){I.success(T.default.green("Already on latest")+` \u2014 v${s}`),es(i,{recursive:!0,force:!0});return}else I.info(`Update available: ${T.default.yellow("v"+s)} \u2192 ${T.default.green("v"+f)}`);o.start("Installing dependencies & building"),$i(["install","--no-audit","--no-fund"],{cwd:d,stdio:"pipe",timeout:12e4}),$i(["run","build"],{cwd:d,stdio:"pipe",timeout:6e4}),o.stop("Built successfully"),o.start("Updating files in-place");let h=[...JSON.parse(au(Ne(d,"package.json"),"utf-8")).files||[],"src","package.json"];for(let _ of h)try{es(Ne(r,_),{recursive:!0,force:!0}),lw(Ne(d,_),Ne(r,_),{recursive:!0})}catch{}let g={mcpServers:{"context-mode":{command:"node",args:[Ne(r,"start.mjs")]}}};if(ED(Ne(r,".mcp.json"),JSON.stringify(g,null,2)+`
742
+ `),o.stop(T.default.green(`Updated in-place to v${f}`)),e.updatePluginRegistry(r,f),I.info(T.default.dim(" Registry synced to "+r)),o.start("Installing production dependencies"),$i(["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{$i(["rebuild","better-sqlite3"],{cwd:r,stdio:"pipe",timeout:6e4}),o.stop(T.default.green("Native addons rebuilt")),n.push("Rebuilt better-sqlite3 for current Node.js")}catch(_){let y=_ instanceof Error?_.message:String(_);o.stop(T.default.yellow("Native addon rebuild warning")),I.warn(T.default.yellow("better-sqlite3 rebuild issue")+` \u2014 ${y}`+T.default.dim(`
743
+ Try manually: cd "${r}" && npm rebuild better-sqlite3`))}}o.start("Updating npm global package");try{$i(["install","-g",r,"--no-audit","--no-fund"],{stdio:"pipe",timeout:3e4}),o.stop(T.default.green("npm global updated")),n.push("Updated npm global package")}catch{o.stop(T.default.yellow("npm global update skipped")),I.info(T.default.dim(" Could not update global npm \u2014 may need sudo or standalone install"))}es(i,{recursive:!0,force:!0});try{let _=Ne(og(),".claude","plugins","installed_plugins.json");if(Cr(_)){let x=JSON.parse(au(_,"utf-8"))?.plugins?.["context-mode@context-mode"];if(Array.isArray(x))for(let k of x){let E=k.installPath;if(E&&E!==r&&Cr(E)){let B=Ne(d,"skills");Cr(B)&&(lw(B,Ne(E,"skills"),{recursive:!0}),n.push("Synced skills to active install path"))}}}}catch{}n.push(f!==s?`Updated v${s} \u2192 v${f}`:`Reinstalled v${s} from GitHub`),I.success(T.default.green("Plugin reinstalled from GitHub!")+T.default.dim(` \u2014 v${f}`))}catch(d){let m=d instanceof Error?d.message:String(d);o.stop(T.default.red("Update failed")),I.error(T.default.red("GitHub pull failed")+` \u2014 ${m}`),I.info(T.default.dim("Continuing with hooks/settings fix..."));try{es(i,{recursive:!0,force:!0})}catch{}}I.step(`Backing up ${e.name} settings...`);let a=e.backupSettings();a?.endsWith(".bak")?(I.success(T.default.green("Backup created")+T.default.dim(" -> "+a)),n.push("Backed up settings")):a?I.success(T.default.green("Backup skipped")+T.default.dim(" \u2014 no changes needed")):I.warn(T.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(T.default.dim(` ${d}`)),n.push(d);I.success(T.default.green("Hooks configured")+T.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=Ne(r,d);try{dw(m,pw.F_OK),RD(m,493),u.push(m)}catch{}}u.length>0?(I.success(T.default.green("Permissions set")+T.default.dim(` \u2014 ${u.length} hook script(s)`)),n.push(`Set ${u.length} hook scripts as executable`)):I.error(T.default.red("No hook scripts found")+T.default.dim(" \u2014 expected in "+Ne(r,"hooks"))),n.length>0?Su(n.map(d=>T.default.green(" + ")+d).join(`
744
+ `),"Changes Applied"):I.info(T.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(T.default.yellow("Restart for new MCP tools to take effect.")+T.default.dim(` (${l})`)),I.step("Running doctor to verify..."),console.log();try{let d=Ne(r,"cli.bundle.mjs"),m=Ne(r,"build","cli.js"),f=Cr(d)?d:m;rg("node",[f,"doctor"],{stdio:"inherit",timeout:3e4,cwd:r})}catch{I.warn(T.default.yellow("Doctor had warnings")+T.default.dim(` \u2014 restart your ${e.name} session to pick up the new version`))}}export{DD as npmExec,$i as npmExecFile,HB as toUnixPath};